Commit Graph

34 Commits

Author SHA1 Message Date
Lohikar 0abc1d2a65 Repath a bunch of things to /mob/abstract childtypes (#4111)
* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.

* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
2018-01-24 11:27:14 +01:00
Alberyk 913209fbfe General synthetic and mecha fixes (#3936) 2017-12-14 12:09:47 -06:00
Lohikar 61b5203d24 Runtime Map Loading (#3597)
changes:

Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
2017-10-18 23:07:34 +03:00
Lohikar 3be27b9efa Merge SSnanoui & Nanomanager (#2427)
Merges the NanoUI subsystem with Nanomanager, as well as cleans up some nanomanager code.
Most of the files in this commit are changed as a result of removing the nanomanager global in favor of the SSnanoui global.
2017-05-23 16:33:00 +03:00
Werner 5df9509435 Computer tweaks (#1285)
Pulling in some computer changes from bay.
2016-12-25 14:19:50 +02:00
skull132 e9b688e1f6 Merge branch 'development-2' into development
Christ on a stick. SO MANY ERRORS. REEE.

# Conflicts:
#	baystation12.dme
#	code/_helpers/lists.dm
#	code/_helpers/logging.dm
#	code/_helpers/text.dm
#	code/_onclick/click.dm
#	code/controllers/configuration.dm
#	code/controllers/master_controller.dm
#	code/datums/supplypacks.dm
#	code/game/antagonist/antagonist.dm
#	code/game/antagonist/antagonist_print.dm
#	code/game/antagonist/outsider/commando.dm
#	code/game/antagonist/outsider/ninja.dm
#	code/game/area/areas.dm
#	code/game/gamemodes/cult/cult_items.dm
#	code/game/gamemodes/game_mode.dm
#	code/game/jobs/access.dm
#	code/game/machinery/atmoalter/canister.dm
#	code/game/machinery/autolathe.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/machinery/recharger.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/mecha/mech_fabricator.dm
#	code/game/mecha/mecha.dm
#	code/game/objects/effects/spiders.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/game/objects/items/devices/flash.dm
#	code/game/objects/items/devices/lightreplacer.dm
#	code/game/objects/items/devices/paicard.dm
#	code/game/objects/items/devices/scanners.dm
#	code/game/objects/items/devices/suit_cooling.dm
#	code/game/objects/items/devices/uplink.dm
#	code/game/objects/items/robot/robot_upgrades.dm
#	code/game/objects/items/toys.dm
#	code/game/objects/items/weapons/cards_ids.dm
#	code/game/objects/items/weapons/handcuffs.dm
#	code/game/objects/items/weapons/manuals.dm
#	code/game/objects/items/weapons/material/kitchen.dm
#	code/game/objects/items/weapons/material/misc.dm
#	code/game/objects/items/weapons/material/swords.dm
#	code/game/objects/items/weapons/melee/energy.dm
#	code/game/objects/items/weapons/melee/misc.dm
#	code/game/objects/items/weapons/scrolls.dm
#	code/game/objects/items/weapons/storage/belt.dm
#	code/game/objects/items/weapons/stunbaton.dm
#	code/game/objects/items/weapons/tools.dm
#	code/game/objects/objs.dm
#	code/game/objects/structures/crates_lockers/closets.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/janicart.dm
#	code/game/sound.dm
#	code/game/turfs/simulated.dm
#	code/game/verbs/ooc.dm
#	code/global.dm
#	code/modules/admin/verbs/debug.dm
#	code/modules/admin/verbs/modifyvariables.dm
#	code/modules/client/client procs.dm
#	code/modules/client/preferences.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/head/hardhat.dm
#	code/modules/clothing/head/helmet.dm
#	code/modules/clothing/head/jobs.dm
#	code/modules/clothing/head/misc_special.dm
#	code/modules/clothing/shoes/jobs.dm
#	code/modules/clothing/spacesuits/alien.dm
#	code/modules/clothing/spacesuits/captain.dm
#	code/modules/clothing/spacesuits/miscellaneous.dm
#	code/modules/clothing/spacesuits/rig/rig_pieces.dm
#	code/modules/clothing/spacesuits/rig/suits/alien.dm
#	code/modules/clothing/spacesuits/spacesuits.dm
#	code/modules/clothing/spacesuits/void/merc.dm
#	code/modules/clothing/spacesuits/void/void.dm
#	code/modules/clothing/suits/armor.dm
#	code/modules/clothing/suits/jobs.dm
#	code/modules/clothing/suits/storage.dm
#	code/modules/clothing/suits/utility.dm
#	code/modules/clothing/suits/wiz_robe.dm
#	code/modules/clothing/under/jobs/security.dm
#	code/modules/economy/Events.dm
#	code/modules/economy/Events_Mundane.dm
#	code/modules/economy/economy_misc.dm
#	code/modules/events/blob.dm
#	code/modules/events/event.dm
#	code/modules/events/event_container.dm
#	code/modules/events/event_manager.dm
#	code/modules/events/money_lotto.dm
#	code/modules/events/prison_break.dm
#	code/modules/events/spacevine.dm
#	code/modules/hydroponics/trays/tray.dm
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/emote.dm
#	code/modules/mob/holder.dm
#	code/modules/mob/language/station.dm
#	code/modules/mob/living/bot/cleanbot.dm
#	code/modules/mob/living/carbon/alien/diona/diona.dm
#	code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
#	code/modules/mob/living/carbon/give.dm
#	code/modules/mob/living/carbon/human/emote.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/inventory.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/outsider/vox.dm
#	code/modules/mob/living/carbon/human/species/station/golem.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/carbon/human/update_icons.dm
#	code/modules/mob/living/carbon/metroid/metroid.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defense.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/pai/admin.dm
#	code/modules/mob/living/silicon/pai/pai.dm
#	code/modules/mob/living/silicon/robot/drone/drone.dm
#	code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
#	code/modules/mob/living/silicon/robot/emote.dm
#	code/modules/mob/living/silicon/robot/robot_items.dm
#	code/modules/mob/living/silicon/robot/robot_modules.dm
#	code/modules/mob/living/silicon/silicon.dm
#	code/modules/mob/living/simple_animal/bees.dm
#	code/modules/mob/living/simple_animal/friendly/cat.dm
#	code/modules/mob/living/simple_animal/friendly/corgi.dm
#	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
#	code/modules/mob/living/simple_animal/friendly/mouse.dm
#	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
#	code/modules/mob/living/simple_animal/hostile/hostile.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/logout.dm
#	code/modules/mob/mob.dm
#	code/modules/mob/mob_grab_specials.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	code/modules/organs/organ.dm
#	code/modules/organs/organ_alien.dm
#	code/modules/organs/organ_external.dm
#	code/modules/paperwork/faxmachine.dm
#	code/modules/projectiles/ammunition/boxes.dm
#	code/modules/projectiles/ammunition/bullets.dm
#	code/modules/projectiles/guns/energy/nuclear.dm
#	code/modules/projectiles/guns/energy/rifle.dm
#	code/modules/projectiles/guns/energy/special.dm
#	code/modules/projectiles/guns/projectile.dm
#	code/modules/projectiles/guns/projectile/automatic.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/bullets.dm
#	code/modules/projectiles/projectile/special.dm
#	code/modules/reagents/reagent_containers.dm
#	code/modules/reagents/reagent_containers/food/drinks.dm
#	code/modules/research/designs.dm
#	code/modules/research/destructive_analyzer.dm
#	code/modules/research/rdconsole.dm
#	code/modules/spells/artifacts.dm
#	code/modules/spells/spellbook.dm
#	code/modules/tables/tables.dm
#	code/world.dm
#	config/example/config.txt
#	icons/mob/items_lefthand.dmi
#	icons/mob/items_righthand.dmi
#	icons/obj/lighting.dmi
2016-10-31 00:01:52 +02:00
skull132 48c9b27143 Silicon UI check runtime (#973)
A missing sanity check was causing runtime errors whenever a borg had no cell, and had a nanoUI window open.
2016-09-20 15:39:11 +03:00
PsiOmegaDelta 94b999772b Merge remote-tracking branch 'upstream/dev' into 151117-MultitoolPower
Conflicts:
	code/game/machinery/computer/atmos_alert.dm
	code/game/machinery/computer/station_alert.dm
2015-12-04 11:22:27 +01:00
PsiOmegaDelta ad67887706 Adds a remote interaction state for NanoUI.
This state has two checks:
A preliminary check of the remote target, ensuring it's powered, etc. If the remote target is fully disabled, it closes the window and conducts no further checks.
It then makes a full check, ensuring that the mob is capable, within range of the source remoting to the remote target, etc.

Unlike most other static interaction states, whoever initializes the remote state is responsible for deleting it properly.
2015-12-03 10:15:11 +01:00
PsiOmegaDelta c30a518221 Merge remote-tracking branch 'upstream/dev' into 151117-MultitoolPower
Conflicts:
	code/modules/mob/living/silicon/ai/ai.dm
2015-12-02 09:18:07 +01:00
PsiOmegaDelta 11db663fac Ghosts can now view any object with a NanoUI interface.
However, ghosts can now also only view objects in range to ensure that the NanoUI window count is kept low.
Admins do not suffer this restriction and may also interact with these windows.
2015-11-22 12:21:41 +01:00
PsiOmegaDelta 47ece50813 Allows the AI to utilize its multitool where applicable. 2015-11-18 11:01:08 +01:00
PsiOmegaDelta 357c716a2b Merge remote-tracking branch 'upstream/dev-freeze' into dev 2015-09-29 11:52:48 +02:00
PsiOmegaDelta 86223d65bf TODO done. 2015-09-29 11:28:31 +02:00
PsiOmegaDelta 597631687b Merge remote-tracking branch 'upstream/master' into dev-freeze 2015-09-29 11:26:42 +02:00
PsiOmegaDelta d77bcd7937 The silicon law manager now only requires the host to be conscious.
This should mean that the law manager is available even for carded AIs, even with the wireless interface disabled. Fixes #11139.
2015-09-28 21:23:10 +02:00
PsiOmega 93a8a3a13f Observers can now view radio settings, admins can alter them. 2015-09-04 10:07:41 +02:00
PsiOmegaDelta c2e2252342 Synth access and icon update changes.
Refactors how synthetics set their modules. On login, if appearance selection was initiated but not finalized, the selection options popup again. Fixes a long-standing issue of borgs being able to look like the standard module by loging out.
Ensures the syndicate agent IDs and syndicate borgs will always have the same initial access permissions.
Removes now unnecessary syndicate snowflake code from NanoUI.
Synths now utilize actual ids.
2015-08-20 12:40:08 +02:00
Kelenius d8d94b9d64 Merge branch 'dev' into ofSleepersAndNano
Conflicts:
	code/game/machinery/Sleeper.dm
	maps/exodus-1.dmm
2015-08-13 09:20:51 +03:00
PsiOmegaDelta 3e266ab377 Merge remote-tracking branch 'upstream/dev-freeze' into dev 2015-08-05 09:25:53 +02:00
PsiOmegaDelta 6b01a67c50 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/modules/admin/admin_verbs.dm
	code/modules/nano/interaction/default.dm
2015-08-05 09:16:50 +02:00
Kelenius f948932bee Updates sleepers
WIP
2015-07-29 11:17:15 +03:00
Zuhayr 73146a62fe Merge pull request #9747 from PsiOmegaDelta/150608-NanoPaths
NanoUI sources can now be datums instead of atom/movable.
2015-06-09 20:08:02 +09:30
PsiOmegaDelta 20542bf84b NanoUI sources can now be datums instead of atom/movable.
Also accidentally fixes #7042 as the AI no longer cares about the machinery var.
2015-06-08 17:06:06 +02:00
PsiOmegaDelta cad9b59c25 AI restrictions and rejuvenation.
Ensures the AI cannot use Topics() while unpowered.
Ensures the AI is properly rejuvenated by the AI verb, as a functional AI will now never be lying down.
2015-06-08 09:10:33 +02:00
PsiOmega c21a456379 Fixes #9447.
The inteliCard now has a NanoUI interface, allowing it to utilize custom CanUseTopic() checks depending on context, in-hand or in-rig.
2015-05-24 11:33:54 +02:00
PsiOmega 952cdda4e6 Merge remote-tracking branch 'upstream/dev' into PortableNanoUI
Conflicts:
	baystation12.dme
2015-04-26 19:40:05 +02:00
PsiOmega e2ce3d1e01 Scrubber NanoUI interface.
Ports https://github.com/d3athrow/vgstation13/pull/4142 with added Bay-flavor.
To operate once must be adjacent to the scrubber.
Silicons can view the status panel from any distance they are able to access the scrubber from.
This preserves the current behavior.
2015-04-26 17:34:56 +02:00
PsiOmega 9df5048dbc Makes it possible for borg modules to include specific subystems. 2015-04-26 15:42:36 +02:00
PsiOmega 27abc7404d Gives AI a personal atmospherics control subsystem.
Includes further work on NanoUI interactions.
2015-04-19 00:24:19 +02:00
PsiOmega 67708c6d3b Fixes #8880.
Case of incorrectly sent parameter.
2015-04-18 08:59:49 +02:00
PsiOmega aa5d5d5256 Fixes NanoUI interaction.
A number of machinery objects were returning STATUS_INTERACTIVE instead of parent.
Fixes missing subtype definition for /var/global/datum/topic_state/default/default_state.
2015-04-13 23:19:22 +02:00
GinjaNinja32 d4eb42b38b Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/projectiles/targeting.dm
2015-04-13 12:49:07 +01:00
PsiOmega e37c5c22d4 Refactors NanoUI interaction (again)
Takes NanoUI interaction code and splits it into more manageable modules.

The default handler that checks distances, camera coverage, etc., etc.
Admin NanoUI windows now only check for admin rights, ignoring sight, distance, and anything else.
ERT/mercenary appearance changer now remains open for as long as the mob remains on the admin Z-level.
PDAs and uplinks now require that you keep the item somewhere in your main inventory (or contents to be precise). Hands or ears are fine, inside bags are not.
Rig suits also check that they are in the operator's inventory or that the synthetic operator is somewhere within the suit's contents (recursively).
2015-04-10 11:19:38 +02:00