Conflicts:
	README.txt
	SQL/tgstation_schema.sql
	baystation12.dme
	code/ATMOSPHERICS/components/unary/vent_pump.dm
	code/ATMOSPHERICS/pipes.dm
	code/FEA/FEA_airgroup.dm
	code/FEA/FEA_fire.dm
	code/FEA/FEA_gas_mixture.dm
	code/FEA/FEA_turf_tile.dm
	code/TriDimension/Pipes.dm
	code/WorkInProgress/buildmode.dm
	code/WorkInProgress/organs/organs.dm
	code/WorkInProgress/virus2/Disease2/analyser.dm
	code/WorkInProgress/virus2/Disease2/biohazard destroyer.dm
	code/WorkInProgress/virus2/Disease2/cureimplanter.dm
	code/WorkInProgress/virus2/Disease2/diseasesplicer.dm
	code/WorkInProgress/virus2/Disease2/dishincubator.dm
	code/WorkInProgress/virus2/Disease2/isolator.dm
	code/WorkInProgress/virus2/Disease2/monkeydispensor.dm
	code/WorkInProgress/virus2/analyser.dm
	code/WorkInProgress/virus2/antibodies.dm
	code/WorkInProgress/virus2/base.dm
	code/WorkInProgress/virus2/biohazard destroyer.dm
	code/WorkInProgress/virus2/cureimplanter.dm
	code/WorkInProgress/virus2/curer.dm
	code/WorkInProgress/virus2/diseasesplicer.dm
	code/WorkInProgress/virus2/dishincubator.dm
	code/WorkInProgress/virus2/isolator.dm
	code/WorkInProgress/virus2/monkeydispensor.dm
	code/datums/ai_laws.dm
	code/datums/configuration.dm
	code/datums/datumvars.dm
	code/datums/diseases/alien_embryo.dm
	code/datums/diseases/appendicitis.dm
	code/datums/diseases/robotic_transformation.dm
	code/datums/diseases/xeno_transformation.dm
	code/datums/helper_datums/getrev.dm
	code/datums/helper_datums/teleport.dm
	code/datums/helper_datums/tension.dm
	code/datums/mind.dm
	code/datums/mixed.dm
	code/datums/shuttle_controller.dm
	code/datums/spell.dm
	code/datums/spells/ethereal_jaunt.dm
	code/datums/spells/genetic.dm
	code/datums/spells/wizard.dm
	code/defines/area/Space Station 13 areas.dm
	code/defines/atom.dm
	code/defines/global.dm
	code/defines/mob/dead/observer.dm
	code/defines/mob/living/carbon/alien.dm
	code/defines/mob/living/carbon/alien_humanoid.dm
	code/defines/mob/living/carbon/carbon.dm
	code/defines/mob/living/carbon/metroid.dm
	code/defines/mob/living/carbon/monkey.dm
	code/defines/mob/living/living.dm
	code/defines/mob/living/silicon/ai.dm
	code/defines/mob/living/silicon/robot.dm
	code/defines/obj.dm
	code/defines/obj/closet.dm
	code/defines/obj/clothing.dm
	code/defines/obj/clothing/costume.dm
	code/defines/obj/computer.dm
	code/defines/obj/costume.dm
	code/defines/obj/decal.dm
	code/defines/obj/door.dm
	code/defines/obj/hydro.dm
	code/defines/obj/machinery.dm
	code/defines/obj/storage.dm
	code/defines/obj/supplypacks.dm
	code/defines/obj/toy.dm
	code/defines/obj/vending.dm
	code/defines/obj/weapon.dm
	code/defines/procs/AStar.dm
	code/defines/procs/command_name.dm
	code/defines/procs/dbcore.dm
	code/defines/procs/forum_activation.dm
	code/defines/procs/gamehelpers.dm
	code/defines/procs/helpers.dm
	code/defines/procs/icon_procs.dm
	code/defines/procs/station_name.dm
	code/defines/procs/statistics.dm
	code/defines/turf.dm
	code/game/algorithm.dm
	code/game/area/areas.dm
	code/game/asteroid/artifacts.dm
	code/game/atom_procs.dm
	code/game/cellautomata.dm
	code/game/dna.dm
	code/game/events/EventProcs/clang.dm
	code/game/events/EventProcs/dust.dm
	code/game/events/EventProcs/ninja_abilities.dm
	code/game/events/EventProcs/ninja_equipment.dm
	code/game/events/EventProcs/space_ninja.dm
	code/game/events/EventProcs/spacevines.dm
	code/game/gamemodes/blob/blob.dm
	code/game/gamemodes/blob/blob_finish.dm
	code/game/gamemodes/blob/blob_report.dm
	code/game/gamemodes/blob/theblob.dm
	code/game/gamemodes/changeling/changeling.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/changeling/modularchangling.dm
	code/game/gamemodes/changeling/traitor_chan.dm
	code/game/gamemodes/cult/cult.dm
	code/game/gamemodes/cult/cult_items.dm
	code/game/gamemodes/cult/cult_structures.dm
	code/game/gamemodes/events.dm
	code/game/gamemodes/events/black_hole.dm
	code/game/gamemodes/events/miniblob.dm
	code/game/gamemodes/factions.dm
	code/game/gamemodes/game_mode.dm
	code/game/gamemodes/gameticker.dm
	code/game/gamemodes/malfunction/malfunction.dm
	code/game/gamemodes/meteor/meteor.dm
	code/game/gamemodes/meteor/meteors.dm
	code/game/gamemodes/nuclear/nuclear.dm
	code/game/gamemodes/nuclear/nuclearbomb.dm
	code/game/gamemodes/nuclear/pinpointer.dm
	code/game/gamemodes/objective.dm
	code/game/gamemodes/revolution/revolution.dm
	code/game/gamemodes/sandbox/h_sandbox.dm
	code/game/gamemodes/sandbox/sandbox.dm
	code/game/gamemodes/setupgame.dm
	code/game/gamemodes/traitor/traitor.dm
	code/game/gamemodes/wizard/rightandwrong.dm
	code/game/gamemodes/wizard/soulstone.dm
	code/game/gamemodes/wizard/spellbook.dm
	code/game/gamemodes/wizard/spells.dm
	code/game/gamemodes/wizard/veilrender.dm
	code/game/gamemodes/wizard/wizard.dm
	code/game/hud.dm
	code/game/jobs/access.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/civilian.dm
	code/game/jobs/job/civilian_chaplain.dm
	code/game/jobs/job/engineering.dm
	code/game/jobs/job/job.dm
	code/game/jobs/job/medical.dm
	code/game/jobs/job/science.dm
	code/game/jobs/job/security.dm
	code/game/jobs/job/silicon.dm
	code/game/jobs/job_controller.dm
	code/game/jobs/jobs.dm
	code/game/machinery/Beacon.dm
	code/game/machinery/OpTable.dm
	code/game/machinery/Sleeper.dm
	code/game/machinery/alarm.dm
	code/game/machinery/atmo_control.dm
	code/game/machinery/atmoalter/area_atmos_computer.dm
	code/game/machinery/autolathe.dm
	code/game/machinery/biogenerator.dm
	code/game/machinery/bots/bots.dm
	code/game/machinery/bots/cleanbot.dm
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/bots/floorbot.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/bots/mulebot.dm
	code/game/machinery/camera.dm
	code/game/machinery/cell_charger.dm
	code/game/machinery/cloning.dm
	code/game/machinery/computer/HolodeckControl.dm
	code/game/machinery/computer/Operating.dm
	code/game/machinery/computer/ai_core.dm
	code/game/machinery/computer/arcade.dm
	code/game/machinery/computer/atmos_alert.dm
	code/game/machinery/computer/buildandrepair.dm
	code/game/machinery/computer/card.dm
	code/game/machinery/computer/cloning.dm
	code/game/machinery/computer/communications.dm
	code/game/machinery/computer/computer.dm
	code/game/machinery/computer/crew.dm
	code/game/machinery/computer/hologram.dm
	code/game/machinery/computer/law.dm
	code/game/machinery/computer/medical.dm
	code/game/machinery/computer/message.dm
	code/game/machinery/computer/pod.dm
	code/game/machinery/computer/power.dm
	code/game/machinery/computer/prisoner.dm
	code/game/machinery/computer/robot.dm
	code/game/machinery/computer/security.dm
	code/game/machinery/computer/shuttle.dm
	code/game/machinery/constructable_frame.dm
	code/game/machinery/deployable.dm
	code/game/machinery/door_control.dm
	code/game/machinery/doors/airlock.dm
	code/game/machinery/doors/airlock_electronics.dm
	code/game/machinery/doors/brigdoors.dm
	code/game/machinery/doors/door.dm
	code/game/machinery/doors/firedoor.dm
	code/game/machinery/doors/poddoor.dm
	code/game/machinery/doors/unpowered.dm
	code/game/machinery/doors/windowdoor.dm
	code/game/machinery/flasher.dm
	code/game/machinery/gateway.dm
	code/game/machinery/hologram.dm
	code/game/machinery/hydroponics.dm
	code/game/machinery/kitchen/gibber.dm
	code/game/machinery/morgue.dm
	code/game/machinery/newscaster.dm
	code/game/machinery/pipe/construction.dm
	code/game/machinery/pipe/pipe_dispenser.dm
	code/game/machinery/portable_turret.dm
	code/game/machinery/recharger.dm
	code/game/machinery/rechargestation.dm
	code/game/machinery/requests_console.dm
	code/game/machinery/shieldgen.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/suit_storage_unit.dm
	code/game/machinery/syndicatebeacon.dm
	code/game/machinery/telecomms/broadcaster.dm
	code/game/machinery/telecomms/logbrowser.dm
	code/game/machinery/telecomms/machine_interactions.dm
	code/game/machinery/telecomms/telemonitor.dm
	code/game/machinery/telecomms/traffic_control.dm
	code/game/machinery/teleporter.dm
	code/game/machinery/turrets.dm
	code/game/machinery/vending.dm
	code/game/magic/cultist/ritual.dm
	code/game/magic/cultist/runes.dm
	code/game/magic/library.dm
	code/game/magic/musician.dm
	code/game/master_controller.dm
	code/game/mecha/combat/combat.dm
	code/game/mecha/combat/gygax.dm
	code/game/mecha/equipment/mecha_equipment.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/mecha/equipment/weapons/weapons.dm
	code/game/mecha/mech_fabricator.dm
	code/game/mecha/mecha.dm
	code/game/mecha/mecha_construction_paths.dm
	code/game/mecha/mecha_wreckage.dm
	code/game/mecha/medical/medical.dm
	code/game/mecha/medical/odysseus.dm
	code/game/mecha/working/ripley.dm
	code/game/objects/alien/facehugger.dm
	code/game/objects/alien/resin.dm
	code/game/objects/bodybag.dm
	code/game/objects/closets.dm
	code/game/objects/closets/emergency.dm
	code/game/objects/closets/extinguisher.dm
	code/game/objects/closets/fireaxe.dm
	code/game/objects/closets/firecloset.dm
	code/game/objects/closets/fitnesscloset.dm
	code/game/objects/closets/janitor.dm
	code/game/objects/closets/kitchen.dm
	code/game/objects/closets/nuclear.dm
	code/game/objects/closets/secure/bar.dm
	code/game/objects/closets/secure/cargo.dm
	code/game/objects/closets/secure/engineering.dm
	code/game/objects/closets/secure/hydroponics.dm
	code/game/objects/closets/secure/medical.dm
	code/game/objects/closets/secure/personal.dm
	code/game/objects/closets/secure/scientist.dm
	code/game/objects/closets/secure/secure_closets.dm
	code/game/objects/closets/secure/security.dm
	code/game/objects/closets/syndicate.dm
	code/game/objects/closets/wardrobe.dm
	code/game/objects/contraband.dm
	code/game/objects/crates.dm
	code/game/objects/devices/PDA/PDA.dm
	code/game/objects/devices/PDA/cart.dm
	code/game/objects/devices/PDA/chatroom.dm
	code/game/objects/devices/aicard.dm
	code/game/objects/devices/flash.dm
	code/game/objects/devices/flashlight.dm
	code/game/objects/devices/paicard.dm
	code/game/objects/devices/scanners.dm
	code/game/objects/devices/taperecorder.dm
	code/game/objects/devices/traitordevices.dm
	code/game/objects/door_assembly.dm
	code/game/objects/effect_system.dm
	code/game/objects/electricchair.dm
	code/game/objects/explosion.dm
	code/game/objects/gibs.dm
	code/game/objects/grille.dm
	code/game/objects/items.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/candle.dm
	code/game/objects/items/clothing.dm
	code/game/objects/items/food.dm
	code/game/objects/items/helper_procs.dm
	code/game/objects/items/item.dm
	code/game/objects/items/robot_items.dm
	code/game/objects/items/robot_parts.dm
	code/game/objects/items/tk_grab.dm
	code/game/objects/items/weapons/AI_modules.dm
	code/game/objects/items/weapons/RCD.dm
	code/game/objects/items/weapons/RSF.dm
	code/game/objects/items/weapons/cameras.dm
	code/game/objects/items/weapons/cards_ids.dm
	code/game/objects/items/weapons/cigs_lighters.dm
	code/game/objects/items/weapons/clown_items.dm
	code/game/objects/items/weapons/dna_injector.dm
	code/game/objects/items/weapons/explosives.dm
	code/game/objects/items/weapons/flamethrower.dm
	code/game/objects/items/weapons/grenades.dm
	code/game/objects/items/weapons/hand_lablers.dm
	code/game/objects/items/weapons/hydroponics.dm
	code/game/objects/items/weapons/implants/implant.dm
	code/game/objects/items/weapons/implants/implantcase.dm
	code/game/objects/items/weapons/implants/implantchair.dm
	code/game/objects/items/weapons/implants/implanter.dm
	code/game/objects/items/weapons/implants/implantfreedom.dm
	code/game/objects/items/weapons/implants/implantnanoaug.dm
	code/game/objects/items/weapons/implants/implantpad.dm
	code/game/objects/items/weapons/kitchen.dm
	code/game/objects/items/weapons/manuals.dm
	code/game/objects/items/weapons/medical.dm
	code/game/objects/items/weapons/mops_cleaners.dm
	code/game/objects/items/weapons/papers_bins.dm
	code/game/objects/items/weapons/stunbaton.dm
	code/game/objects/items/weapons/surgery_tools.dm
	code/game/objects/items/weapons/swords_axes_etc.dm
	code/game/objects/items/weapons/table_rack_parts.dm
	code/game/objects/items/weapons/tools.dm
	code/game/objects/items/weapons/twohanded.dm
	code/game/objects/items/weapons/wrappingpaper.dm
	code/game/objects/mineral_doors.dm
	code/game/objects/radio/beacon.dm
	code/game/objects/radio/electropack.dm
	code/game/objects/radio/encryptionkey.dm
	code/game/objects/radio/headset.dm
	code/game/objects/radio/intercom.dm
	code/game/objects/radio/radio.dm
	code/game/objects/secstorage/sbriefcase.dm
	code/game/objects/secstorage/ssafe.dm
	code/game/objects/stacks/glass.dm
	code/game/objects/stacks/metal.dm
	code/game/objects/stacks/stack.dm
	code/game/objects/stacks/wood.dm
	code/game/objects/stool.dm
	code/game/objects/storage/backpack.dm
	code/game/objects/storage/belt.dm
	code/game/objects/storage/bible.dm
	code/game/objects/storage/briefcase.dm
	code/game/objects/storage/lockbox.dm
	code/game/objects/storage/storage.dm
	code/game/objects/storage/uplink_kits.dm
	code/game/objects/structures.dm
	code/game/objects/tables_racks.dm
	code/game/objects/tank.dm
	code/game/objects/tanks/emergency.dm
	code/game/objects/tanks/jetpack.dm
	code/game/objects/toys.dm
	code/game/objects/transfer_valve.dm
	code/game/objects/uplinks.dm
	code/game/objects/watercloset.dm
	code/game/objects/weapons.dm
	code/game/objects/windoor_assembly.dm
	code/game/objects/window.dm
	code/game/prisonshuttle.dm
	code/game/smoothwall.dm
	code/game/sound.dm
	code/game/step_triggers.dm
	code/game/structure/structure.dm
	code/game/supplyshuttle.dm
	code/game/throwing.dm
	code/game/topic.dm
	code/game/turf.dm
	code/game/vehicles/airtight/airtight.dm
	code/game/vehicles/airtight/land.dm
	code/game/vehicles/airtight/space.dm
	code/game/vehicles/vehicle.dm
	code/game/verbs/ooc.dm
	code/game/verbs/sound.dm
	code/game/verbs/suicide.dm
	code/game/verbs/who.dm
	code/game/vote.dm
	code/modules/admin/IsBanned.dm
	code/modules/admin/NewBan.dm
	code/modules/admin/admin.dm
	code/modules/admin/admin_investigate.dm
	code/modules/admin/admin_memo.dm
	code/modules/admin/admin_verbs.dm
	code/modules/admin/banjob.dm
	code/modules/admin/create_mob.dm
	code/modules/admin/create_object.dm
	code/modules/admin/create_turf.dm
	code/modules/admin/player_panel.dm
	code/modules/admin/verbs/MC.dm
	code/modules/admin/verbs/adminhelp.dm
	code/modules/admin/verbs/adminjump.dm
	code/modules/admin/verbs/adminpm.dm
	code/modules/admin/verbs/adminsay.dm
	code/modules/admin/verbs/atmosdebug.dm
	code/modules/admin/verbs/cinematic.dm
	code/modules/admin/verbs/deadsay.dm
	code/modules/admin/verbs/debug.dm
	code/modules/admin/verbs/diagnostics.dm
	code/modules/admin/verbs/getlogs.dm
	code/modules/admin/verbs/mapping.dm
	code/modules/admin/verbs/massmodvar.dm
	code/modules/admin/verbs/modifyvariables.dm
	code/modules/admin/verbs/onlyone.dm
	code/modules/admin/verbs/playsound.dm
	code/modules/admin/verbs/possess.dm
	code/modules/admin/verbs/pray.dm
	code/modules/admin/verbs/randomverbs.dm
	code/modules/admin/verbs/striketeam.dm
	code/modules/admin/verbs/striketeam_syndicate.dm
	code/modules/assembly/assembly.dm
	code/modules/assembly/signaler.dm
	code/modules/chemical/Chemistry-Machinery.dm
	code/modules/chemical/Chemistry-Tools.dm
	code/modules/client/client defines.dm
	code/modules/client/client procs.dm
	code/modules/clothing/costume.dm
	code/modules/clothing/gimmick.dm
	code/modules/clothing/glasses.dm
	code/modules/clothing/glasses/glasses.dm
	code/modules/clothing/glasses/hud.dm
	code/modules/clothing/gloves.dm
	code/modules/clothing/head/hardhat.dm
	code/modules/clothing/jumpsuit.dm
	code/modules/clothing/mask.dm
	code/modules/clothing/shoes.dm
	code/modules/clothing/spacesuit.dm
	code/modules/clothing/spacesuits/captain.dm
	code/modules/clothing/spacesuits/miscellaneous.dm
	code/modules/clothing/spacesuits/ninja.dm
	code/modules/clothing/spacesuits/rig.dm
	code/modules/clothing/spacesuits/syndi.dm
	code/modules/clothing/spacesuits/void.dm
	code/modules/clothing/suit.dm
	code/modules/clothing/suits/armor.dm
	code/modules/clothing/suits/bio.dm
	code/modules/clothing/suits/bomb.dm
	code/modules/clothing/suits/detective.dm
	code/modules/clothing/suits/fire.dm
	code/modules/clothing/suits/heavy.dm
	code/modules/clothing/suits/hos.dm
	code/modules/clothing/suits/labcoat.dm
	code/modules/clothing/suits/miscellaneous.dm
	code/modules/clothing/suits/wiz_robe.dm
	code/modules/clothing/uniforms/lawyer.dm
	code/modules/critters/critter.dm
	code/modules/critters/critter_AI.dm
	code/modules/critters/critters.dm
	code/modules/critters/hivebots/hivebot.dm
	code/modules/flufftext/Dreaming.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/flufftext/TextFilters.dm
	code/modules/food/food.dm
	code/modules/food/meat.dm
	code/modules/food/recipes_microwave.dm
	code/modules/maps/SwapMaps.dm
	code/modules/maps/dmm_suite.dm
	code/modules/maps/fromdmp.dm
	code/modules/maps/randomZlevel.dm
	code/modules/maps/reader.dm
	code/modules/maps/writer.dm
	code/modules/mining/machine_processing.dm
	code/modules/mining/machine_stacking.dm
	code/modules/mining/machine_unloading.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mining/mint.dm
	code/modules/mining/ores_materials_coins.dm
	code/modules/mining/satchel_ore_boxdm.dm
	code/modules/mob/dead/death.dm
	code/modules/mob/dead/observer/observer.dm
	code/modules/mob/death.dm
	code/modules/mob/living/blob/blob.dm
	code/modules/mob/living/carbon/alien/alien.dm
	code/modules/mob/living/carbon/alien/death.dm
	code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
	code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
	code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
	code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm
	code/modules/mob/living/carbon/alien/humanoid/death.dm
	code/modules/mob/living/carbon/alien/humanoid/hud.dm
	code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
	code/modules/mob/living/carbon/alien/humanoid/life.dm
	code/modules/mob/living/carbon/alien/humanoid/login.dm
	code/modules/mob/living/carbon/alien/humanoid/queen.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/alien/larva/hud.dm
	code/modules/mob/living/carbon/alien/larva/larva.dm
	code/modules/mob/living/carbon/alien/larva/life.dm
	code/modules/mob/living/carbon/alien/larva/login.dm
	code/modules/mob/living/carbon/alien/larva/powers.dm
	code/modules/mob/living/carbon/alien/special/_main.dm
	code/modules/mob/living/carbon/alien/special/snakeman.dm
	code/modules/mob/living/carbon/brain/MMI.dm
	code/modules/mob/living/carbon/brain/brain.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/brain/hud.dm
	code/modules/mob/living/carbon/brain/life.dm
	code/modules/mob/living/carbon/brain/say.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/emote.dm
	code/modules/mob/living/carbon/human/examine.dm
	code/modules/mob/living/carbon/human/hud.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_attackalien.dm
	code/modules/mob/living/carbon/human/human_attackhand.dm
	code/modules/mob/living/carbon/human/human_damage.dm
	code/modules/mob/living/carbon/human/human_defense.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/login.dm
	code/modules/mob/living/carbon/human/say.dm
	code/modules/mob/living/carbon/human/whisper.dm
	code/modules/mob/living/carbon/metroid/death.dm
	code/modules/mob/living/carbon/metroid/examine.dm
	code/modules/mob/living/carbon/metroid/life.dm
	code/modules/mob/living/carbon/metroid/login.dm
	code/modules/mob/living/carbon/metroid/metroid.dm
	code/modules/mob/living/carbon/metroid/powers.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/carbon/monkey/examine.dm
	code/modules/mob/living/carbon/monkey/hud.dm
	code/modules/mob/living/carbon/monkey/life.dm
	code/modules/mob/living/carbon/monkey/login.dm
	code/modules/mob/living/carbon/monkey/monkey.dm
	code/modules/mob/living/carbon/monkey/powers.dm
	code/modules/mob/living/damage_procs.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/login.dm
	code/modules/mob/living/say.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/examine.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/ai/login.dm
	code/modules/mob/living/silicon/ai/move.dm
	code/modules/mob/living/silicon/death.dm
	code/modules/mob/living/silicon/decoy/death.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/pai/hud.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/mob/living/silicon/pai/recruit.dm
	code/modules/mob/living/silicon/pai/software.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/emote.dm
	code/modules/mob/living/silicon/robot/examine.dm
	code/modules/mob/living/silicon/robot/hud.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/silicon/robot/login.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/robot/robot_modules.dm
	code/modules/mob/living/silicon/robot/say.dm
	code/modules/mob/living/silicon/robot/wires.dm
	code/modules/mob/living/silicon/say.dm
	code/modules/mob/living/simple_animal/life.dm
	code/modules/mob/login.dm
	code/modules/mob/logout.dm
	code/modules/mob/mob.dm
	code/modules/mob/mob_cleanup.dm
	code/modules/mob/mob_defines.dm
	code/modules/mob/mob_grab.dm
	code/modules/mob/mob_helpers.dm
	code/modules/mob/mob_movement.dm
	code/modules/mob/mob_transformation_simple.dm
	code/modules/mob/new_player/login.dm
	code/modules/mob/new_player/new_player.dm
	code/modules/mob/new_player/preferences.dm
	code/modules/mob/new_player/preferences_setup.dm
	code/modules/mob/new_player/savefile.dm
	code/modules/mob/new_player/sprite_accessories.dm
	code/modules/mob/organ/organ.dm
	code/modules/mob/organ/organ_external.dm
	code/modules/mob/organ/pain.dm
	code/modules/mob/say.dm
	code/modules/mob/screen.dm
	code/modules/mob/simple_animal/crab.dm
	code/modules/mob/transform_procs.dm
	code/modules/paperwork/clipboard.dm
	code/modules/paperwork/filingcabinet.dm
	code/modules/paperwork/folders.dm
	code/modules/paperwork/handlabeler.dm
	code/modules/paperwork/paper.dm
	code/modules/paperwork/paperbin.dm
	code/modules/paperwork/pen.dm
	code/modules/paperwork/photocopier.dm
	code/modules/paperwork/stamps.dm
	code/modules/power/antimatter/computer.dm
	code/modules/power/antimatter/engine.dm
	code/modules/power/antimatter/fuel.dm
	code/modules/power/apc.dm
	code/modules/power/cable.dm
	code/modules/power/cable_heavyduty.dm
	code/modules/power/cell.dm
	code/modules/power/generator.dm
	code/modules/power/generator_type2.dm
	code/modules/power/gravitygenerator.dm
	code/modules/power/lighting.dm
	code/modules/power/port_gen.dm
	code/modules/power/sd_DynamicAreaLighting.dm
	code/modules/power/singularity/collector.dm
	code/modules/power/singularity/containment_field.dm
	code/modules/power/singularity/emitter.dm
	code/modules/power/singularity/field_generator.dm
	code/modules/power/singularity/generator.dm
	code/modules/power/singularity/investigate.dm
	code/modules/power/singularity/particle_accelerator/particle.dm
	code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
	code/modules/power/singularity/particle_accelerator/particle_chamber.dm
	code/modules/power/singularity/particle_accelerator/particle_control.dm
	code/modules/power/singularity/particle_accelerator/particle_emitter.dm
	code/modules/power/singularity/particle_accelerator/particle_power.dm
	code/modules/power/singularity/singularity.dm
	code/modules/power/smes.dm
	code/modules/power/solar.dm
	code/modules/power/switch.dm
	code/modules/power/turbine.dm
	code/modules/projectiles/ammunition.dm
	code/modules/projectiles/gun.dm
	code/modules/projectiles/guns/energy.dm
	code/modules/projectiles/guns/energy/laser.dm
	code/modules/projectiles/guns/energy/nuclear.dm
	code/modules/projectiles/guns/energy/pulse.dm
	code/modules/projectiles/guns/energy/special.dm
	code/modules/projectiles/guns/energy/stun.dm
	code/modules/projectiles/guns/projectile.dm
	code/modules/projectiles/guns/projectile/pistol.dm
	code/modules/projectiles/guns/projectile/revolver.dm
	code/modules/projectiles/guns/projectile/shotgun.dm
	code/modules/projectiles/projectile.dm
	code/modules/projectiles/projectile/beams.dm
	code/modules/projectiles/projectile/bullets.dm
	code/modules/projectiles/projectile/change.dm
	code/modules/projectiles/projectile/special.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/reagents/Chemistry-Recipes.dm
	code/modules/recycling/conveyor2.dm
	code/modules/recycling/disposal-construction.dm
	code/modules/recycling/disposal.dm
	code/modules/recycling/sortingmachinery.dm
	code/modules/research/designs.dm
	code/modules/research/destructive_analyzer.dm
	code/modules/research/message_server.dm
	code/modules/research/protolathe.dm
	code/modules/research/rdconsole.dm
	code/modules/research/rdmachines.dm
	code/modules/research/research.dm
	code/modules/research/server.dm
	code/modules/scripting/AST/Operators/Binary Operators.dm
	code/modules/scripting/Implementations/Telecomms.dm
	code/modules/scripting/Parser/Keywords.dm
	code/modules/scripting/Scanner/Tokens.dm
	code/modules/scripting/stack.dm
	code/modules/security levels/keycard authentication.dm
	code/modules/security levels/security levels.dm
	code/setup.dm
	code/stylesheet.dm
	code/unused/AI_Visibility.dm
	code/unused/Ultralight.dm
	code/unused/airtunnel.dm
	code/unused/beast/bodypart.dm
	code/unused/conveyor.dm
	code/unused/disease2/analyser.dm
	code/unused/disease2/base.dm
	code/unused/disease2/biohazard destroyer.dm
	code/unused/disease2/cureimplanter.dm
	code/unused/disease2/curer.dm
	code/unused/disease2/diseasesplicer.dm
	code/unused/disease2/dishincubator.dm
	code/unused/disease2/isolator.dm
	code/unused/disease2/monkeydispensor.dm
	code/unused/dna.dm
	code/unused/gamemodes/deathmatch.dm
	code/unused/jobs.dm
	code/unused/mining/datum_processing_recipe.dm
	code/unused/mining/spaceship_builder_unused.dm
	code/unused/new_year.dm
	code/unused/spacecraft/manufacturing.dm
	code/unused/spacecraft/shipcore.dm
	config/README feedback.txt
	config/admins.txt
	config/config.txt
	config/rules.html
	data/mode.txt
	html/add-to-changelog.html
	html/archivedchangelog.html
	html/changelog.css
	html/changelog.html
	html/changelog.js
	icons/effects/blood.dmi
	icons/effects/genetics.dmi
	icons/misc/fullscreen.dmi
	icons/mob/AI.dmi
	icons/mob/alien.dmi
	icons/mob/animal.dmi
	icons/mob/back.dmi
	icons/mob/belt.dmi
	icons/mob/blob.dmi
	icons/mob/critter.dmi
	icons/mob/dam_human.dmi
	icons/mob/eyes.dmi
	icons/mob/feet.dmi
	icons/mob/hands.dmi
	icons/mob/head.dmi
	icons/mob/human.dmi
	icons/mob/human_face.dmi
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/livestock.dmi
	icons/mob/mask.dmi
	icons/mob/mecha.dmi
	icons/mob/mob.dmi
	icons/mob/monkey.dmi
	icons/mob/robots.dmi
	icons/mob/screen1.dmi
	icons/mob/screen1_Midnight.dmi
	icons/mob/screen1_Orange.dmi
	icons/mob/screen1_alien.dmi
	icons/mob/screen1_old.dmi
	icons/mob/suit.dmi
	icons/mob/uniform.dmi
	icons/mob/zone_sel.dmi
	icons/obj/Cryogenic2.dmi
	icons/obj/aibots.dmi
	icons/obj/ammo.dmi
	icons/obj/atmos.dmi
	icons/obj/bureaucracy.dmi
	icons/obj/card.dmi
	icons/obj/cigarettes.dmi
	icons/obj/closet.dmi
	icons/obj/clothing/glasses.dmi
	icons/obj/clothing/gloves.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/masks.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/clothing/uniforms.dmi
	icons/obj/computer.dmi
	icons/obj/contraband.dmi
	icons/obj/decals.dmi
	icons/obj/device.dmi
	icons/obj/doors/DoorHazard.dmi
	icons/obj/doors/door_assembly.dmi
	icons/obj/drinks.dmi
	icons/obj/engine.dmi
	icons/obj/food.dmi
	icons/obj/grenade.dmi
	icons/obj/gun.dmi
	icons/obj/harvest.dmi
	icons/obj/hydroponics.dmi
	icons/obj/items.dmi
	icons/obj/janitor.dmi
	icons/obj/library.dmi
	icons/obj/lighting.dmi
	icons/obj/machines/field_generator.dmi
	icons/obj/machines/gateway.dmi
	icons/obj/machines/mining_machines.dmi
	icons/obj/machines/particle_accelerator.dmi
	icons/obj/meter.dmi
	icons/obj/mining.dmi
	icons/obj/objects.dmi
	icons/obj/paper.dmi
	icons/obj/pda.dmi
	icons/obj/pipes/disposal.dmi
	icons/obj/plants.dmi
	icons/obj/power.dmi
	icons/obj/projectiles.dmi
	icons/obj/robotics.dmi
	icons/obj/seeds.dmi
	icons/obj/singularity.dmi
	icons/obj/stationobjs.dmi
	icons/obj/stock_parts.dmi
	icons/obj/storage.dmi
	icons/obj/structures.dmi
	icons/obj/surgery.dmi
	icons/obj/syringe.dmi
	icons/obj/tank.dmi
	icons/obj/terminals.dmi
	icons/obj/toy.dmi
	icons/obj/vending.dmi
	icons/obj/watercloset.dmi
	icons/obj/weapons.dmi
	icons/obj/wizard.dmi
	icons/turf/areas.dmi
	icons/turf/floors.dmi
	icons/turf/walls.dmi
	interface/interface.dm
	interface/skin.dmf
	maps/Antiqua.dmm
	maps/RandomZLevels/assistantChamber.dmm
	maps/RandomZLevels/fileList.txt
	maps/tgstation.2.0.9.dmm
	sound/AI/animes.ogg
	sound/AI/newroundsexy.ogg
	sound/AI/newroundsexy2.ogg
	sound/effects/adminhelp.ogg
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM.sln
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.Designer.cs
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.cs
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Form1.resx
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Program.cs
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/AssemblyInfo.cs
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.Designer.cs
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Resources.resx
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.Designer.cs
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties/Settings.settings
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/UnstandardnessTestForDM.csproj
tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug/UnstandardnessTestForDM.vshost.exe.manifest
	tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug/UnstandardnessTestForDM.csproj.FileListAbsolute.txt
	tools/expand_filedir_paths.py
	tools/readme.txt

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
Cael_Aislinn
2012-08-22 04:00:11 +10:00
1232 changed files with 108006 additions and 78117 deletions

View File

@@ -1,3 +1,5 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/*
SwapMaps library by Lummox JR
developed for digitalBYOND
@@ -201,10 +203,12 @@ swapmap
vars // all other changed vars
*/
Write(savefile/S)
var
x;y;z;n
list/areas
area/defarea=locate(world.area)
var/x
var/y
var/z
var/n
var/list/areas
var/area/defarea=locate(world.area)
if(!defarea) defarea=new world.area
areas=list()
for(var/turf/T in block(locate(x1,y1,z1),locate(x2,y2,z2)))
@@ -240,10 +244,12 @@ swapmap
del(areas)
Read(savefile/S,_id,turf/locorner)
var
x;y;z;n
list/areas
area/defarea=locate(world.area)
var/x
var/y
var/z
var/n
var/list/areas
var/area/defarea=locate(world.area)
id=_id
if(locorner)
ischunk=1

View File

@@ -1,59 +1,60 @@
dmm_suite
load_map(var/dmm_file as file, var/z_offset as num)
if(!z_offset)
dmm_suite{
load_map(var/dmm_file as file, var/z_offset as num){
if(!z_offset){
z_offset = world.maxz+1
}
var/quote = ascii2text(34)
var/tfile = file2text(dmm_file)
var/tfile_len = length(tfile)
var/list/grid_models[0]
var/key_len = length(copytext(tfile,2,findtext(tfile,quote,2,0)))
for(var/lpos=1;lpos<tfile_len;lpos=findtext(tfile,"\n",lpos,0)+1)
for(var/lpos=1;lpos<tfile_len;lpos=findtext(tfile,"\n",lpos,0)+1){
var/tline = copytext(tfile,lpos,findtext(tfile,"\n",lpos,0))
if(copytext(tline,1,2)!=quote)
break
if(copytext(tline,1,2)!=quote){break}
var/model_key = copytext(tline,2,findtext(tfile,quote,2,0))
var/model_contents = copytext(tline,findtext(tfile,"=")+3,length(tline))
grid_models[model_key] = model_contents
sleep(-1)
}
var/zcrd=-1
var/ycrd=0
var/xcrd=0
for(var/zpos=findtext(tfile,"\n(1,1,");TRUE;zpos=findtext(tfile,"\n(1,1,",zpos+1,0))
for(var/zpos=findtext(tfile,"\n(1,1,");TRUE;zpos=findtext(tfile,"\n(1,1,",zpos+1,0)){
zcrd++
world.maxz = max(world.maxz, zcrd+z_offset)
ycrd=0
var/zgrid = copytext(tfile,findtext(tfile,quote+"\n",zpos,0)+2,findtext(tfile,"\n"+quote,zpos,0)+1)
for(var/gpos=1;gpos!=0;gpos=findtext(zgrid,"\n",gpos,0)+1)
for(var/gpos=1;gpos!=0;gpos=findtext(zgrid,"\n",gpos,0)+1){
var/grid_line = copytext(zgrid,gpos,findtext(zgrid,"\n",gpos,0)+1)
var/y_depth = length(zgrid)/(length(grid_line))
if(world.maxy<y_depth)
world.maxy=y_depth
if(world.maxy<y_depth){world.maxy=y_depth}
grid_line=copytext(grid_line,1,length(grid_line))
if(!ycrd)
if(!ycrd){
ycrd = y_depth
else
ycrd--
}
else{ycrd--}
xcrd=0
for(var/mpos=1;mpos<=length(grid_line);mpos+=key_len)
for(var/mpos=1;mpos<=length(grid_line);mpos+=key_len){
xcrd++
if(world.maxx<xcrd)
world.maxx=xcrd
if(world.maxx<xcrd){world.maxx=xcrd}
var/model_key = copytext(grid_line,mpos,mpos+key_len)
parse_grid(grid_models[model_key],xcrd,ycrd,zcrd+z_offset)
if(gpos+length(grid_line)+1>length(zgrid))
break
}
if(gpos+length(grid_line)+1>length(zgrid)){break}
sleep(-1)
if(findtext(tfile,quote+"}",zpos,0)+2==tfile_len)
break
}
if(findtext(tfile,quote+"}",zpos,0)+2==tfile_len){break}
sleep(-1)
proc
parse_grid(var/model as text,var/xcrd as num,var/ycrd as num,var/zcrd as num)
}
}
proc{
parse_grid(var/model as text,var/xcrd as num,var/ycrd as num,var/zcrd as num){
/*Method parse_grid()
- Accepts a text string containing a comma separated list of type paths of the
same construction as those contained in a .dmm file, and instantiates them.
*/
var/list/text_strings[0]
for(var/index=1;findtext(model,quote);index++)
for(var/index=1;findtext(model,quote);index++){
/*Loop: Stores quoted portions of text in text_strings, and replaces them with an
index to that list.
- Each iteration represents one quoted section of text.
@@ -62,6 +63,7 @@ dmm_suite
text_strings[index] = copytext(model,findtext(model,quote)+1,findtext(model,quote,findtext(model,quote)+1,0))
model = copytext(model,1,findtext(model,quote))+"~[index]"+copytext(model,findtext(model,quote,findtext(model,quote)+1,0)+1,0)
sleep(-1)
}
var/list/old_turf_underlays[0]
var/old_turf_density
var/old_turf_opacity
@@ -69,104 +71,118 @@ dmm_suite
This is done to approximate the layered turf effect of DM's map editor.
An image of each turf is stored in old_turf_underlays[], and is later added to the new turf's underlays.
*/
for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1)
for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1){
/*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields.
- Each iteration represents one object's data, including type path and field values.
*/
var/full_def = copytext(model,dpos,findtext(model,",",dpos,0))
var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{")))
var/list/attributes[0]
if(findtext(full_def,"{"))
if(findtext(full_def,"{")){
full_def = copytext(full_def,1,length(full_def))
for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1)
for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1){
//Loop: Identifies each attribute/value pair, and stores it in attributes[].
attributes.Add(copytext(full_def,apos,findtext(full_def,";",apos,0)))
if(!findtext(copytext(full_def,apos,0),";"))
break
if(!findtext(copytext(full_def,apos,0),";")){break}
sleep(-1)
}
}
//Construct attributes associative list
var/list/fields = new(0)
for(var/index=1;index<=attributes.len;index++)
for(var/index=1;index<=attributes.len;index++){
var/trim_left = trim_text(copytext(attributes[index],1,findtext(attributes[index],"=")))
var/trim_right = trim_text(copytext(attributes[index],findtext(attributes[index],"=")+1,0))
//Check for string
if(findtext(trim_right,"~"))
if(findtext(trim_right,"~")){
var/reference_index = copytext(trim_right,findtext(trim_right,"~")+1,0)
trim_right=text_strings[text2num(reference_index)]
}
//Check for number
else if(isnum(text2num(trim_right)))
else if(isnum(text2num(trim_right))){
trim_right = text2num(trim_right)
}
//Check for file
else if(copytext(trim_right,1,2) == "'")
else if(copytext(trim_right,1,2) == "'"){
trim_right = file(copytext(trim_right,2,length(trim_right)))
}
fields[trim_left] = trim_right
}
//End construction
//Begin Instanciation
var/atom/instance
var/dmm_suite/preloader/_preloader = new(fields)
if(ispath(atom_def,/area))
if(ispath(atom_def,/area)){
instance = locate(atom_def)
instance.contents.Add(locate(xcrd,ycrd,zcrd))
else if(ispath(atom_def,/turf))
}
else if(ispath(atom_def,/turf)){
var/turf/old_turf = locate(xcrd,ycrd,zcrd)
if(old_turf.density){old_turf_density = 1}
if(old_turf.opacity){old_turf_opacity = 1}
if(old_turf.icon)
if(old_turf.icon){
var/image/old_turf_image = image(old_turf.icon,null,old_turf.icon_state,old_turf.layer,old_turf.dir)
old_turf_underlays.Add(old_turf_image)
}
instance = new atom_def(old_turf, _preloader)
for(var/inverse_index=old_turf_underlays.len;inverse_index;inverse_index--)
for(var/inverse_index=old_turf_underlays.len;inverse_index;inverse_index--){
var/image/image_underlay = old_turf_underlays[inverse_index]
image_underlay.loc = instance
instance.underlays.Add(image_underlay)
if(!instance.density)
instance.density = old_turf_density
if(!instance.opacity)
instance.opacity = old_turf_opacity
}
if(!instance.density){instance.density = old_turf_density}
if(!instance.opacity){instance.opacity = old_turf_opacity}
}
if(_preloader && instance)
if(_preloader && instance){
_preloader.load(instance)
}
//End Instanciation
if(!findtext(copytext(model,dpos,0),","))
break
if(!findtext(copytext(model,dpos,0),",")){break}
sleep(-1)
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1)
{
/*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields.
- Each iteration represents one object's data, including type path and field values.
*/
var/full_def = copytext(model,dpos,findtext(model,",",dpos,0))
var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{")))
var/list/attributes[0]
if(findtext(full_def,"{"))
if(findtext(full_def,"{")){
full_def = copytext(full_def,1,length(full_def))
for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1)
for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1){
//Loop: Identifies each attribute/value pair, and stores it in attributes[].
attributes.Add(copytext(full_def,apos,findtext(full_def,";",apos,0)))
if(!findtext(copytext(full_def,apos,0),";"))
break
if(!findtext(copytext(full_def,apos,0),";")){break}
sleep(-1)
}
}
//Construct attributes associative list
var/list/fields = new(0)
for(var/index=1;index<=attributes.len;index++)
for(var/index=1;index<=attributes.len;index++){
var/trim_left = trim_text(copytext(attributes[index],1,findtext(attributes[index],"=")))
var/trim_right = trim_text(copytext(attributes[index],findtext(attributes[index],"=")+1,0))
//Check for string
if(findtext(trim_right,"~"))
if(findtext(trim_right,"~")){
var/reference_index = copytext(trim_right,findtext(trim_right,"~")+1,0)
trim_right=text_strings[text2num(reference_index)]
}
//Check for number
else if(isnum(text2num(trim_right)))
else if(isnum(text2num(trim_right))){
trim_right = text2num(trim_right)
}
//Check for file
else if(copytext(trim_right,1,2) == "'")
else if(copytext(trim_right,1,2) == "'"){
trim_right = file(copytext(trim_right,2,length(trim_right)))
}
fields[trim_left] = trim_right
}
//End construction
@@ -174,42 +190,60 @@ dmm_suite
var/atom/instance
var/dmm_suite/preloader/_preloader = new(fields)
if(!ispath(atom_def,/area) && !ispath(atom_def,/turf))
{
instance = new atom_def(locate(xcrd,ycrd,zcrd), _preloader)
}
if(_preloader && instance)
{
_preloader.load(instance)
}
//End Instanciation
if(!findtext(copytext(model,dpos,0),","))
break
if(!findtext(copytext(model,dpos,0),",")){break}
sleep(-1)
}
trim_text(var/what as text)
while(length(what) && findtext(what," ",1,2))
}
trim_text(var/what as text){
while(length(what) && findtext(what," ",1,2)){
what=copytext(what,2,0)
while(length(what) && findtext(what," ",length(what),0))
}
while(length(what) && findtext(what," ",length(what),0)){
what=copytext(what,1,length(what))
}
return what
atom/New(atom/loc, dmm_suite/preloader/_dmm_preloader)
if(istype(_dmm_preloader, /dmm_suite/preloader))
}
}
}
atom/New(atom/loc, dmm_suite/preloader/_dmm_preloader){
if(istype(_dmm_preloader, /dmm_suite/preloader)){
_dmm_preloader.load(src)
}
. = ..()
dmm_suite
preloader
}
dmm_suite{
preloader{
parent_type = /datum
var
var{
list/attributes
New(list/the_attributes)
}
New(list/the_attributes){
.=..()
if(!the_attributes.len)
Del()
if(!the_attributes.len){ Del()}
attributes = the_attributes
proc
load(atom/what)
for(var/attribute in attributes)
}
proc{
load(atom/what){
for(var/attribute in attributes){
what.vars[attribute] = attributes[attribute]
}
Del()
}
}
}
}