Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI Multicamera mode #37695

Merged
merged 9 commits into from May 31, 2018
Merged

Conversation

Cruix
Copy link
Contributor

@Cruix Cruix commented May 5, 2018

untitled

🆑 Cruix
add: AIs now have an experimental multi-camera mode that allows them to view up to six map areas at the same time, accessible through two new buttons on their HUD.
/:cl:

The AI is often expected to be keeping an eye on multiple different parts of the station at all times, which usually entails smashing the "show camera list" and "track with camera" buttons for their entire play time. This PR makes it possible for the AI to store several important map locations and be able check on them all with one button press, then switch back and zoom around the map as normal.

Due to the limitations of vis_contents, I had to make a new area with no darkness and no camera static to park the AI's client eye while it looks at the different screens. You can make up to six windows, and they can be resized and moved wherever you want them on your screen. Darkness, camera static, huds, and click interaction all work normally through the windows. Parallax does not, because you cannot see space. AI detection multitools properly detect the different cameras as if they were the AI's primary camera.

All the sprites are, naturally, terrible, but maybe someone will step up and make better-looking ones.

@IconDiffBot
Copy link

IconDiffBot commented May 5, 2018

Icons with diff:

icons/misc/pic_in_pic.dmi
Key Old New Status
room_background[10] room_background[10] Created
room_background[5] room_background[5] Created
move move Created
room_background[2] room_background[2] Created
background_highlight background_highlight Created
room_background[12] room_background[12] Created
room_background[1] room_background[1] Created
blank blank Created
room_background[6] room_background[6] Created
room_background[13] room_background[13] Created
room_background[14] room_background[14] Created
room_background[7] room_background[7] Created
room_background[4] room_background[4] Created
room_background[11] room_background[11] Created
room_background room_background Created
room_background[16] room_background[16] Created
room_background[9] room_background[9] Created
background background Created
expand expand Created
x x Created
room_background[8] room_background[8] Created
room_background[3] room_background[3] Created
shrink shrink Created
room_background[15] room_background[15] Created
icons/mob/screen_ai.dmi
Key Old New Status
new_cam new_cam Created
multicam multicam Created
icons/obj/machines/camera.dmi
Key Old New Status
camera_in_use[10] camera_in_use[10] Created
camera_in_use[53] camera_in_use[53] Created
camera_in_use[6] camera_in_use[6] Created
camera_in_use[32] camera_in_use[32] Created
camera_in_use[39] camera_in_use[39] Created
camera_in_use[15] camera_in_use[15] Created
camera_in_use[44] camera_in_use[44] Created
camera_in_use[55] camera_in_use[55] Created
camera_in_use[43] camera_in_use[43] Created
camera_in_use[29] camera_in_use[29] Created
camera_in_use[49] camera_in_use[49] Created
camera_in_use[22] camera_in_use[22] Created
camera_in_use[45] camera_in_use[45] Created
camera_in_use[27] camera_in_use[27] Created
camera_in_use[4] camera_in_use[4] Created
camera_in_use[20] camera_in_use[20] Created
camera_in_use[54] camera_in_use[54] Created
camera_in_use[11] camera_in_use[11] Created
camera_in_use[50] camera_in_use[50] Created
camera_in_use[48] camera_in_use[48] Created
camera_in_use[7] camera_in_use[7] Created
camera_in_use camera_in_use Created
camera_in_use[3] camera_in_use[3] Created
camera_in_use[21] camera_in_use[21] Created
camera_in_use[1] camera_in_use[1] Created
camera_in_use[5] camera_in_use[5] Created
camera_in_use[2] camera_in_use[2] Created
camera_in_use[13] camera_in_use[13] Created
camera_in_use[52] camera_in_use[52] Created
camera_in_use[38] camera_in_use[38] Created
camera_in_use[41] camera_in_use[41] Created
camera_in_use[30] camera_in_use[30] Created
camera_in_use[23] camera_in_use[23] Created
camera_in_use[33] camera_in_use[33] Created
camera_in_use[31] camera_in_use[31] Created
camera_in_use[36] camera_in_use[36] Created
camera_in_use[37] camera_in_use[37] Created
camera_in_use[24] camera_in_use[24] Created
camera_in_use[42] camera_in_use[42] Created
camera_in_use[34] camera_in_use[34] Created
camera_in_use[25] camera_in_use[25] Created
camera_in_use[46] camera_in_use[46] Created
camera_in_use[47] camera_in_use[47] Created
camera_in_use[40] camera_in_use[40] Created
camera_in_use[17] camera_in_use[17] Created
camera_in_use[19] camera_in_use[19] Created
camera_in_use[12] camera_in_use[12] Created
camera_in_use[14] camera_in_use[14] Created
camera_in_use[51] camera_in_use[51] Created
camera_in_use[16] camera_in_use[16] Created
camera_in_use[9] camera_in_use[9] Created
camera_in_use[8] camera_in_use[8] Created
camera_in_use[26] camera_in_use[26] Created
camera_in_use[35] camera_in_use[35] Created
camera_in_use[28] camera_in_use[28] Created
camera_in_use[18] camera_in_use[18] Created
icons/turf/areas.dmi
Key Old New Status
ai_camera_room ai_camera_room Created

@mapdiffbot
Copy link

mapdiffbot bot commented May 5, 2018

Maps with diff:

_maps/map_files/generic/CentCom.dmm

Old New
Status Region Logs Raw
Modified (19, 14) => (35, 30) Logs Old | New


Last updated from merging commit a9cb5a4 into 880d6d0

Full job logs available here

Please report any issues here.

@tgstation-server tgstation-server added Feature Exposes new bugs in interesting ways Map Edit Sprites A bikeshed full of soulless bikes. labels May 5, 2018
@@ -11,8 +11,6 @@
layer = LIGHTING_LAYER
invisibility = INVISIBILITY_LIGHTING

blend_mode = BLEND_ADD
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not know why, but if this is set, you cannot see darkness through the vis_contents of screen objects. This should always be overridden by the darkness plane master (which is set to BLEND_MULTIPLY) anyway, so I have no idea why this is the case.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Kromgar
Copy link
Contributor

Kromgar commented May 5, 2018

@Tlaltecuhtli
Copy link
Contributor

🍋 good pr

@Amelia0010
Copy link
Contributor

I love you cruix

@Iamgoofball
Copy link
Contributor

chance to replace the matrix background after 30 minutes with blondes, brunettes, redheads, etc. when?

@mirrorcult
Copy link
Contributor

WHAT THE FUCK THIS IS SO COOL

@arsserpentarium
Copy link
Contributor

Cool. Amazing thing.

@Partheo
Copy link
Contributor

Partheo commented May 6, 2018

Holy shit

@MrDoomBringer
Copy link
Contributor

holy fucking shit this is slick!! the fuuck

@deathride58
Copy link
Contributor

You should probably make the room be generated at runtime according to the DEFAULT_VIEW config option, so that servers running non-15x15 resolutions don't have to do a bunch of heavy lifting to get this working properly.

Aside from that, hOLY FUCK MERGE THIS IMMEDIATELY

@Cruix
Copy link
Contributor Author

Cruix commented May 6, 2018

It will need a maximum boundary so it does not run into anything else on centcomm, and since there is no reason to not have it fill that boundary it may as well be as big as possible. I suppose it should probably be bigger than it is right now just in case.

@deathride58
Copy link
Contributor

Putting some thought into it, wouldn't it be entirely plausible to make the entire thing be rendered entirely via screen objects? Pretty sure vis_contents works inside screen objects.

@Cruix
Copy link
Contributor Author

Cruix commented May 6, 2018

The windows currently are screen objects. The area is only there because darkness and camera static render over them, and because there is no way to change the plane of the objects in vis_contents independently of the objects themselves, the only way to not have them covered is to move the client eye to a place with no static and no darkness.

@GunHog
Copy link
Contributor

GunHog commented May 6, 2018

That is the best AI update since Freelook! Brilliant, brilliant work!

@PKPenguin321
Copy link
Contributor

if that binary doesnt translate to wgw i will be disappointed

@81Denton
Copy link
Member

81Denton commented May 6, 2018

This is absolutely great! I've found two minor issues:

  1. The background doesn't loop smoothly, there is a noticable "jump" when the animation loops.
  2. When a camera window border overlaps with a wall-mounted object, the object "pops out" at the edge of the window. This also makes wall-mounted objects visible through static. This might be related to AIs can see wall-mounted objects inside rooms with no cameras #36527
    For example, see the left side of the window:

asddsaasdads

@ShizCalev
Copy link
Member

#2 would infact be #36527's fault.

@Doppeltongue
Copy link

The playerbase might need some time to adjust to AIs that can see more than one thing at a time now, but multiple cameras is what playing AI should feel like.

@81Denton
Copy link
Member

81Denton commented May 6, 2018

The playerbase might need some time to adjust to AIs that can see more than one thing at a time now

Yeah, it'll be much harder to sneak into high-security areas and stealthily disable cams now.

@Anonmare
Copy link
Contributor

Anonmare commented May 6, 2018

It'd probably be very disorientating and confusing for a lot of first-timers since splitting your attention 6 ways ain't the easiest thing in the world

@GuppyLaxx
Copy link
Contributor

why is this not merged yet wtf??????????

@optimumtact
Copy link
Member

maintainers don't like it

@ExcessiveUseOfCobblestone
Copy link
Contributor

@CosmicScientist the cardborg just makes you look like a default cyborg but there's some issues associated with it on the tracker that reserves it basically for trolling newbie silicons until they get fixed.

@Bawhoppen playing the AI as if you're suppose to be Big Brother and are suppose to "win" by stopping harm (which mainly = btfoing antags as covertly as possible to minimize any sort of reactive counterplay) is not anyone's fault but your own. It SHOULD be a pain in the rear (even if it's just muh UI clicks) to play as all-seeing eye because quite frankly it doesn't improve the gameplay very much when you're selectively playing dumb to validhunt, which is quite frankly the only reason this is to be used (Why do you need constant EVA watch,Beepsky watch, or Bridge watch for Asimov???).

IE. See traitor with non-harmful equipment but still bolt-depower them because antags are harmful!!!!! Yet as soon as they get sent to the "prisoner transfer room" or actually get killed by sec you go "bad sec!" or "hmm how did that happen!" then feed them the next victim.

It's okay to "lose" in the sense of not being able to uphold asimov because of your limited information, just like it is for Sec to lose when someone dies to an antag or when Medical is unable to find that body because the antag disposed of it.

@MrStonedOne MrStonedOne added this to the Knowledge Filled PRs milestone May 21, 2018
@imtakingabreakdontatme
Copy link
Contributor

@Cyberboss are you satisfied with the code

@Cyprex
Copy link
Contributor

Cyprex commented May 27, 2018

@ExcessiveUseOfCobblestone

Why do you need constant EVA watch,Beepsky watch, or Bridge watch for Asimov???
Beepsky watch isn't possible, as the camera views can't track, to my knowledge.

@ExcessiveUseOfCobblestone
Copy link
Contributor

@Cyprex The screen in OP looks like it is tracking beepsky. If you can't my apologies, don't play AI enough to know for certain.

@cacogen
Copy link
Contributor

cacogen commented May 31, 2018

ya did good kid

@MrDoomBringer
Copy link
Contributor

NICE

@demonfiren
Copy link

madman tbh fam

@81Denton
Copy link
Member

this pleases the harmyeller

@nicbn
Copy link
Contributor

nicbn commented May 31, 2018

oh no

Jalleo added a commit to Jalleo/-tg-station that referenced this pull request Jun 1, 2018
* Automatic changelog generation for PR tgstation#37962 [ci skip]

* Automatic changelog generation for PR tgstation#37984 [ci skip]

* Fix flipping of trinary pipe fittings and related RPD tooltips (tgstation#37982)

* Automatic changelog generation for PR tgstation#37982 [ci skip]

* Stops luxury shuttle forcefields from vanishing

* Automatic changelog compile, [ci skip]

* Fix outdated R&D console comment (tgstation#38020)

* Fix power tools being deleted if adjusted using TK

* Fix TK sparkling in the corner of an area when clicking a turf

* Fix bad TK interactions with material containers

* Fix TK teleporting items out of the deep fryer

* Fix TK teleporting filled sandbags

* Examine the grabbed object instead of the TK grab

* Fix click catcher math being wrong in widescreen

* Fix lathes attempting to accept abstract items

* Fixes mimery blockade showing up under spell tab (tgstation#38004)

* Automatic changelog generation for PR tgstation#38004 [ci skip]

* Fixes reactive repulse armour (tgstation#37999)

* Removes a couple thousand empty lists (tgstation#38000)

door.shockedby

* Automatic changelog generation for PR tgstation#38000 [ci skip]

* Adds a sprite for the "quit vr" action button (tgstation#37994)

* is that a motherfucking 90s reference

* WHEN YA FUCK UP BADLY ENOUGH ON ADDING A SPRITE TGHAT YA GOTTA MANUALLY CHANGE CHANGELOG.HTML

* Automatic changelog generation for PR tgstation#37994 [ci skip]

* Fix frost spiders injecting a nonexistent reagent

* Fix Jacob's Ladder allowing access to VR

* Magical Animations Update Part 2: Staffs (tgstation#37930)

* Add files via upload

* WHY IS THIS SO HARD

* fuck books

* Some circuitry fixes and qol (tgstation#37755)

* some circuit fixes

I removed the ability for you to save whether or not an assembly is open since you always want the assebly to be open when its printed so you can put a battery in. I fixed the other three issues because they were bugs.

* tells user when they use a sensor or scanner

* oops

* revert last commit

* usr -> user

* Automatic changelog generation for PR tgstation#37755 [ci skip]

* Replaces /atom.initialized and .admin_spawned with flags (tgstation#37981)

kill .initialized and .admin_spawned from /atom

* Automatic changelog generation for PR tgstation#37981 [ci skip]

* [s] Power monitor tweaks and fixes (tgstation#38005)

* Power monitor tweaks and fixes

* Crouching tiger, hidden power monitor

* flavor text

* Fix ambient occlusion on xeno weeds and wall corners (tgstation#37987)

* Automatic changelog generation for PR tgstation#37987 [ci skip]

* Make CentCom not self-looping (tgstation#37979)

* Automatic changelog generation for PR tgstation#37979 [ci skip]

* Fix the destructive analyzer eating entire stacks (tgstation#37983)

* Automatic changelog generation for PR tgstation#37983 [ci skip]

* Fixes proximity sensors. (tgstation#37985)

* Fixes proximity sensors.

* comment -> removal

* admin backup loading fix (tgstation#38034)

* Fix gravity in one of Moon Outpost 19's areas (tgstation#37989)

* bronze spelling

* Security console fixes

* Sync permanent admin removals to the players table immediately

* Fixes fried items losing inhands (tgstation#38048)

* Cargo Update: Cargo Supplypod Beacons! (tgstation#37345)

(THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN) [New sprite!]

* file

the boy

asdh

beacon overlays

first pass complete bring out the drinks boys

fixes!

fixes!

whups fix name

speed

makes coffin a crate to prevent runtimes

sprite fuckup:the musical

whups more fixes

why tf was screengen modified???

TO THE FILE

devices

changes things

p[omf pomf

uhg

alright fuk it

issue fix pt 1

in which i make merge conflicts my bitch

by fixing devices.dmi and tgui.js

oh shit

forgot about the items repath

hm

nah

merge conflict a

then all ya gotta do is whip

* shiv review me code reeeeeeeeeeeeeeee

* rebase conflict

* anturk

* asdf

* wooooeeeeeeh makin bacon

* dont forget about lil old me

* id like to give a shoutout, to my man spacemaniac. on the soul plane. rip in peice, my bugs. rip in peice

* spacy man what is ur spacy plan

* 1st

* 2nd

* organization also a thing

* so i figured out why defines didnt work sometimes across files. this fixes the last issue rn

* forgot to cop the commit

* fuck how am i so stupid

* adds comments and agrees with spacemaniac

* asdfghjk

* Automatic changelog generation for PR tgstation#37345 [ci skip]

* Adds VR Snowdin and Syndicate Trainer/VR Update roll up (tgstation#37915)

* Adds VR Snowdin and Syndicate Trainer

* Replace var edit

* I did forget to add a few

* Adds one full outfit spawn

* internals too

* closet

* Extends same Z level check to monitor and emping

* restricted uplinks

* camera bug fixes

don't talk about the bees

outfit changes

More items

outfit fix

* Adds vr sleepers to runtime station

* More mapping fixes

* Adds telecomms to taunt your enemies

* More restrictions

* Some fixes

* badabing

* More fixes

* emag related changes

* forgot the ract

* Additions

* griff resistance mode

* minor changes

* Removes old centcom away map

* Pushes you out of VR if you try to ghost

* this is 🅱️roke

* this shit is not 🅱️roke

* as requested

* Automatic changelog generation for PR tgstation#37915 [ci skip]

* Adds departmental wardrobe vendors to all maps (tgstation#37992)

* pubby, omega, meta, deltastation

* groups/sorts autodrobe packs and mining vendor items

* moves delta bar vendor

* expands omega+meta private studies

* Automatic changelog generation for PR tgstation#37992 [ci skip]

* Added an action button to change your entire chameleon outfit at once (tgstation#37953)

* Added an action button to change your entire chameleon outfit at once

* Made chameleon stamps actual chameleon items
Added stamps to bonus chameleon items on outfits that should have them
Made clothing work with hooded suits

* Automatic changelog generation for PR tgstation#37953 [ci skip]

* Enable SSping during the lobby

* Fix grammar in admin varedit log

* Shuffle Exited call to after loc is actually changed in forceMove (tgstation#38022)

Fixes storage forcing everything to mouse opacity fulltile

* Small QoL improvement on smartfridge item release (tgstation#37946)

* item goes to hand

* this will compile

* Ugly hack give me a medal if this compiles.

* This one is real ugly now, speedmerge please

* Automatic changelog generation for PR tgstation#37946 [ci skip]

* Fix template preview being invisible on space turfs (tgstation#37971)

* Automatic changelog generation for PR tgstation#37971 [ci skip]

* Disallow effects from being scanned by the chameleon projector (tgstation#38017)

* henk

* iseffect

* Automatic changelog generation for PR tgstation#38017 [ci skip]

* Reorder vars

* Fixes drones being able to magically sense invisible revenants (tgstation#38019)

* revfix

* Update revenant.dm

* Automatic changelog generation for PR tgstation#38019 [ci skip]

* Fixes accidental empty ahelp replies (tgstation#38052)

* Automatic changelog generation for PR tgstation#38052 [ci skip]

* Automatic changelog generation for PR tgstation#38026 [ci skip]

* req_one_access (tgstation#38068)

* Automatic changelog generation for PR tgstation#38068 [ci skip]

* Automatic changelog generation for PR tgstation#38023 [ci skip]

* Automatic changelog generation for PR tgstation#37993 [ci skip]

* Automatic changelog generation for PR tgstation#37960 [ci skip]

* Automatic changelog generation for PR tgstation#38044 [ci skip]

* Automatic changelog compile, [ci skip]

* Adjust antag rep values

* Automatic changelog generation for PR tgstation#38042 [ci skip]

* Automatic changelog compile, [ci skip]

* Only adjust input bar color on hotkey mode

* Automatic changelog generation for PR tgstation#37963 [ci skip]

* Eat the ice cream (tgstation#38028)

* Eat the ice cream

* Update robot_items.dm

* Update robot_items.dm

* Automatic changelog generation for PR tgstation#38028 [ci skip]

* Bag of Holding Rework (tgstation#38010)

* Bag of Holding Rework

* RCDs work on chasms

* No transit space nonsense

* Fixes runtimes

* No infinite chasm

* Automatic changelog generation for PR tgstation#38010 [ci skip]

* Default to not adjusting direction in Create Object (tgstation#37998)

* Automatic changelog generation for PR tgstation#37998 [ci skip]

* Circuitry lab changes (tgstation#38029)

* circuitry lab changes

* syndicate cell charger board

* Automatic changelog generation for PR tgstation#38029 [ci skip]

* Fix nullspace error room not working correctly

* Allow into space diagonally (tgstation#38066)

* Automatic changelog generation for PR tgstation#38066 [ci skip]

* [s] Blacklists TB grenade from experimentor. (tgstation#38095)

* Automatic changelog generation for PR tgstation#38095 [ci skip]

* Gun overlays 2: Electric boogaloo. (tgstation#38003)

* Reduces selfcharge gun processing/icon work

* More efficient gun overlays, adds old_ratio var

* oh my god it was calling the egun's update_icon?

* percent proc

* Attachment overlay overhaul

* Cut overlays in egun update

* ebow 1000% better overlay management

* Update gun.dm

* Pointless check

* Giving KA and children consistent icon behavior

* Update kinetic_accelerator.dm

* Fixed

* ..() readded

* ..() readded

* ..() readded

* Antur didnt catch this one heck

* Because confusing vars are apparently more maintainable

* Gun overlays 2: Electric boogaloo

* another one

* Chameleon guns are removed

* tentacles everywhere

* Automatic changelog generation for PR tgstation#38003 [ci skip]

* Fixes backslot not counting towards assess_threat (tgstation#38046)

* Fixes backslot not counting towards assess_threat

* fixed

* Cleanup & commentary

* Automatic changelog compile, [ci skip]

* Gives effects to drinks Alexander, Between the Sheets, and Menthol (tgstation#37700)

Drink effects!

* Automatic changelog generation for PR tgstation#37700 [ci skip]

* Ports gloves of the north star from Hippie (tgstation#37864)

* Ports gloves of the north star from Hippie

* Doing a white line

* adds customiseable warcry and sprites by Notamaniac

* star with a capital S

* Nitpick grammar

* Automatic changelog generation for PR tgstation#37864 [ci skip]

* Eatting fried items actually consumes the item (tgstation#38054)

* Eatting fried items actually consumes the item

* destroy

* Fix typo in Python dependencies file (tgstation#38080)

* Fix premapped atmos machines turning on automatically when re-wrenched (tgstation#38065)

* Fix premapped atmos machines turning on automatically when re-wrenched

* Move on and open variables up to atmospherics base

* Update maps for valve var change

* Rename valve/open to valve/on, add valve/digital/on

* Automatic changelog generation for PR tgstation#38065 [ci skip]

* Add container_type to VV bitfields

* Capitalizes CentCom (tgstation#38086)

* Capitalized CentCom

* neediful

* Fix the escape pod safes always being unlocked

* [s] Fixes TB nades for real now (tgstation#38113)

* Automatic changelog generation for PR tgstation#38113 [ci skip]

* Automatic changelog compile, [ci skip]

* Those footprints are... moving? [Chameleon Proj will let you scan decals] (tgstation#38071)

* Automatic changelog generation for PR tgstation#38071 [ci skip]

* Custom Chaplain Armor Kits (tgstation#37569)

* giant dad set

* twop underway

* initial

* initial

* no special armors :((((

* bye twop

* no more special armors

* f

* more removals

* fixes

* normieizing the armors pt1

* ok, finally

* I'M DONE I DID IT

* removals

* this will not compile but next commit in two commits it will

* this will not compile but next commit it will

* it compiles 20 dollars says it compiles

* i am so sorry

* fixes everything, >:(

* *coughs up hairball*

* cobby's suggestion

* pbool'f fhttrfgvba

* OOOOOOOOH YEAAAAAAAH BABY

* quieter

* AH OKAY THERE

* Automatic changelog generation for PR tgstation#37569 [ci skip]

* Adds better admin messaging to boh and fixes summons happening in the wrong places (tgstation#38096)

* Adds better admin messaging to boh

* Same for the logs

* chumbis

* I'm a chumbis

* Automatic changelog generation for PR tgstation#38096 [ci skip]

* Adds action features to the metastation beerkeg-nukes (tgstation#38084)

* Hottomonkulu Pyynö mos kyren hepität. Nerse marentaat aluturnate.

* Masennoo sum keuron väkeltäät vassem Pyynö er borsalitaat Urmas.

* Tarnatat kuulor ustanitat vernes heuremasso seurutik Pyynör kanervo mahkatosimos. Atti ivakhan nutiv.

* Surmustulet nasnas kyhille nes viuhuntut sepelitör arnisansatin.

* Automatic changelog generation for PR tgstation#38084 [ci skip]

* New Trait: Drunken Resilience (tgstation#38076)

* drunk healing

* balance, bugfix

* more consistent wording

* removed random chance and tweaked values

* rounding values

* 0 to FALSE, slightly lowered top values

* Automatic changelog generation for PR tgstation#38076 [ci skip]

* @Dril  Jan 21 thinking of wrapping my entire body in barbed wire and becoming Sovereign

* Borgs can now toggle rad collectors (tgstation#38100)

* Automatic changelog generation for PR tgstation#38100 [ci skip]

* Automatic changelog compile, [ci skip]

* Refactor machinery/anchored to default to TRUE

Deletes /obj/machinery/thruster.

Changes the density of the following abstract types:
- /obj/machinery/modular_computer
- /obj/machinery/mineral
- /obj/machinery/field
- /obj/machinery/particle_accelerator
- /obj/machinery/abductor
- /obj/machinery/telecomms

* Remove redundant anchored=TRUE from machines

* fixes beebox from cargo starting wrenched

tgstation#38119

* ss

* Fixes "humans_need_surnames" applying to all races

* [s] Fix observers being able to manipulate their target's screens (tgstation#38097)

* Fix observers being able to move the action button toggle button

* Fix observers using the target's ambient occlusion preference

* Automatic changelog generation for PR tgstation#38097 [ci skip]

* Fix runtimes when pipe placement fails due to overlap (tgstation#38104)

* List catpeople and hulks as mutants in health scans

* Fix: Negative blood levels now kill you (tgstation#38105)

* Automatic changelog generation for PR tgstation#38105 [ci skip]

* Adding logging for attempted disarms (tgstation#38107)

* This time for sure

* Reflect fix (tgstation#37964)

Reflectors reflect at expected angles at long distances.

* Automatic changelog generation for PR tgstation#37964 [ci skip]

* Automatic changelog generation for PR tgstation#38121 [ci skip]

* Automatic changelog generation for PR tgstation#38119 [ci skip]

* Automatic changelog generation for PR tgstation#38115 [ci skip]

* Automatic changelog generation for PR tgstation#38108 [ci skip]

* Automatic changelog generation for PR tgstation#38090 [ci skip]

* Delta toxins lab DLC (tgstation#38110)

* deletes firing range

* adds ignition chamber

* reeeee

* readds deleted valves

* dv begone

* removes blob spawn

* Automatic changelog generation for PR tgstation#38110 [ci skip]

* Automatic changelog compile, [ci skip]

* Make typecache checks twice as fast, stop using single-type typecaches where appropriate (tgstation#38075)

* Automatic changelog generation for PR tgstation#38075 [ci skip]

* collector-examine (tgstation#38035)

Now collector on examine shows real produced power and stored power.
Rename last_power to stored_power.

* Automatic changelog generation for PR tgstation#38035 [ci skip]

* Automatic changelog compile, [ci skip]

* Fixes some minor bugs with the syndicate trainer and IDs (tgstation#38127)

* Automatic changelog generation for PR tgstation#38127 [ci skip]

* Fix the destructive analyzer not revealing nodes (tgstation#38106)

* Fix the destructive analyzer not revealing nodes

* Fix references to deconstructive analyzer

* Automatic changelog generation for PR tgstation#38106 [ci skip]

* Fixes traitor AI purge objective

* Makes a bunch of materials containers show contents on examine (tgstation#38133)

* fixes people trying to fix the bangammer's grammar (tgstation#38129)

* that means you, Michael-Ashfield

* fixes grammer

* blockquotes

* Fixes flamethrowers not able to be crafted (tgstation#38139)

Adds tools to [other] list so they can be included in crafting recipes

* Automatic changelog generation for PR tgstation#38139 [ci skip]

* Spew proc has an argument for amount of organs spewed (tgstation#38124)

alright

* Arrest diagonal movement when force-moved

* Fixes Meta maint chemmaster (tgstation#38148)

hhhh

* Allow dynamically updating UI style, do so on mob login (tgstation#38089)

* Automatic changelog generation for PR tgstation#38089 [ci skip]

* Fixes Spirit Realm rune spawning braindead cult ghosts (tgstation#38138)

* Fixes Spirit Realm rune spawning braindead cult ghosts

* Keeps previous ghost limit

* Automatic changelog generation for PR tgstation#38138 [ci skip]

* Fix cyborg HUD not unhilighting when dropping a module (tgstation#38145)

* Fix cyborg HUD not unhilighting when dropping a module

* Remove redundant dropped call

* Strip DROPDEL before dropping rather than after

* Automatic changelog generation for PR tgstation#38145 [ci skip]

* Fixes random-weighted AI laws (tgstation#38152)

* Removes normal ways to obtain drones (tgstation#38101)

I don't want this merged as soon as, I'd just rather normal drones to go away if no-one offers to fix their broken state.

Going to see if I can find out from someone how to edit maps tomorrow to remove the dispensers from them since you can't make them and I swear I've seen them before.

    remove any way to obtain drones outside the dispenser
    remove dispenser from maps

Edit: To better explain for the sake of a good PR body and a lack of a link to the PR a day ago, drones have been in the code in roughly the same state for 3 years (dispenser PR by Xhuis is missing from GitHub) and have gained laws admins enforce when they notice drones doing the wrong thing due to it being a ghost role. The code verbally dictates this will happen. The role hasn't been coded to prevent these many wrong things and has weak balance to begin with being a monkey with a vent ready backpack.

Administration hasn't stopped caring about this role. It should be in their direct hands until the role is clearly not an administration problem and fixed to represent that.

* Automatic changelog generation for PR tgstation#38101 [ci skip]

* makes things that light plasma fires capable of heating the atmosphere (tgstation#37426)

In layman's terms, this means welding tools, bonfires, igniters, etc, will now actually generate heat. Attempting to build a bonfire inside the station without taking precautions is now a very bad idea.

cl deathride58
add: Things that are capable of igniting plasma fires will now generate heat if there's no plasma to ignite. Building a bonfire inside the station without taking safety precautions is now a bad idea.
/cl

* Automatic changelog generation for PR tgstation#37426 [ci skip]

* Chemical Specific Heats (tgstation#37691)

cl
experimental: Chemistry now has something called specific heat. For the uninitiated, this is the thermal capacity of the reagent, much like how some atmospherics gases have different thermal capacities, making them able to absorb/release more energy per degree of temperature change!
rscadd: Plasma specific heat is 500J/K*unit, everything else is 200
/cl

* Automatic changelog generation for PR tgstation#37691 [ci skip]

* Refactors how overlays handle the compile step (tgstation#38002)

Robustin says:

The very heart of our overlay code, a single line that basically boiled
down to overlays = new_overlays, was the cause of so much overlay lag.
Human overlay code was by far the biggest culprit. Most objects have 0-2
overlays but humans are marching around with 20+ most of the time and
the current system was spending a LOT of effort comparing 20+ image with
20+ other images and then apparently rendering them all anyway. Human
overlays are at least 10x the cost of any other overlay process and on a
busy server the overlay compiling was 2x the cost of any other system.

I compared the cost of overlay changes by picking up/dropping a PDA in
the dorms 250 times, with a 50% chance to use our current overlay
compiler and a 50% chance to use a "direct addition/removal (+=, -=)
approach:
CURRENT         1120ms  133     (avg:8.4210529327392578)
SCRAPS  6ms     112     (avg:0.0535714291036129)

Now this PR makes our whole overlay subsystem use that approach for
overlay compiling and the early results look incredible. The best part
is this is just the START of improvements. Humans benefits the most
because their icon system was already designed for small, incremental
overlay updates. By moving other code from "Cut everything, then put it
all back" to only updating the necessary overlays (cough, APC's), we can
see similar improvements.

oranges says:
I've picked up this PR because robustin vanished, but I do see the value
in the approach, only things I added were the checks for the overlay
list len changing

I also retabbed the entire file because I am a brainlet and did it
without thinking

* Automatic changelog generation for PR tgstation#38122 [ci skip]

* Adds module upgrades for the Janiborg (tgstation#38114)

* Adds upgrades for the Janiborg.

* Does the requested changes.

* Automatic changelog generation for PR tgstation#38114 [ci skip]

* Fix Pubby auxiliary mining base

* AI Multicamera mode (tgstation#37695)

* Added multicamera mode for AIs

* Minor multicamera fixes

* Cameras near an AI multicamera eye now light up red

* Disabled AI multicamera mode without admin intervention

* Fixed AIs being able to use multicamera mode when they should not

* Automatic changelog generation for PR tgstation#37695 [ci skip]

* Fix: Cyborgs can now use defibs with other modules equipped (tgstation#38158)

* Adds a check to see if the user is a cyborg before referring to the offhand.

* Update twohanded.dm

* actually this is a bit more modular

* Update twohanded.dm

* Update twohanded.dm

* Automatic changelog generation for PR tgstation#38158 [ci skip]

* Fix family heirloom being lost on cloning

* Set cult floor effects to be on the floor plane

* Standardizes and cleans up some admin messages & logging (tgstation#38128)

* Improved logging

* Fixes & emitter logging

* ded

* Fix First Death not being remembered if DB is not in use

* Removes drone overlays and the associated code (tgstation#38175)

* Remove drone overlays

4* animated multidir overlays per mob is a bit much

* to the orbit with you too

* Adds config for monkey cap (tgstation#38165)

* Automatic changelog generation for PR tgstation#38165 [ci skip]

* Corrects bronze floor & table's name (tgstation#38164)

* Automatic changelog compile, [ci skip]

* Blacklist projectile effects from chasms

* Automatic changelog generation for PR tgstation#38159 [ci skip]

* Fix rank changing with legacy only rank loading (tgstation#38160)



Legacy only rank loading would block any permanent rank changing.
Now only blocks adding a new rank to the db.

* Remove datum/action/generic (tgstation#38201)

* Fix reagents being lost when vomit piles combine

* Stock parts sorter now use get_parts_rating (tgstation#38191)

* Automatic changelog generation for PR tgstation#38191 [ci skip]

* Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (tgstation#38171)

* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs

* Automatic changelog generation for PR tgstation#38171 [ci skip]

* Automatic changelog compile, [ci skip]

* Fix infinite soapstone uses exploit (tgstation#38195)

* Automatic changelog generation for PR tgstation#38195 [ci skip]

* allows changing the rank of players in the playerpanel (tgstation#38172)

* allows changing the rank of players in the playerpanel

* Update permissionedit.dm

* Update permissionedit.dm

* Automatic changelog generation for PR tgstation#38179 [ci skip]

* Automatic changelog generation for PR tgstation#38180 [ci skip]

* Automatic changelog generation for PR tgstation#38185 [ci skip]

* Automatic changelog generation for PR tgstation#38198 [ci skip]

* Marginal Sprite Improvements Part 2: Cigarette Lighter Boogaloo (tgstation#38161)

* the rainbow of mediocrity rides again

* whoops that wasn't supposed to be there

* updated vending machine, burger, and donut sprites

they've all been improved marginally

* edits roborger a bit more

"bun" is flatter, has an antenna that blinks in agony

* does sprite things to lighters and cigar cases

* darkened cigar case interiors

* tweaks lighter flames

* Automatic changelog generation for PR tgstation#38161 [ci skip]

* Automatic changelog generation for PR tgstation#38210 [ci skip]

* EMPs no longer pulse internal silicon wires

* Fixed the clockwork helmet so it drops to the ground when used by a non-clock cultist like the other clock armor does.

* Automatic changelog generation for PR tgstation#38170 [ci skip]

* Automatic changelog generation for PR tgstation#38116 [ci skip]

* Automatic changelog compile, [ci skip]
tigercat2000 added a commit to tigercat2000/Paradise that referenced this pull request Jun 6, 2018
tgstation/tgstation#28360
tgstation/tgstation#37695

This commit adds a system for picture-in-picture UI windows using
vis_contents, a new feature to BYOND 512. Essentially, it allows you to
make UI windows that show an area of turfs. It also refactors how
cameranet visibility works, and makes the Adv. Camera Console code a bit
cleaner and more inheritance-based, especially with it's action buttons.

Currently, this is hesitantly implemented on AIs. They gain two new
UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go
into Multicam Mode, they see a background of animated binary numbers,
and they are allowed to create an infinite amount of these picture in
picture windows, which subsequently creates an aiEye for each one. They
are able to control each AI eye individually, by first clicking on the
PIP window to select it as "active" and then using the normal arrow key
controls. The PIP windows can be freely resized and moved around the
area.

The AI implementation may be considered controversial; Thus, it's locked
by default, requiring an administrator to var-edit "multicam_allowed" on
the AI before it is able to use the function. Otherwise, the buttons
just do nothing and alert the user to "Contact an administrator to use
these". There's not really any easy way to completely hide the UI
elements until they are available.

As this relies on 512 features, Travis has been bumped up to use 512.
@MrStonedOne
Copy link
Member

LummoxJR has rated this as dang thats pretty and glorious.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Do Not Merge You must have really upset someone Feature Exposes new bugs in interesting ways Sprites A bikeshed full of soulless bikes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet