mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 06:57:42 +01:00
Initial merge http://code.google.com/p/tgstation13/source/browse/trunk/ rev 4489 (I think) with BS12
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:
@@ -1,8 +1,5 @@
|
||||
/obj/item/weapon/implant
|
||||
name = "implant"
|
||||
desc = "An implant. Not usually seen outside a body."
|
||||
icon = 'items.dmi'
|
||||
icon_state = "implant"
|
||||
var/implanted = null
|
||||
var/mob/imp_in = null
|
||||
color = "b"
|
||||
@@ -14,14 +11,15 @@
|
||||
proc/activate()
|
||||
return
|
||||
|
||||
proc/implanted(source as mob)
|
||||
return
|
||||
// What does the implant do upon injection?
|
||||
// return 0 if the implant fails (ex. Revhead and loyalty implant.)
|
||||
// return 1 if the implant succeeds (ex. Nonrevhead and loyalty implant.)
|
||||
proc/implanted(var/mob/source)
|
||||
return 1
|
||||
|
||||
proc/get_data()
|
||||
return
|
||||
|
||||
proc/hear(message, source as mob)
|
||||
return
|
||||
|
||||
|
||||
trigger(emote, source as mob)
|
||||
@@ -31,61 +29,19 @@
|
||||
activate()
|
||||
return
|
||||
|
||||
attackby(obj/item/weapon/I as obj, mob/user as mob)
|
||||
..()
|
||||
if (istype(I, /obj/item/weapon/implanter))
|
||||
if (I:imp)
|
||||
return
|
||||
else
|
||||
src.loc = I
|
||||
I:imp = src
|
||||
// del(src)
|
||||
I:update()
|
||||
return
|
||||
|
||||
implanted(source as mob)
|
||||
return
|
||||
implanted(mob/source)
|
||||
return 1
|
||||
|
||||
|
||||
get_data()
|
||||
return "No information available"
|
||||
|
||||
hear(message, source as mob)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implant/uplink
|
||||
name = "uplink implant"
|
||||
desc = "A micro-telecrystal implant which allows for instant transportation of equipment."
|
||||
var/activation_emote = "chuckle"
|
||||
var/obj/item/device/uplink/radio/uplink = null
|
||||
|
||||
|
||||
New()
|
||||
activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
uplink = new /obj/item/device/uplink/radio/implanted(src)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
implanted(mob/source as mob)
|
||||
activation_emote = input("Choose activation emote:") in list("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
source.mind.store_memory("Uplink implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
source << "The implanted uplink implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
return
|
||||
|
||||
|
||||
trigger(emote, mob/source as mob)
|
||||
if(emote == activation_emote)
|
||||
uplink.attack_self(source)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implant/tracking
|
||||
name = "tracking implant"
|
||||
desc = "An implant which relays information to the appropriate tracking computer."
|
||||
name = "tracking"
|
||||
desc = "Track with this."
|
||||
var/id = 1.0
|
||||
|
||||
|
||||
@@ -107,15 +63,11 @@ Implant Specifics:<BR>"}
|
||||
return dat
|
||||
|
||||
|
||||
//Nuke Agent Explosive
|
||||
/obj/item/weapon/implant/dexplosive
|
||||
name = "explosive implant"
|
||||
desc = "A military grade micro bio-explosive. Highly dangerous."
|
||||
var/activation_emote = "deathgasp"
|
||||
var/coded = 0
|
||||
|
||||
New()
|
||||
verbs += /obj/item/weapon/implant/dexplosive/proc/set_emote
|
||||
/obj/item/weapon/implant/explosive
|
||||
name = "explosive"
|
||||
desc = "And boom goes the weasel."
|
||||
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
@@ -132,7 +84,7 @@ Implant Specifics:<BR>"}
|
||||
|
||||
|
||||
trigger(emote, source as mob)
|
||||
if(emote == activation_emote)
|
||||
if(emote == "deathgasp")
|
||||
src.activate("death")
|
||||
return
|
||||
|
||||
@@ -143,25 +95,11 @@ Implant Specifics:<BR>"}
|
||||
if(src.imp_in)
|
||||
src.imp_in.gib()
|
||||
|
||||
proc/set_emote()
|
||||
set name = "Set Emote"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
if(coded != 0)
|
||||
usr << "You've already set up your implant!"
|
||||
return
|
||||
activation_emote = input("Choose activation emote:") in list("deathgasp","blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
usr.mind.store_memory("Explosive implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
usr << "The implanted explosive implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
coded = 1
|
||||
verbs -= /obj/item/weapon/implant/dexplosive/proc/set_emote
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implant/chem
|
||||
name = "chemical implant"
|
||||
desc = "A micro-injector that can be triggered remotely."
|
||||
name = "chem"
|
||||
desc = "Injects things."
|
||||
allow_reagents = 1
|
||||
|
||||
get_data()
|
||||
@@ -210,33 +148,33 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
|
||||
|
||||
/obj/item/weapon/implant/loyalty
|
||||
name = "loyalty implant"
|
||||
desc = "An implant which contains a small pod of nanobots which manipulate host mental functions to induce loyalty."
|
||||
name = "loyalty"
|
||||
desc = "Makes you loyal or such."
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen Employee Management Implant<BR>
|
||||
<b>Name:</b> Nanotrasen Employee Management Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
<b>Important Notes:</b> Personnel injected with this device tend to be much more loyal to the company.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's mental functions.<BR>
|
||||
<b>Special Features:</b> Will prevent and cure most forms of brainwashing.<BR>
|
||||
<b>Integrity:</b> Degradation can occur within nanobots, re-application may be necessary to ensure full cooperation."}
|
||||
<b>Integrity:</b> Implant will last so long as the nanobots are inside the bloodstream."}
|
||||
return dat
|
||||
|
||||
|
||||
implanted(M as mob)
|
||||
if(!istype(M, /mob/living/carbon/human)) return
|
||||
implanted(mob/M)
|
||||
if(!istype(M, /mob/living/carbon/human)) return 0
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.mind in ticker.mode.head_revolutionaries)
|
||||
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of NanoTrasen try to invade your mind!")
|
||||
return
|
||||
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of Nanotrasen try to invade your mind!")
|
||||
return 0
|
||||
else if(H.mind in ticker.mode:revolutionaries)
|
||||
ticker.mode:remove_revolutionary(H.mind)
|
||||
H << "\blue You feel a surge of loyalty towards NanoTrasen."
|
||||
return
|
||||
H << "\blue You feel a surge of loyalty towards Nanotrasen."
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/weapon/implant/adrenalin
|
||||
@@ -270,235 +208,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
return
|
||||
|
||||
|
||||
implanted(mob/source as mob)
|
||||
implanted(mob/source)
|
||||
source.mind.store_memory("A implant can be activated by using the pale emote, <B>say *pale</B> to attempt to activate.", 0, 0)
|
||||
source << "The implanted freedom implant can be activated by using the pale emote, <B>say *pale</B> to attempt to activate."
|
||||
return
|
||||
|
||||
|
||||
//BS12 Explosive
|
||||
/obj/item/weapon/implant/explosive
|
||||
name = "explosive implant"
|
||||
desc = "A military grade micro bio-explosive. Highly dangerous."
|
||||
var/phrase = "supercalifragilisticexpialidocious"
|
||||
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Robust Corp RX-78 Intimidation Class Implant<BR>
|
||||
<b>Life:</b> Activates upon codephrase.<BR>
|
||||
<b>Important Notes:</b> Explodes<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a compact, electrically detonated explosive that detonates upon receiving a specially encoded signal or upon host death.<BR>
|
||||
<b>Special Features:</b> Explodes<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
hear_talk(mob/M as mob, msg)
|
||||
hear(msg)
|
||||
return
|
||||
|
||||
hear(var/msg)
|
||||
var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "")
|
||||
msg = sanitize_simple(msg, replacechars)
|
||||
if(findtext(msg,phrase))
|
||||
if(istype(imp_in, /mob/))
|
||||
var/mob/T = imp_in
|
||||
T.gib()
|
||||
explosion(get_turf(imp_in), 1, 3, 4, 6, 3)
|
||||
var/turf/t = get_turf(imp_in)
|
||||
if(t)
|
||||
t.hotspot_expose(3500,125)
|
||||
del(src)
|
||||
|
||||
implanted(mob/source as mob)
|
||||
phrase = input("Choose activation phrase:") as text
|
||||
var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "")
|
||||
phrase = sanitize_simple(phrase, replacechars)
|
||||
usr.mind.store_memory("Explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate.", 0, 0)
|
||||
usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate."
|
||||
|
||||
/obj/item/weapon/implant/death_alarm
|
||||
name = "death alarm implant"
|
||||
desc = "An alarm which monitors host vital signs and transmits a radio message upon death."
|
||||
var/mobname = "Will Robinson"
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Life:</b> Activates upon death.<BR>
|
||||
<b>Important Notes:</b> Alerts crew to crewmember death.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a compact radio signaler that triggers when the host's lifesigns cease.<BR>
|
||||
<b>Special Features:</b> Alerts crew to crewmember death.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
process()
|
||||
var/mob/M = imp_in
|
||||
|
||||
var/area/t = get_area(M)
|
||||
|
||||
if(isnull(M)) // If the mob got gibbed
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
|
||||
a.autosay("states, \"[mobname] has died-zzzzt in-in-in...\"", "[mobname]'s Death Alarm")
|
||||
del(a)
|
||||
processing_objects.Remove(src)
|
||||
else if(M.stat == 2)
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
|
||||
if(istype(t, /area/syndicate_station) || istype(t, /area/syndicate_mothership) || istype(t, /area/shuttle/syndicate_elite) )
|
||||
//give the syndies a bit of stealth
|
||||
a.autosay("states, \"[mobname] has died in Space!\"", "[mobname]'s Death Alarm")
|
||||
else
|
||||
a.autosay("states, \"[mobname] has died in [t.name]!\"", "[mobname]'s Death Alarm")
|
||||
del(a)
|
||||
processing_objects.Remove(src)
|
||||
|
||||
|
||||
implanted(mob/source as mob)
|
||||
mobname = source.real_name
|
||||
processing_objects.Add(src)
|
||||
|
||||
/obj/item/weapon/implant/compressed
|
||||
name = "compressed matter implant"
|
||||
desc = "Based on compressed matter technology, can store a single item."
|
||||
var/activation_emote = "sigh"
|
||||
var/obj/item/scanned = null
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Life:</b> Activates upon death.<BR>
|
||||
<b>Important Notes:</b> Alerts crew to crewmember death.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a compact radio signaler that triggers when the host's lifesigns cease.<BR>
|
||||
<b>Special Features:</b> Alerts crew to crewmember death.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
trigger(emote, mob/source as mob)
|
||||
if (src.scanned == null)
|
||||
return 0
|
||||
|
||||
if (emote == src.activation_emote)
|
||||
source << "The air glows as \the [src.scanned.name] uncompresses."
|
||||
var/turf/t = get_turf(source)
|
||||
src.scanned.loc = t
|
||||
del src
|
||||
|
||||
implanted(mob/source as mob)
|
||||
src.activation_emote = input("Choose activation emote:") in list("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
source.mind.store_memory("Freedom implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
source << "The implanted freedom implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
|
||||
/*// --------------------LASERS WORK FROM HERE, AUGMENTATIONS SHIZZLE----------------------
|
||||
/obj/item/weapon/implant/augmentation/thermalscanner
|
||||
name = "Thermal Scanner Augmentation"
|
||||
desc = "Makes you see humans through walls"
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen Thermal Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
<b>Important Notes:</b> Personnel injected with this device tend to be able to see lifeforms through life using thermal.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's eye functions.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
|
||||
implanted(M as mob)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
vision_flags = SEE_MOBS
|
||||
invisa_view = 2
|
||||
usr << "You suddenly start seeing body temperatures of whoever is around you."
|
||||
else
|
||||
usr << "This implant is not compatible!"
|
||||
return
|
||||
|
||||
/obj/item/weapon/implant/augmentation/mesonscanner
|
||||
name = "Meson Scanner Augmentation"
|
||||
desc = "Makes you see floor and wall layouts through walls."
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen Meson Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
<b>Important Notes:</b> Personnel injected with this device tend to be able to see floor and wall layouts through walls.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's eye functions.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
|
||||
implanted(M as mob)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
vision_flags = SEE_TURFS
|
||||
usr << "You suddenly start seeing body temperatures of whoever is around you."
|
||||
else
|
||||
usr << "This implant is not compatible!"
|
||||
return
|
||||
|
||||
/obj/item/weapon/implant/augmentation/medicalhud
|
||||
name = "Medical HUD Augmentation"
|
||||
desc = "Makes you see the medical condition of a person."
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen Med HUD Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
<b>Important Notes:</b> Personnel injected with this device tend to be able to see the medical condition of a person.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's eye functions.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
|
||||
implanted(M as mob)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
|
||||
src.hud = new/obj/item/clothing/glasses/hud/health(src)
|
||||
usr << "You suddenly start seeing body temperatures of whoever is around you."
|
||||
else
|
||||
usr << "This implant is not compatible!"
|
||||
return
|
||||
|
||||
/obj/item/weapon/implant/augmentation/securityhud
|
||||
name = "Security HUD Augmentation"
|
||||
desc = "Makes you see the Security standings of a person."
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen Sec HUD Implant<BR>
|
||||
<b>Life:</b> Ten years.<BR>
|
||||
<b>Important Notes:</b> Personnel injected with this device tend to be able to see the security standings of a person.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's eye functions.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
|
||||
implanted(M as mob)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
var/obj/item/clothing/glasses/hud/security/hud = null
|
||||
|
||||
src.hud = new/obj/item/clothing/glasses/hud/security(src)
|
||||
|
||||
usr << "You suddenly start seeing body temperatures of whoever is around you."
|
||||
else
|
||||
usr << "This implant is not compatible!"
|
||||
return*/
|
||||
return 1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/obj/item/weapon/implantcase
|
||||
name = "Glass Case"
|
||||
@@ -25,7 +25,7 @@
|
||||
..()
|
||||
if (istype(I, /obj/item/weapon/pen))
|
||||
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
|
||||
if (user.equipped() != I)
|
||||
if (user.get_active_hand() != I)
|
||||
return
|
||||
if((!in_range(src, usr) && src.loc != user))
|
||||
return
|
||||
@@ -68,7 +68,7 @@
|
||||
/obj/item/weapon/implantcase/tracking
|
||||
name = "Glass Case- 'Tracking'"
|
||||
desc = "A case containing a tracking implant."
|
||||
icon = 'items.dmi'
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implantcase-b"
|
||||
|
||||
|
||||
@@ -80,9 +80,9 @@
|
||||
|
||||
|
||||
/obj/item/weapon/implantcase/explosive
|
||||
name = "Glass Case- '(BIO-HAZARD) BIO-detpack'"
|
||||
name = "Glass Case- 'Explosive'"
|
||||
desc = "A case containing an explosive implant."
|
||||
icon = 'items.dmi'
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implantcase-r"
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
/obj/item/weapon/implantcase/chem
|
||||
name = "Glass Case- 'Chem'"
|
||||
desc = "A case containing a chemical implant."
|
||||
icon = 'items.dmi'
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implantcase-b"
|
||||
/obj/item/weapon/implantcase/chem/New()
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
/obj/item/weapon/implantcase/loyalty
|
||||
name = "Glass Case- 'Loyalty'"
|
||||
desc = "A case containing a loyalty implant."
|
||||
icon = 'items.dmi'
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implantcase-r"
|
||||
|
||||
|
||||
@@ -116,14 +116,3 @@
|
||||
src.imp = new /obj/item/weapon/implant/loyalty( src )
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implantcase/death_alarm
|
||||
name = "Glass Case- 'Death Alarm'"
|
||||
desc = "A case containing a death alarm implant."
|
||||
icon = 'items.dmi'
|
||||
icon_state = "implantcase-b"
|
||||
|
||||
New()
|
||||
src.imp = new /obj/item/weapon/implant/death_alarm( src )
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/obj/machinery/implantchair
|
||||
name = "Loyalty Implanter"
|
||||
desc = "Used to implant occupants with loyalty implants."
|
||||
icon = 'implantchair.dmi'
|
||||
icon = 'icons/obj/machines/implantchair.dmi'
|
||||
icon_state = "implantchair"
|
||||
density = 1
|
||||
opacity = 0
|
||||
@@ -116,7 +116,7 @@
|
||||
if(M.client)
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
M.client.eye = src
|
||||
M.pulling = null
|
||||
M.stop_pulling()
|
||||
M.loc = src
|
||||
src.occupant = M
|
||||
src.add_fingerprint(usr)
|
||||
@@ -133,10 +133,11 @@
|
||||
if(istype(imp, /obj/item/weapon/implant/loyalty))
|
||||
for (var/mob/O in viewers(M, null))
|
||||
O.show_message("\red [M] has been implanted by the [src.name].", 1)
|
||||
imp.loc = M
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
imp.implanted(M)
|
||||
|
||||
if(imp.implanted(M))
|
||||
imp.loc = M
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
implant_list -= imp
|
||||
break
|
||||
return
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/item/weapon/implanter
|
||||
name = "implanter"
|
||||
icon = 'items.dmi'
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implanter0"
|
||||
item_state = "syringe_0"
|
||||
throw_speed = 1
|
||||
@@ -12,46 +12,37 @@
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/update()
|
||||
if (imp)
|
||||
icon_state = "implanter1"
|
||||
if (src.imp)
|
||||
src.icon_state = "implanter1"
|
||||
else
|
||||
icon_state = "implanter0"
|
||||
src.icon_state = "implanter0"
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob)
|
||||
if (!istype(M, /mob/living/carbon))
|
||||
return
|
||||
if (user && imp)
|
||||
if (M != user)
|
||||
user.visible_message("\red \The [user] tries to implant \the [M] with \the [src]!","\red You try to implant \the [M] with \the [src]!")
|
||||
else
|
||||
user.visible_message("\red \The [user] tries to implant [user.get_visible_gender() == MALE ? "himself" : user.get_visible_gender() == FEMALE ? "herself" : "themselves"] with \the [src]!","\red You try to implant yourself with \the [src]!")
|
||||
if(!do_mob(user, M,60))
|
||||
return
|
||||
if(hasorgans(M))
|
||||
var/datum/organ/external/target = M:get_organ(check_zone(user.zone_sel.selecting))
|
||||
if(target.status & ORGAN_DESTROYED)
|
||||
user << "What [target.display_name]?"
|
||||
return
|
||||
if(!target.implant)
|
||||
target.implant = list()
|
||||
target.implant += imp
|
||||
imp.loc = target
|
||||
if (M != user)
|
||||
user.visible_message("\red \The [user] implants \the [M]'s [target.display_name] with \the [src]!","\red You implant \the [M]'s [target.display_name] with \the [src]!")
|
||||
else
|
||||
user.visible_message("\red \The [user] implants [user.get_visible_gender() == MALE ? "his" : user.get_visible_gender() == FEMALE ? "her" : "their"] own [target.display_name] with \the [src]!","\red You implant your [target.display_name] with \the [src]!")
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'> Implanted with [src] ([imp]) by [user] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src] ([imp]) to implant [M] ([M.ckey])</font>")
|
||||
log_admin("ATTACK: [user] ([user.ckey]) implanted [M] ([M.ckey]) with [src].")
|
||||
message_admins("ATTACK: [user] ([user.ckey]) implanted [M] ([M.ckey]) with [src].")
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
imp.implanted(M)
|
||||
imp = null
|
||||
icon_state = "implanter0"
|
||||
if (user && src.imp)
|
||||
for (var/mob/O in viewers(M, null))
|
||||
O.show_message("\red [user] is attemping to implant [M].", 1)
|
||||
|
||||
var/turf/T1 = get_turf(M)
|
||||
if (T1 && ((M == user) || do_after(user, 50)))
|
||||
if(user && M && (get_turf(M) == T1) && src && src.imp)
|
||||
for (var/mob/O in viewers(M, null))
|
||||
O.show_message("\red [M] has been implanted by [user].", 1)
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'> Implanted with [src.name] ([src.imp.name]) by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src.name] ([src.imp.name]) to implant [M.name] ([M.ckey])</font>")
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) implanted [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
|
||||
user.show_message("\red You implanted the implant into [M].")
|
||||
if(src.imp.implanted(M))
|
||||
src.imp.loc = M
|
||||
src.imp.imp_in = M
|
||||
src.imp.implanted = 1
|
||||
|
||||
src.imp = null
|
||||
update()
|
||||
return
|
||||
|
||||
|
||||
@@ -60,7 +51,7 @@
|
||||
name = "implanter-loyalty"
|
||||
|
||||
/obj/item/weapon/implanter/loyalty/New()
|
||||
imp = new /obj/item/weapon/implant/loyalty( src )
|
||||
src.imp = new /obj/item/weapon/implant/loyalty( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
@@ -68,10 +59,10 @@
|
||||
|
||||
|
||||
/obj/item/weapon/implanter/explosive
|
||||
name = "implanter (E)"
|
||||
name = "implanter-explosive"
|
||||
|
||||
/obj/item/weapon/implanter/explosive/New()
|
||||
imp = new /obj/item/weapon/implant/explosive( src )
|
||||
src.imp = new /obj/item/weapon/implant/explosive( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
@@ -83,38 +74,4 @@
|
||||
src.imp = new /obj/item/weapon/implant/adrenalin(src)
|
||||
..()
|
||||
update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/compressed
|
||||
name = "implanter (C)"
|
||||
icon_state = "cimplanter0"
|
||||
|
||||
/obj/item/weapon/implanter/compressed/New()
|
||||
imp = new /obj/item/weapon/implant/compressed( src )
|
||||
..()
|
||||
update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/compressed/update()
|
||||
if (imp)
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
if(!c.scanned)
|
||||
icon_state = "cimplanter0"
|
||||
else
|
||||
icon_state = "cimplanter1"
|
||||
else
|
||||
icon_state = "cimplanter2"
|
||||
return
|
||||
|
||||
/obj/item/weapon/implanter/compressed/attack(mob/M as mob, mob/user as mob)
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
if (c.scanned == null)
|
||||
user << "Please scan an object with the implanter first."
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob)
|
||||
if(istype(A,/obj/item) && imp)
|
||||
imp:scanned = A
|
||||
A.loc.contents.Remove(A)
|
||||
update()
|
||||
return
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/obj/item/weapon/implant/freedom
|
||||
name = "freedom"
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
|
||||
New()
|
||||
activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
src.activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
src.uses = rand(1, 5)
|
||||
..()
|
||||
return
|
||||
@@ -23,6 +23,18 @@
|
||||
if (source.handcuffed)
|
||||
var/obj/item/weapon/W = source.handcuffed
|
||||
source.handcuffed = null
|
||||
source.update_inv_handcuffed()
|
||||
if (source.client)
|
||||
source.client.screen -= W
|
||||
if (W)
|
||||
W.loc = source.loc
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
if (source.legcuffed)
|
||||
var/obj/item/weapon/W = source.legcuffed
|
||||
source.legcuffed = null
|
||||
source.update_inv_legcuffed()
|
||||
if (source.client)
|
||||
source.client.screen -= W
|
||||
if (W)
|
||||
@@ -30,15 +42,13 @@
|
||||
dropped(source)
|
||||
if (W)
|
||||
W.layer = initial(W.layer)
|
||||
source.update_clothing()
|
||||
return
|
||||
|
||||
|
||||
implanted(mob/source as mob)
|
||||
activation_emote = input("Choose activation emote:") in list("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
implanted(mob/source)
|
||||
source.mind.store_memory("Freedom implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
source << "The implanted freedom implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
return
|
||||
return 1
|
||||
|
||||
|
||||
get_data()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Cybersun Industries Nano-Robotic Biological Augmentation Suite<BR>
|
||||
<b>Life:</b> Infinite. WARNING: Biological chances are irreversable.<BR>
|
||||
<b>Life:</b> Infinite. WARNING: Biological changes are irreversable.<BR>
|
||||
<b>Important Notes:</b> <font color='red'>Illegal</font>. Subjects exposed to nanorobotic agent are considered dangerous.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
@@ -19,27 +19,12 @@
|
||||
return dat
|
||||
|
||||
|
||||
implanted(mob/M as mob)
|
||||
if(!istype(M, /mob/living/carbon/human)) return
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.augmentations.Add(augmentation) // give them the mutation
|
||||
H << "\blue [augment_text]"
|
||||
if(istype(src, /obj/item/weapon/implant/nanoaug/eswordsynth))
|
||||
activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
H.mind.store_memory("Freedom nanoaugmentation can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
H << "The nanoaugmentation implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
implanted(mob/M)
|
||||
if(!istype(M, /mob/living/carbon/human)) return 0
|
||||
M.augmentations.Add(augmentation) // give them the mutation
|
||||
M << "\blue [augment_text]"
|
||||
|
||||
if(istype(src, /obj/item/weapon/implant/nanoaug/radar))
|
||||
H << "<font color='#FF0000'>Red</font color> blips on the map are Security."
|
||||
H << "White blips are civlians."
|
||||
H << "<font color='#3E710B'>Monochrome Green</font color> blips are cyborgs and AIs."
|
||||
H << "<font color='#238989'>Light blue</font color> blips are heads of staff."
|
||||
H << "<font color='#663366'>Purple</font color> blips are unidentified organisms."
|
||||
H << "Dead biologicals will not display on the radar."
|
||||
|
||||
spawn()
|
||||
H.start_radar()
|
||||
return
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/weapon/implant/nanoaug/strength
|
||||
@@ -52,6 +37,20 @@
|
||||
augmentation = RADAR
|
||||
augment_text = "You begin to sense the presence or lack of presence of others around you."
|
||||
|
||||
implanted(mob/M)
|
||||
if(..())
|
||||
M << "<font color='#FF0000'>Red</font color> blips on the map are Security."
|
||||
M << "White blips are civlians."
|
||||
M << "<font color='#3E710B'>Monochrome Green</font color> blips are cyborgs and AIs."
|
||||
M << "<font color='#238989'>Light blue</font color> blips are heads of staff."
|
||||
M << "<font color='#663366'>Purple</font color> blips are unidentified organisms."
|
||||
M << "Dead biologicals will not display on the radar."
|
||||
spawn()
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.start_radar()
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/implant/nanoaug/electrichands
|
||||
name = "Electric Hands"
|
||||
augmentation = ELECTRICHANDS
|
||||
@@ -62,6 +61,14 @@
|
||||
augmentation = ESWORDSYNTH
|
||||
augment_text = "Your hands throb and pulsate. They feel sharper, and strangely hot."
|
||||
|
||||
implanted(mob/M)
|
||||
if(..())
|
||||
activation_emote = pick("blink", "blink_r", "eyebrow", "chuckle", "twitch_s", "frown", "nod", "blush", "giggle", "grin", "groan", "shrug", "smile", "pale", "sniff", "whimper", "wink")
|
||||
M.mind.store_memory("Freedom nanoaugmentation can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate.", 0, 0)
|
||||
M << "The nanoaugmentation implant can be activated by using the [src.activation_emote] emote, <B>say *[src.activation_emote]</B> to attempt to activate."
|
||||
return 1
|
||||
return 0
|
||||
|
||||
trigger(emote, source as mob)
|
||||
if(emote == activation_emote)
|
||||
src.activate(source)
|
||||
@@ -71,7 +78,7 @@
|
||||
|
||||
var/obj/item/weapon/melee/energy/blade/swordspawn = new /obj/item/weapon/melee/energy/blade
|
||||
if(!source.get_active_hand())
|
||||
source.put_in_hand(swordspawn)
|
||||
source.put_in_hands(swordspawn)
|
||||
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, source.loc)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
|
||||
|
||||
/obj/item/weapon/implantpad
|
||||
name = "implantpad"
|
||||
desc = "Used to modify implants."
|
||||
icon = 'items.dmi'
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "implantpad-0"
|
||||
item_state = "electronic"
|
||||
throw_speed = 1
|
||||
@@ -26,15 +26,11 @@
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
if ((src.case && (user.l_hand == src || user.r_hand == src)))
|
||||
if (user.hand)
|
||||
user.l_hand = src.case
|
||||
else
|
||||
user.r_hand = src.case
|
||||
src.case.loc = user
|
||||
src.case.layer = 20
|
||||
user.put_in_active_hand(case)
|
||||
|
||||
src.case.add_fingerprint(user)
|
||||
src.case = null
|
||||
user.update_clothing()
|
||||
|
||||
src.add_fingerprint(user)
|
||||
update()
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user