Commit Graph

1344 Commits

Author SHA1 Message Date
mirrorcult
e81db48cd1 Fix various issues with the emitter (#3329)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-03-14 23:02:22 +01:00
Swept
9a604e38d6 Updates chemistry layout on Saltern (#3658)
* Adds content

* Maps

* Fixed
2021-03-14 16:24:22 +11:00
Vera Aguilera Puerto
ab4b275247 Revert "Changes chemistry to be more secure for now (#3649)" (#3651)
This reverts commit fc9a62581b.
2021-03-13 13:54:48 +01:00
Swept
fc9a62581b Changes chemistry to be more secure for now (#3649)
* Adds content

* Maps
2021-03-13 20:27:53 +11:00
Swept
bf99a91507 Revert "Revert "Slight changes to spawners"" (#3627)
* Revert "Revert "Slight changes to spawners (#3605)" (#3624)"

This reverts commit 8c01d9d9dc.

* Bring back clicktest.yml

* Update IgnoredComponents.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-03-12 21:28:40 +01:00
metalgearsloth
8c01d9d9dc Revert "Slight changes to spawners (#3605)" (#3624)
This reverts commit a47e1b817c.
2021-03-12 20:22:33 +11:00
Swept
a47e1b817c Slight changes to spawners (#3605)
* Initial

* Done

* Ye

* Removes mouse spawns for now

* I'm an idiot!
2021-03-12 19:43:55 +11:00
Swept
87aced8392 Adds mice (#3594)
* Initial

* Mmm

* Adds them to map

* Makes mice grindable

* meta.json looking nice

* Mice go squeak

* Ye

* E

* Review

* Update Content.Server/GameObjects/Components/Mobs/Speech/MouseAccentComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-03-11 01:06:57 +01:00
Elijahrane
851f5925a5 Replace locked Tool Storage service doors with unlocked engineering doors (#3582)
* Replaced tool storage airlocks with unlocked ones

* Changed the service sprite for an unlocked engineering door which seems more fitting
2021-03-09 10:41:13 +01:00
Swept
033f222908 Fixes people being spawned in walls on Saltern (#3585) 2021-03-08 20:17:06 +01:00
Swept
5bee99c023 Hotfixes gun/battery magazines spawning at 0,0 (#3555) 2021-03-07 20:43:06 +01:00
metalgearsloth
4d064abcd7 Physics (#3485)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

* Fix dupe pulling

* Zumzum's based fix

* Don't run tile friction for non-predicted bodies

* Experimental pulling improvement

* Everything's a poly now

* Optimise AI region debugging a bit

Could still be better but should improve default performance a LOT

* Mover no updater

* Crazy kinematic body idea

* Good collisions

* KinematicController

* Fix aghost

* Throwing refactor

* Pushing cleanup

* Fix throwing and footstep sounds

* Frametime in ICollideBehavior

* Fix stuff

* Actually fix weightlessness

* Optimise collision behaviors a lot

* Make open lockers still collide with walls

* powwweeerrrrr

* Merge master proper

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Ch ch ch changesss

* SHIP IT

* Fix #if DEBUG

* Fix vaulting and item locker collision

* Fix throwing

* Editing yaml by hand what can go wrong

* on

* Last yaml fixes

* Okay now it's fixed

* Linter

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <zddm@outlook.es>
2021-03-08 04:09:59 +11:00
Swept
fee41dc987 Fixes cargo teleporter being unpowered (#3514) 2021-03-05 02:38:41 +01:00
Acruid
6c081d9d8d Shared Containers (#3331)
* Namespace changes for containers.
Moved ContainerSlot from content to engine.

* Merged client/server ContainerManagerComponents into a single shared version.

* Mapfile and nullability fixes.

* Upgrades map.

* Update engine.
2021-03-01 15:24:46 -08:00
Swept
f0b5235e2f Fixes Singularity part physics, material crates (#3453)
* Initial

* Hot
2021-03-01 12:55:34 -08:00
Swept
25e3cf667d Initial (#3454) 2021-03-01 12:54:06 -08:00
Swept
6df41b2fa7 Adds material and singularity cargo crates (#3445)
* Adds various crates

* Removes redundant code from EmitterComponent.cs

* (fixed) emitter

* Hopefully good

* Update meta.json
2021-02-28 11:57:44 -08:00
Pieter-Jan Briers
1eb0fbd8d0 Revert "Physics (#3452)"
This reverts commit 3e64fd56a1.
2021-02-28 18:49:48 +01:00
metalgearsloth
3e64fd56a1 Physics (#3452)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-01 03:11:29 +11:00
Swept
a9a96f2edc Crayon balance and reorganize (#3388)
* Organized and halved crayons write amount

* StackVisualizer for crayon box

* Mime's Crayon

* Gives crayons the write tag

* Applies reviews

* Fuck yo prefixes

* Update fun.yml
2021-02-27 16:59:20 -08:00
Swept
f23e35dc40 Adds tons of new materials + cleans up existing ones (#3413)
* RSIs are now banging

* Sheets

* Hotfix

* Last before PR

* Ready

* Quick

* E

* Updates everything to new stack PR

* Finished off ore, set max stack size to 30 from 50.

* Most materials done

* Donezo

* Adds hides and custom sprited a corgi hide

* Should be good

* suffix

* Bugs

* Giff woodplank

* Profit?
2021-02-26 18:59:24 +11:00
Swept
1e13c3b265 Fixes lathe stuff (#3383) 2021-02-23 18:53:14 +11:00
Clyybber
2de4be1708 Fix map rotation of two things (#3380) 2021-02-22 16:22:31 +01:00
Pieter-Jan Briers
63947a6d35 Fixes all the rotation bugs. (#3365) 2021-02-22 00:46:27 +01:00
Swept
83f102ea75 Cleans up Hydroponics content. (#3025)
* Adds to IgnoredComponents.cs

* Jackboots

* Half Done

* Moved to diff PR

* Everything functional

* Fixed Sprays

* Nice

* Fixed

* Update submodule

* Fix tests

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-17 23:59:15 +11:00
Visne
25c884a84d Remove weird "S" jumpsuit from existence (#3267) 2021-02-17 20:41:14 +11:00
mirrorcult
a44d822ef0 Proper vector2i serialization for tile atmos (#3266)
* update map files

* update submodule

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-02-17 20:33:58 +11:00
Vera Aguilera Puerto
5f15d97940 Fixes rotations on saltern 2021-02-12 14:09:50 +01:00
Acruid
ca4fd649fe Massive Namespace Cleanup (#3120)
* Engine namespace changes.

* Automated remove redundant using statements.

* Simplified Graphics namespace.

* Apparently the container system stores full type names in the map file.😞 This updates those names.

* API Changes to LocalizationManager.LoadCulture.

* Update submodule to v0.3.2
2021-02-11 01:13:03 -08:00
Alex Evgrashin
59e72697cb Buildable wall light (#2644)
* Added empty light

* Can build light fixture

* Can construct and deconstruct small light

* You can build bulbs only on walls

* Playing with placement conditions

* Refactored code a bit

* Added check for north direction and snapping

* Fixed all small light sprites (wrong directions order)

* Fixed weird problem with bulb lights

* Fixed rotation on all stations

* Fixed map again

* Much better placement mode

* Deleted shared wall component and moved all logic to raycasts

* Missing bracket

* Better texture

* Moved wallmount condition to tags

* Removed station station

* Added suffix and fixed on map init bug
2021-02-07 00:05:53 +01:00
DrSmugleaf
4272716289 Make integration tests use an empty map instead of saltern by default (#3094) 2021-02-07 00:32:48 +11:00
Swept
6b8cc9fc40 Deprecates stationstation.yml (#2668)
* Initial

* Change default map load to saltern

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-04 23:44:27 +11:00
Pieter-Jan Briers
c40ac26ced A big hecking chemistry-related refactor. (#3055)
* A big hecking chemistry-related refactor.

Changed SolutionContainerCaps. It now describes "stock" behavior for interacting with solutions that is pre-implemented by SolutionContainerComponent. As such things like syringes do not check it anymore (on themselves) to see "can we remove reagent from ourselves". That's assumed by it... being a syringe.

SolutionContainerCaps now has different flags more accurately describing possible reagent interaction behaviors.

ISolutionInteractionsComponent is the interface that describes the common behaviors like "what happens when injected with a syringe". This is implemented by SolutionContainerComponent but could be implemented by other classes. One notable example that drove me to making this interface was the /vg/station circuit imprinter which splits reagent poured in into its two reservoir beakers. Having this interface allows us to do this "proxying" behavior hack-free. (the hacks in /vg/ code were somewhat dirty...).

PourableComponent has been replaced SolutionTransferComponent. It now describes both give-and-take behavior for the common reagent containers. This is in line with /vg/'s /obj/item/weapon/reagent_containers architecture. "Taking" in this context is ONLY from reagent tanks like fuel tanks.

Oh, should I mention that fuel tanks and such have a proper component now? They do.

Because of this behavioral change, reagent tanks DO NOT have Pourable anymore. Removing from reagent tanks is now in the hands of the item used on them. Welders and fire extinguishers now have code for removing from them. This sounds bad at first but remember that all have quite unique behavior related to this: Welders cause explosions if lit and can ONLY be fueled at fuel tanks. Extinguishers can be filled at any tank, etc... The code for this is also simpler due to ISolutionInteractionsComponent now so...

IAfterInteract now works like IInteractUsing with the Priority levels and "return true to block further handlers" behavior. This was necessary to make extinguishers prioritize taking from tanks over spraying.

Explicitly coded interactions like welders refueling also means they refuse instantly to full now, which they didn't before. And it plays the sound. Etc...

Probably more stuff I'm forgetting.

* Review improvements.
2021-02-04 00:05:31 +11:00
20kdc
80ad2ef5b7 Botany composting & shovel/spade (or, make botany sustainable) (#3064)
* Botany: Introduce shovel and spade into hydro\_tools

* Botany: Add shovel/spade (just removes plants)

* Botany: Add shovel/spade lathe recipes and make all botany lathe recipes accessible

* Botany: Add spade into Saltern

* Botany: Give Saltern a bucket for the botanist

* Botany: Plant produce can be composted for nutriment/etc.

* Botany: Bye-bye duplicated force update code, hello ForceUpdateByExternalCause

* Botany: Shovel identity crisis resolved (thanks Paul)
2021-02-01 23:46:20 +01:00
Swept
bfe575b7b6 Random bedsheet spawner. (#2940)
* Initial

* Optimized YAML

* Probbed

* Updates RSIs

* Maps them into dorms.

* A

* Adds descriptions from TG

* Addressed reviews
2021-01-11 18:02:36 +11:00
SweptWasTaken
ba6fa3b1b4 Done 2021-01-05 13:00:12 -08:00
SweptWasTaken
38f5185bdb Nukes Pathfinding maps 2021-01-05 12:44:03 -08:00
AJCM-git
04b05c60cb Many improvements to disposals room (#2848) 2020-12-29 01:42:20 +01:00
Swept
8a84f7aedf Maps in cargo teleporter (#2834) 2020-12-27 18:50:22 +11:00
20kdc
fe71789dd7 Saltern: Add antimatter and singularity engine rooms (#2757)
* Saltern: Add antimatter engine (north-east of engineering) and singularity engine (south of gravgen) areas.

* Saltern: Add a spare emitter and some AME fuel to the room that looks like it's for spare parts

* Reapplied firelock PR

map merge driver when

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-17 19:25:48 +11:00
20kdc
6299578f35 Saltern: Fix double-airlock at disposals and missing firelock in column of 3 (#2751) 2020-12-17 19:01:36 +11:00
20kdc
d870a13445 Singularity testing map & "startsingularityengine" admin command (#2752)
* Singularity Testing Map: Add a command to auto-config the singularity engine

* Singularity Testing Map: Add the singularity testing map

A derivative of 20kdcstation.
2020-12-17 18:20:57 +11:00
20kdc
d614e282b4 Add reinforced walls back to Saltern's gravity generator room. (#2750)
Fixes #2646
2020-12-16 14:35:13 +01:00
20kdc
fd0df9a00a Traitor Deathmatch (#2719)
* Traitor Deathmatch: Add the preset [Rebase onto factors line]

* Traitor Deathmatch: Being a human head or other not-quite-fully-animate object counts as dead. [ROFL]

* Traitor Deathmatch: Add redemption machine (but it doesn't work) [ROFL]

* Traitor Deathmatch: Map in redemption machines [ROFL]

* Traitor Deathmatch: Make the rounds end properly [ROFL]

* Traitor Deathmatch: PDA redemption works [ROFL]

* Traitor Deathmatch: New redemption machine sprite ( @Tomeno )

* Traitor Deathmatch: Get rid of redundant using

* Traitor Deathmatch: Change scoring, prevent redeeming your own PDA, fix bug where PDAs are not tagged with their owner names

* Traitor Deathmatch: Better messages, change cvar name, don't count ghosts for spawnpoint selection
2020-12-13 16:00:49 +01:00
metalgearsloth
a78452c845 Fix disposals do_after (#2722)
* Fix disposals do_after

* DataField instead

* Update Content.Server/GameObjects/Components/Disposal/DisposalMailingUnitComponent.cs

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/Disposal/DisposalUnitComponent.cs

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:17:00 +01:00
DrSmugleaf
02bca4c0d8 Damage rework (#2525)
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable

* Copy sound logic to destructible component for now

* Fix typo

* Fix prototype error

* Remove breakable component damageable reference

* Remove breakable construction reference

* Remove ruinable component

* Move thresholds to individual components and away from damageable

* Add threshold property to damageable component code

* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states

* Being alive isn't normal

* Fix not reading the id

* Merge fixes

* YAML fixes

* Grammar moment

* Remove unnecessary dependency

* Update thresholds doc

* Change naming of thresholds to states in MobStateComponent

* Being alive is once again normal

* Make DamageState a byte

* Bring out classes structs and enums from DestructibleComponent

* Add test for destructible thresholds

* Merge fixes

* More merge fixes and fix rejuvenate test

* Remove IMobState.IsConscious

* More merge fixes someone please god review this shit already

* Fix rejuvenate test

* Update outdated destructible in YAML

* Fix repeatedly entering the current state

* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test

* Update saltern
2020-12-07 14:52:55 +01:00
Vera Aguilera Puerto
c3341132c5 Upgradeable machines. (#2675)
* Start work on upgradeable machines.

* Upgradeable machines work

* Component requirements for upgradeable machines

* Better container handling

* Remember to not push submodule updates in your PRs, kids!

* Refresh parts after building a machine.

* NetSync false

* Address some reviews, fix some bugs

* Nullable stackhelpers dependencies

* Use container helper method to delete all entities in containers

* Nullable string in AddContainer

* Better examine for machine frame and construction in general

* Machine breakage

* Nullable node

* nullable GraphPrototype

* Re-save saltern for autolathe parts

* Fix SaveLoadSave
2020-12-03 22:49:00 +01:00
Swept
d5f9ed3a0d Saltern Additions (#2652)
* Initial

* Initial2

* Applied review
2020-12-02 00:05:33 +01:00
20kdc
79ba3e9e64 Saltern: Map in a cargo ordering computer (that can actually get cargo) (#2625) 2020-11-25 13:53:07 +01:00
Swept
f46a6a8d81 Copyright Pass/Pruning | Part 1 - Clothing (#2539)
* Backpacks/Belts

* Cleans up Headsets

* Glasses and Gloves (Remind me to make an alpha for those stupid gloves)

* This commit has taken too many of my damn tears please appreciate it

* Holy SHIT that was an ordeal

* NECK and MASKS

* Jumpsuits/skirts

* Goodbye old color.rsi

* Outerclothing

* More Outerclothing

* It builds now

* More ID organization :)

* Gloves up to scratch

* My piss burns

* GLasses

* Added some more glasses

* Mission control we are ready for review

* Hotfix

* Cleanup

* Fix not commenting out whole line in contents

* duffelbag => duffel bag

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Fixed Breath Mask

* Scrubs

* New line

* Fixed Build

* Ok

* Update engivend.yml

* Fix meson glasses prototype in boxes

* Fix prototype name for sec glasses in boxes

* Fix InventoryHelpersTest janitor jumpsuit prototype

* Fix outdated stationstation prototypes

* Fix vending machines having invalid starting inventories

* Fix chapel vending machine

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-22 15:17:14 +11:00