Commit Graph

6467 Commits

Author SHA1 Message Date
Pieter-Jan Briers
f2a321008b Merge pull request #1893 from DrSmugleaf/pragma-begone 2020-08-24 15:52:06 +02:00
DrSmugleaf
8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +02:00
DrSmugleaf
a4f527351e Add test for adding each component individually to an entity (#1870)
* Add test for adding each component individually to entities

* Put one-to-one test before all-at-once test
2020-08-24 13:39:00 +02:00
py01
9e6459ac79 Gun verb changes (#1888)
* Bolt action ver fixes

* Fixes bolt-action playing two sounds when cycling on empty magazine

* MagazineBarrel open/close bolt verb visibility

* mag stuff

* Dirty checks on guns

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-24 13:20:11 +02:00
metalgearsloth
501c8a9f6a Slight DisposalUnit optimisation (#1874)
UI was being updated every tick even when not necessary. Ideally you'd just update the UI based on events but this is fine for now.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 13:16:23 +02:00
Exp
56ebde7f45 Add IItemStatus to some weapon types (#1879)
* Bolt Action

* Shotguns

* Revolver + Outline

* In Magazines: show bullets as numbers plus the usual bullet stuff

* Empty bullets have another texture
2020-08-24 13:13:26 +02:00
metalgearsloth
969eeb5528 Add AI factions (#1807)
* Add NPC faction tags

Some stuff isn't easy to represent by the existence of components so tags are intended to provide that functionality for AI usage.

I was 50/50 on having all tags in the 1 component or splitting it into 2. I'm leaning towards 2. This would be for stuff like say "CanMimic" so the mimic knows it's allowed to look like a specific prototype, or something like "smg" on a gun so it can say smg-specific barks for instance (as currently smgs and pistols look the same from a component perspective).

This also means combat behaviors aren't hardcoded per faction, plus it makes it easy to update faction relations during events.

* Factions command

Update faction relationships via commands.

* Remove command TODO

* Woops

Forgot to commit these items

* Serializer writing and parsing

* linq me up fam

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 12:33:03 +02:00
SoulSloth
df823d2245 Add Flashlight Visualizer/states (#1861)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* Added playing parameter to radiatingLightComponent, changed it's animation key to radiatingLight

* refactored RadiatingLight into a visualizer

* Added different light animations for differnt power states of a flashlight

* split out the radiating light visualizer into two seperate visualizers

* further refactored and tweaked handheldlight animations

* further lantern light tweaks

* removed un-used attributes in flashlight and lantern prototypes

* fix null check in handheldlightcomponent
2020-08-24 12:32:18 +02:00
DrSmugleaf
42d2334334 Fix airtight entities not getting invalidated and their vacuum not being fixed (#1876) 2020-08-23 17:17:19 +02:00
Víctor Aguilera Puerto
39f346ed42 Fix stripping menu hands' items not showing correctly. 2020-08-23 15:03:01 +02:00
DrSmugleaf
814daaba4c Fix the flashlight's power bar and status with no battery (#1862)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 13:19:40 +02:00
DrSmugleaf
a4a25a9975 Remove localization manager dependencies from components (#1864)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 12:53:09 +02:00
metalgearsloth
0b4ca168d4 Fix AI steering throw (#1872)
Entity steering wasn't properly checking if the target was deleted.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-23 12:42:59 +02:00
DrSmugleaf
b9196d0a10 Add a test that puts all components on an entity and checks for no exceptions (#1815)
* Add test that puts all components on an entity and checks for no exceptions

Also fix all the exceptions that happened because of this

* Add comments to the test

* Fix nullable errors

* Fix more nullable errors

* More nullable error fixes

* Unignore basic actor component

* Fix more nullable errors

* NULLABLE ERROR

* Add string interpolation

* Merge if checks

* Remove redundant pragma warning disable 649

* Address reviews

* Remove null wrappers around TryGetComponent

* Merge conflict fixes

* APC battery component error fix

* Fix power test

* Fix atmos mapgrid usages
2020-08-22 22:29:20 +02:00
Víctor Aguilera Puerto
5de139d6fd Improves examine for ranged weapons, magazines and ammo. 2020-08-22 20:18:49 +02:00
Víctor Aguilera Puerto
35e963a0ea Lights now show a popup message when you burn yourself. 2020-08-22 19:37:23 +02:00
DrSmugleaf
7e957ceff1 Fix not dropping your items when dying while buckled (#1856)
* Fix not dropping your items when dying while buckled

* Add test for dropping items while buckled and dead
2020-08-22 17:07:41 +02:00
DrSmugleaf
092dd7c946 Fix xenos not changing sprites when going into crit or dying (#1854) 2020-08-22 15:51:35 +02:00
DrSmugleaf
c87a8d5b51 Fix NRE when pointing happens without player data or a mind (#1855) 2020-08-22 15:18:04 +02:00
Julian Giebel
265afc9929 Change NextTube in DisposalTubeComponent to consider multiple tube (#1851)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-22 13:55:58 +02:00
DrSmugleaf
bb923aa230 As discussed on the Discord, xenos are not humans (#1840)
* As discussed on the Discord, xenos are not humans

* Add living component for living beings without a defined body

* Merge LivingDamageable and Damageable components

* Fix ruinable and state manager inconsistencies

* Fix ruinable exposedata

* Fix new destructibles yamls

* Fix healing not healing

* Fix alive not being a valid state

* Fix valid state checking
2020-08-22 13:40:22 +02:00
Exp
1b634739ac Observers are shown as observers in the RoundEndSummary (#1838)
* Observers are shown as observers in the RoundEndSummary

* Fix typo

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-22 12:45:49 +02:00
DrSmugleaf
efbd01d0bf Add test for airlocks opening/closing and blocking entities (#1842)
* Add test for airlocks opening/closing and blocking entities

* Nullable fix classic
2020-08-22 12:30:30 +02:00
DrSmugleaf
8a21df21f2 Fix nullable build errors (#1849) 2020-08-22 12:24:59 +02:00
Julian Giebel
1c21f2c3b0 Rework emergency lights (#1830)
* Implement emergency lights reacting to lost power

* Add emergency light sprites
Remove shared emergency light component

* Remove unused import

* Remove EmergencyLight NetID

* Add rich description
Change comments
Add license
Implement ExposeData

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-22 12:06:29 +02:00
metalgearsloth
72e50cce94 AI pickup changes (#1811)
* AI pickup changes

Eating and drinking isn't spammed anymore.
AI can do InRangeUnobstructed checks for item pickups.
AI can open drink cans.

AI littering to be coded.

* #nullable enable

* github's nullable fails are actively shortening my lifespan

* Use a const instead

So it's easier to find given the performance implications.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-22 12:03:24 +02:00
Víctor Aguilera Puerto
b3156e9934 Play special sound when you get chosen as traitor in SSS. 2020-08-21 21:09:24 +02:00
Víctor Aguilera Puerto
1086474cd0 Do not spawn the item in nullspace in InventoryHelpers 2020-08-21 20:29:29 +02:00
Víctor Aguilera Puerto
a5fbe0f024 firelock stuff I guess 2020-08-21 18:29:43 +02:00
Víctor Aguilera Puerto
fd81e05d5b Add inventory helpers and an integration test for it (#1841) 2020-08-21 18:09:47 +02:00
Pieter-Jan Briers
94e85adedb I blame Rider. 2020-08-21 17:48:22 +02:00
Pieter-Jan Briers
3f0665b908 Make deleting a visited entity not cleaning it up in the mind. 2020-08-21 17:43:27 +02:00
Pieter-Jan Briers
d5c4ed819c Add some minor setup behavior to DummyGameTicker by giving it a common base with normal GameTicker.
Necessary for the game to, well, function.
2020-08-21 17:41:50 +02:00
Víctor Aguilera Puerto
68fb5d4257 Merge branch 'master' into 2020-08-19-firelocks 2020-08-21 16:51:50 +02:00
Pieter-Jan Briers
80e175aaa9 Fix deletion of inventories of dead people. 2020-08-21 14:54:38 +02:00
Víctor Aguilera Puerto
c042b46220 Fix arrow visibility for ghosts.
metacomming bad
2020-08-21 13:32:04 +02:00
Exp
02b5632dac Observers are now shown in the Lobby as Observers (#1834)
* Observers are now shown in the Lobby as Observers

* Weviews adwessed
2020-08-21 11:24:06 +02:00
Exp
8fe211bf88 Make Table Vaulting use "theName" macro (#1832) 2020-08-21 11:00:27 +02:00
Pieter-Jan Briers
4863c0eb2d Merge pull request #1827 from exp111/20200820-min-traitor-exception
Fixed Exception when ReadyPlayers < MinTraitors
2020-08-21 00:08:47 +02:00
Exp
ce1dc6d86b Table Vaulting notify messages use the name (#1828) 2020-08-21 00:08:16 +02:00
Pieter-Jan Briers
b1eb320b0a Fix exception with explosions and storage items. 2020-08-20 23:44:35 +02:00
Pieter-Jan Briers
f27ce22dc9 Reduce airlock prying time. 2020-08-20 22:38:00 +02:00
Exp
daf17e1c64 Fixed Exception when ReadyPlayers < MinTraitors 2020-08-20 22:16:34 +02:00
Pieter-Jan Briers
82c4c3eb4a Suspicion improvements:
1. pull settings from cvars.
2. Fix greet.

Fixes #1823
2020-08-20 22:05:14 +02:00
Pieter-Jan Briers
fc2ee61f75 Fix verbs in-hand.
Properly this time.
2020-08-20 21:45:43 +02:00
Pieter-Jan Briers
8a2530e7a0 More FloatMath -> MathHelper from merge. 2020-08-20 20:34:32 +02:00
Pieter-Jan Briers
bf60a4e9fc Merge branch 'master' into mathmerge 2020-08-20 20:33:43 +02:00
Pieter-Jan Briers
496b456120 Use in-memory SQLite prefs DB when UserData is virtual. 2020-08-20 18:47:41 +02:00
Víctor Aguilera Puerto
3203fdfb7f Fix fallback preset DisallowLateJoin not being taken into account 2020-08-20 18:18:42 +02:00
Víctor Aguilera Puerto
9e7d698145 Allow specifying a text to be shown to players in the summary when ending the round. (#1818)
* Allow specifying a text to be shown to players when ending the round.
Also sets text

* Fix comment
2020-08-20 18:09:29 +02:00