Commit Graph

7093 Commits

Author SHA1 Message Date
Rykka
09183614fc AI Picture-in-Picture fixes, major exploit fix 2020-05-11 10:33:11 -04:00
Rykka
cc038370f9 Add AI Picture-in-Picture Mode!
This adds a system for picture-in-picture UI windows using
vis_contents. Essentially, it allows you to make UI windows that show an area of turfs. It also refactors how cameranet visibility works.

Currently, this is 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 AI Eye 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.

You can control everything inside these PIP windows EXACTLY the same as you can using a traditional AI Eye, as demonstrated below.

For admins, there is a config option to disable PIP entirely - simply set `var/multicam_allowed = TRUE` to FALSE if you wish to disable it from being used. (Please be reasonable.) <3

You can see an example of how this works here:
![https://i.imgur.com/TCND8W9.mp4](https://i.imgur.com/TCND8W9.mp4)

AI Multicam functionality.

Do note that if the lightbulb in the AI core is busted, the multicam room is dark(er) than it would be, but you can still see your camera windows just fine. (I'll probably fix this later.) It only affects the "matrix" backdrop, the PIP windows are still fine.

This has been runtime-tested with the latest `master` revision and produces 0 runtimes, and has no noticeable impact on server CPU usage.

Polarisport is here! Port of https://github.com/VOREStation/VOREStation/pull/7752
2020-05-10 14:00:45 -04:00
Atermonera
0ab643585c Merge pull request #7100 from VOREStation/pol-borglarm
Don't show borgs alarms not local to them
2020-05-07 18:36:33 -07:00
Atermonera
6ecfe951ed Merge pull request #7091 from VOREStation/vplk-proper-atmos-canpass
[PORT] Use can_atmos_pass to reduce proc-calls in c_airblock()
2020-05-06 23:02:51 -07:00
Atermonera
86d9c3ae0d Merge pull request #7077 from Mechoid/KururakTweaks
Kururaks now (theoretically) are not as agonizing to fight.
2020-05-05 14:17:44 -07:00
Atermonera
7e46e56c33 Merge pull request #7065 from Novacat/nova-alerts
Speech Bubble Adjustments
2020-05-05 14:08:44 -07:00
Atermonera
1cb60a41fa Merge pull request #7060 from Mechoid/LingFixes+OtherFixes
Ling Fixes + Various other fixes
2020-05-05 14:00:34 -07:00
Aronai Sieyes
3d72db9848 Don't show borgs alarms not local to them 2020-05-05 12:33:30 -04:00
Leshana
e74ebd9805 Use can_atmos_pass to reduce proc-calls in c_airblock()
- Add additional can_atmos_pass value ATMOS_PASS_PROC which indicates custom behavior requiring calling the CanZASPass proc.
  - The benefit being for the other three values we DON'T need to call CanZASPass at all!  We already know the behavior without the overhead of a proc call.
  - Obviously any atom with can_atmos_pass = ATMOS_PASS_PROC cannot now call ..() in CanZASPass() since the default behavior would be to (recursively) call CanZASPass()
  - This required re-numbering the constants, so I also fixed all code that assumed particular values for the constants.
- Switched all types which overrode CanZASPass with custom logic to be can_atmos_pass = ATMOS_PASS_PROC
- Changed /turf/c_airblock() to skip calling /atom/movable/c_airblock() for the three can_atmos_pass values that don't require calling the proc.
2020-05-04 13:47:52 -04:00
Leshana
35b7446a32 Fix return values of CanZASPass
- CanZASPass is supposed to return boolean.  Nobody noticed this bug because ATMOS_PASS_YES and ATMOS_PASS_NO happen to be defined as 1 and 0.  But thats not a good assumption to make, so lets fix it!
2020-05-04 13:47:08 -04:00
Mechoid
fdda65e6a5 Kururaks now (theoretically) are not as agonizing to fight, and not dangerous when they spawn in the plains, unless you are intentionally hunting them. 2020-05-03 15:55:53 -07:00
Atermonera
b6ede448fc Merge pull request #7043 from MisterLayne/prommie-lang
Promethean Language
2020-05-03 00:12:25 -07:00
Atermonera
d02eb4517e Merge pull request #7069 from Mechoid/FixTemp
Fix Temp check.
2020-05-02 13:29:48 -07:00
Mechoid
413c5984ae ..I don't know how I did that. 2020-05-02 12:58:29 -07:00
Mechoid
8a8c4d5c16 Update harvesting.dm 2020-05-02 12:40:43 -07:00
Mechoid
b9249866c1 Fix Mob Examine 2020-05-02 12:39:12 -07:00
Atermonera
653cb2f2c3 Merge pull request #7053 from VOREStation/pol-airefactor
Refactor AI into two subsystems
2020-05-01 12:09:08 -07:00
Mechoid
aafd4b4fa6 Explorer Expansion: New Horizons (#6960)
* Large amount of work; Animal taming, shearing. Random animal spawns on sif grass/forest turfs. New PoIs, thermal poncho.

* Combat drone DMI moved to drones folder. Mining Drone subtype added. "Tameable" with ores, will collect and store ores when not in active combat.
2020-05-01 11:19:21 -07:00
Unknown
4df0f7efcb Speech Bubble Adjustments
- Organic looking synths have a normal speech bubble, until they pass their lookssynthetic check (usually due to damage)
- Organics with a synthetic voicebox sound synthetic.
2020-04-30 18:44:08 -04:00
Atermonera
61c4929d61 Merge pull request #7045 from Neerti/let_them_eat_all_the_cake
Removes limits on eating, centralizes nutrition changing.
2020-04-29 14:14:11 -07:00
Aronai Sieyes
6c6644f86c Rewrite examine() to pass a list around (#7038) 2020-04-29 13:42:16 -07:00
Mechoid
a5d0978773 Ling Fixes + Various other fixes, including non-suit suit icons, rollerbed inhands, ling thermals existing and working, ling locker/morgue revive. 2020-04-27 20:27:39 -07:00
Aronai Sieyes
c170436256 Refactor AI into two subsystems 2020-04-27 10:11:49 -04:00
Aronai Sieyes
bc1fa7bd05 Refactor Move() code 2020-04-27 10:08:55 -04:00
Neerti
2dee403370 Removes limits on eating, centralizes nutrition changing. 2020-04-26 05:30:32 -04:00
MisterLayne
0df21c4691 prommies get language 2020-04-25 18:26:19 -04:00
Atermonera
27ec7ab68a Merge pull request #7034 from atlantiscze/2020_04_23_RobotXenoarch
Adds basic xenoarch & exploration equipment to research robot module
2020-04-25 12:58:01 -07:00
Atermonera
e733b77618 Merge pull request #7013 from Novacat/nova-accessory
Caps burning human temperature
2020-04-25 12:37:36 -07:00
Atlantiscze
95db1d6e8d Adds basic xenoarch & exploration equipment to research robot module
- Also removes commented-out sources of construction module which is long unused.
2020-04-23 16:52:16 +02:00
ShadowLarkens
54a8a5823d Saycode Overhaul -- Multilingualism (#6956)
* Port ParadiseSS13/Paradise#2100 - Saycode refactor

* Removed unused old carbon slimes code

* Port ParadiseSS13/Paradise#5099 - Saycode part 2

* Ported ParadiseSS13/Paradise#7170's /datum/browser Check Known Languages

* Port ParadiseSS13/Paradise#9240 - Get rid of alt_name in favor of GetAltName()

* Port ParadiseSS13/Paradise#10330 - You can now use multiple languages in one message

* Addressed Atermonera's review.

Translators now print the full message if they find any languages within the
message that the user doesn't understand, minus languages it cannot translate.

Additionally, the combine_message proc has been significantly simplified
by eliminating an ugly tree structure with the help of a little helper
proc.

The removal of the extra span inside each piece doesn't seem to have
visually changed the messages in any other way than changing where the
wordwrap happens, strangely enough. Must be something in IE's code being
picky about invisible elements. On the bright side, it splits *later*
than it did before, thus reducing the lines a message will take up by a
tiny amount.

Also, a bunch of things now have the 'filter_say' class from
PolarisSS13/Polaris#6998. Since span classes with no definition are
totally valid and just don't do anything, this PR does **not** depend on
that PR being merged first.

* Always gotta be one
2020-04-20 01:11:53 -07:00
Unknown
ac094e1cbd Fixes spacing issue 2020-04-18 01:19:49 -04:00
Unknown
3b2b23fc8c Caps burning human temperature
Basically makes it so that a burning human no longer infinitely increases in temperature. This is also being combined with reductions to heat damage level to make high temperatures less super lethal as they currently are on this codebase.
2020-04-18 01:18:13 -04:00
Mechoid
001d5b091f Merge branch 'master' of https://github.com/PolarisSS13/Polaris into ATaleofBlobsandMen
# FixConflicts:
#	polaris.dme
2020-04-09 22:55:42 -07:00
Neerti
8a03168d95 Stasis QoL (#6923) 2020-04-06 21:38:22 -07:00
Neerti
ba56f7951f Hopefully fixes conflicts. 2020-04-05 17:07:37 -04:00
Mechoid
55d52ca127 Explosive Lattice complete. 2020-04-03 21:10:55 -07:00
Atermonera
3473522d5a Merge pull request #6904 from VOREStation/pol-cleanup
Clean up various things
2020-04-03 00:13:32 -07:00
Atermonera
957a95fba7 Merge pull request #6902 from VOREStation/vplk-ssalarm
Convert alarm_manager into SSalarm subsystem.
2020-03-30 17:40:24 -07:00
Aronai Sieyes
f204ae9385 2 new mech equipments (#6889)
* Adds atom/movable cloaking framework

* Mecha omni-shield generator

* Mecha cloaking generator

* Clean up various mech code and allow overrides lower

* DME update

* Adds fighters

* Missed a color check in colorable gunpods

* Update code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm

Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>

Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
2020-03-29 14:53:56 -07:00
Neerti
88b4e47e8b Fixes merge conflicts again. 2020-03-28 19:06:14 -04:00
Leshana
8da8e3e0b1 Convert alarm_manager into SSalarm subsystem.
- Switch to using MC_TICK_CHECK and replace all references.
- Optimize stat panel display by caching the active alarms.
2020-03-28 01:20:34 -04:00
Aronai Sieyes
715de43f35 VChat: Redone chat output done in Vue.js (#6761)
* Better notifications

* Add buttons to del/move tabs in edit mode

* Add a <span> to emotes

* Fix duplicate IDs in VChat and add more logging

* VChat: Redone chat output in Vue.js

* Ported tg asset cache

* VChat DME Update

* Replace \image macro with bicon()

* NanoUI Subsystem Fixes

Don't do this, the asset subsystem does this for you

* Allow narrate/globalnarrate shenanigans

Allows HTML if your entire thing is HTML

* Disable bicon() icon object cache, and create text tag cache

* Ore Scanner is written incorrectly

Only revealed by vchat

* Fixes 2 VChat bugs

* Underline links in VChat

* Fix LOOC color

* VChat Improvements

Hopefully, anyway.
- Arbitrary font size setting
- Line height setting
- Multiple crush settings
- Rewrote how tabs work hopefully for performance
- Hidden messages are actually put elsewhere
- Attempts to correct chat backlog restore on rejoin

* Surgery steps to use <span>

* Some VChat Tweaks

- Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working)
- The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes.
- Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s.

* Include date in filename for VChat log save

* Merge pull request #6767 from Cyantime/patch-2

Change chat export naming scheme

* Adds VChat tab saving

Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc.

* Fix chat exporting when someone has used unicode

Only affects clients still using 512

* Use CLIENT_FROM_VAR for ease of code reading

* Update code/modules/client/asset_cache.dm

Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>

* Fix runtime when client disconnects before vchat loads

* Fix polaris version of command reports

* Fix LOOC color in oldchat

* Put some styles in various adminpm messages

* Round info and advanced who spans

* Fix missing tag-end

* Maybe fix images for linux and statpanel but also doom everyone

Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com>
Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
2020-03-27 14:07:28 -07:00
Neerti
87c53a75af Updates to master and makes gravity event code be current. 2020-03-26 04:10:51 -04:00
Neerti
f5383410ea Events ported, now for cleanup if needed. 2020-03-26 03:20:16 -04:00
Atermonera
76b825816c Merge pull request #6865 from Mechoid/FireAndFlameTweaks
Tweak Fire, Flamethrowers, and Water.
2020-03-25 23:16:36 -07:00
Aronai Sieyes
ad5f0485f7 Clean up things 2020-03-25 22:10:56 -04:00
Atermonera
3b6a106149 Prometheans can be slipped again (#6898)
* Prometheans can be slipped again

* Update human_attackhand.dm
2020-03-25 17:58:55 -07:00
Atermonera
2e623e5aa8 Merge pull request #6854 from Mechoid/XenoarchExpansion
Xenoarch Expansion
2020-03-24 18:42:15 -07:00
Mechoid
48c54fc43b More blob work. Blob core chunk added. 2020-03-24 14:26:27 -07:00
Atermonera
95ac99c514 Merge pull request #6882 from VOREStation/vplk-machinery-use-power
Machinery: Always use update_use_power()
2020-03-23 20:20:41 -07:00