Files
tbd-station-14/Content.Shared.Database/LogType.cs
Fildrance d38042a0c0 3mo xeno archeology (first phase) (#33370)
* DAG Adjacency Matrix & Tests

* Fix sandbox type errors

* First pass on procgen

* Procgen adjustments

* Networking

* Cruft and god and beauty and analysis console

* convert to data types that dont make me want to kill myself

* starting work on console UI

* drawing nodes n shit

* damn that ui FUCKS

* XAT

* Add a bunch of basic triggers

* Fix trigger gen

* Add node info into the analysis console UI

* Add node unlocking

* more trigger cuz thats pretty cool

* final triggers + incorporate gnostic faith

* some ui changes, mostly

* Fix orphaned procgen segments

* its not random dipshit

* yeah... this one will make pjb happy....

* we call it a day for the UI

* imagine... shared power code...

* extraction WIP but we gotta sidequest momentarily

* oh hey would you look at that its the actual functionality

* distrotrased

* Small departure for randomness.

* ok yep yep indeed that is an effect very cool.

* thanos snap oldcode

* fuck it we ball

* feat: node scanner now displays triggered nodes. Removed unused old artifact systems and related code (most of it). xml-doc and minor fixups.

* refactor: most of preparations, cleanup and groundwork. also segment-related tests

* feature: all basic effects returning

* feat: finished effects lits, created weight lists for struct and handheld artifacts, fixed throw trigger and music ApplyComponent artifact effects not working

* feat: prevent non-first-time-predicted calls in shared artifact effect systems

* fix: remove gun effect from artifact effects - as it interferes with 'activate artefact' action

* fix: foam reagent selection, neat ApplyComponents art effect scenarios, handheld art is RadiationReceiver again

* fix: moved spawn/ pry&throw effect systems back to server part of code - entity duplication bugs were not quite fun

* refactor: fix protos

* refactor: fix linter

* fix: fix old artifact component names in yml

* fix: no more throwing error on artifact spawn with empty XAEFoamComponent.Reagents

* fix: removed old component usage in maps

* fix: remove more deleted components from map

* fix: ContainerContainer is now part of initial artifact entity, it won't be affecting UninitializedSaveTest

* refactor: fix tests, add loc description to toolshed commands

* Changed node scanner to tell the whole story about current artifact state

* refactor: remove excessive get of EntityCoordinates in XAE systems, removed Value access in NodeScannerDisplay

* fix: turned off TriggerInteraction, removed XAESpawn usage and system, EmpSystem now can use EntityCoordinates,

* fix: moved SharedXenoArtifactSystem.CancelUnlockingOnGraphStructureChange into RebuildXenoArtifactMetaData to lessen code coupling

* fix: XenoArtifactEffectJunkSpawn moved invalid rolls declaration

* refactor: set default value for XenoArtifactComponent.EffectsTable for tests

* fix: now explosions XAE can be activated for effect

* refactor: added some usedelay so artifactuse would'nt be spammed

* refactor: artifact-related hints improvements

* fix: artifact no longer spawns fauna into itself

* refactor: xml-doc and minor refactoring

* refactor: xml-doc for Xeno Artifact systems, renaming of questionable XAT systems

* map for playtest, TODO REVERT THIS

* fix: magboots trigger art from a mile

* refactor: bind artifact animation to unlocking state

* feat: radiation dmg now have reference to source (and artifacts won't irradiate themselves)

* fix: random artifact node durability now is rolled for max and not current value

* refactor: gas effects are more rare, hand-held artifact effects are filtered properly now, rad dmg trigger now requires only 20 dmg for activation

* feat: animations and sound effects for artifact force-use and failed finish of unlocking phase

* use only 1 file with art use animation

* refactor: minor artifact dmg triggers tuning

* feat: now nodes that CAN be unlocked are displayed with specific color in console.

* feat: now unlocking stage time is dynamic and it depends on amount of triggers player activated correctly. Failed one stops incrementing

* feat: now non-active unlocked nodes return more points if durability was not wasted

* feat: now puddle/foam effects change description of node

* fix: fix test failure

* refactor: renamed phasing effect, fixed failing test for elkridge

* minor balance changes

* refactor: split rare materials into separate effects

* feat: unlocked nodes without successor wont listen to unlocks, node unlock is not activating node

* fix: removed OnIrradiatedEvent duplicate c-tor

* revert changes of reach for playtest

* revert last row empty line removal on reach.yml

* fix: fix PVS bug, born from attempt to relay event to art nodes that were not synced yet to the client

* fix: fix elkridge for tests (again)

* refactor: xml-doc, more stuff predicted, allocation optimization in XAE/XAT systems

* refactor: naming

* refactor: extract variable refactor for XAEApplyComponentsSystem.OnActivated insides

* fix: duplicate xeno artifact unlocking sound fixed

* feat: CreatePuddle xeno artifact effect now can have min and max borders for chamicals to be drafted, minor XAECreatePuddleSystem refactor

* feat: networking for shared XAE components + xml-doc leftovers

* refactor: more xml-doc, fix XAEApplyComponentsComponent.Components not being serializable but trying to be

* refactor: xml-docs and XAEThrowThingsAroundSystem now uses circle and not box for prying tiles

* refactor: xml-docs, minor refactors

* revert XenoArtifactCommand.ArtifactPrototype being PrototId

* refactor: simplify the way ExtractionResearchLabel works

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2025-04-15 10:34:53 +10:00

472 lines
10 KiB
C#

namespace Content.Shared.Database;
// DO NOT CHANGE THE NUMERIC VALUES OF THESE
public enum LogType
{
/// <summary>
/// Test logs. DO NOT USE!!!
/// </summary>
Unknown = 0,
// DamageChange = 1
/// <summary>
/// A player dealt damage to an entity.
/// </summary>
Damaged = 2,
/// <summary>
/// A player healed an entity.
/// </summary>
Healed = 3,
/// <summary>
/// A player slipped on an entity.
/// </summary>
Slip = 4,
/// <summary>
/// Station event was added or announced.
/// </summary>
EventAnnounced = 5,
/// <summary>
/// Game rule was added or started.
/// </summary>
EventStarted = 6,
EventRan = 16,
/// <summary>
/// Game rule was stopped.
/// </summary>
EventStopped = 7,
/// <summary>
/// A player used a verb on an entity.
/// </summary>
Verb = 19,
/// <summary>
/// An evacuation shuttle was called.
/// </summary>
ShuttleCalled = 8,
/// <summary>
/// An evacuation shuttle was recalled.
/// </summary>
ShuttleRecalled = 9,
/// <summary>
/// Explosive depressurization related interactions.
/// </summary>
ExplosiveDepressurization = 10,
/// <summary>
/// A player or entity was respawned.
/// </summary>
Respawn = 13,
/// <summary>
/// A player joined station on round start.
/// </summary>
RoundStartJoin = 14,
/// <summary>
/// A player joined station after round start.
/// </summary>
LateJoin = 15,
/// <summary>
/// Chemical reactions related interactions.
/// </summary>
ChemicalReaction = 17,
/// <summary>
/// Reagent effects related interactions.
/// </summary>
ReagentEffect = 18,
/// <summary>
/// Canister valve was opened or closed.
/// </summary>
CanisterValve = 20,
/// <summary>
/// Release pressure on the canister was changed.
/// </summary>
CanisterPressure = 21,
/// <summary>
/// Canister purged its contents into the environment.
/// </summary>
CanisterPurged = 22,
/// <summary>
/// Tank was ejected from the canister.
/// </summary>
CanisterTankEjected = 23,
/// <summary>
/// Tank was inserted into the canister.
/// </summary>
CanisterTankInserted = 24,
/// <summary>
/// A player tried to disarm an entity.
/// </summary>
DisarmedAction = 25,
/// <summary>
/// A player knocked down an entity on the floor.
/// </summary>
DisarmedKnockdown = 26,
AttackArmedClick = 27,
AttackArmedWide = 28,
AttackUnarmedClick = 29,
AttackUnarmedWide = 30,
/// <summary>
/// A player interacted with an entity in his hand.
/// </summary>
InteractHand = 31,
/// <summary>
/// A player activated an entity.
/// </summary>
InteractActivate = 32,
/// <summary>
/// A player threw an entity.
/// </summary>
Throw = 33,
/// <summary>
/// Entity landed.
/// </summary>
Landed = 34,
/// <summary>
/// A thrown entity hit the other entity.
/// </summary>
ThrowHit = 35,
/// <summary>
/// A player picked up an entity.
/// </summary>
Pickup = 36,
/// <summary>
/// A player dropped an entity.
/// </summary>
Drop = 37,
/// <summary>
/// A bullet hit an entity.
/// </summary>
BulletHit = 38,
/// <summary>
/// A player force-feed an entity or injected it with a solution.
/// </summary>
ForceFeed = 40,
/// <summary>
/// A player ate an entity or injected themselves with a solution.
/// </summary>
Ingestion = 53,
/// <summary>
/// A melee attack hit an entity.
/// </summary>
MeleeHit = 41,
/// <summary>
/// A hitscan attack hit an entity.
/// </summary>
HitScanHit = 42,
/// <summary>
/// Suicides, ghosting, repossession, objectives, etc.
/// </summary>
Mind = 43,
/// <summary>
/// Explosions and explosives related interactions.
/// </summary>
Explosion = 44,
Radiation = 45,
/// <summary>
/// Entity started or stopped taking pressure damage.
/// </summary>
Barotrauma = 46,
/// <summary>
/// Fire started or stopped.
/// </summary>
Flammable = 47,
/// <summary>
/// Entity started or stopped suffocating.
/// </summary>
Asphyxiation = 48,
/// <summary>
/// Entity started or stopped taking temperature damage.
/// </summary>
Temperature = 49,
Hunger = 50,
Thirst = 51,
/// <summary>
/// Entity received electrocution damage.
/// </summary>
Electrocution = 52,
/// <summary>
/// A player drew using a crayon.
/// </summary>
CrayonDraw = 39,
/// <summary>
/// A player changed pressure on atmos device.
/// </summary>
AtmosPressureChanged = 54,
/// <summary>
/// A player changed power on atmos device.
/// </summary>
AtmosPowerChanged = 55,
/// <summary>
/// A player changed transfer rate on atmos device.
/// </summary>
AtmosVolumeChanged = 56,
/// <summary>
/// A player changed filter on atmos device.
/// </summary>
AtmosFilterChanged = 57,
/// <summary>
/// A player changed ratio on atmos device.
/// </summary>
AtmosRatioChanged = 58,
/// <summary>
/// Field generator was toggled or lost field connections.
/// </summary>
FieldGeneration = 59,
/// <summary>
/// A player took ghost role.
/// </summary>
GhostRoleTaken = 60,
/// <summary>
/// OOC, IC, LOOC, etc.
/// </summary>
Chat = 61,
/// <summary>
/// A player performed some action. Like pressing eject and flash buttons on a trash bin, etc.
/// </summary>
Action = 62,
/// <summary>
/// A player used RCD.
/// </summary>
RCD = 63,
/// <summary>
/// Construction related interactions.
/// </summary>
Construction = 64,
/// <summary>
/// Triggers related interactions.
/// </summary>
Trigger = 65,
/// <summary>
/// A player tries to anchor or anchored an entity.
/// </summary>
Anchor = 66,
/// <summary>
/// A player unanchored an entity.
/// </summary>
Unanchor = 67,
/// <summary>
/// Emergency shuttle related interactions.
/// </summary>
EmergencyShuttle = 68,
/// <summary>
/// A player emagged an entity.
/// </summary>
Emag = 69,
/// <summary>
/// A player was gibbed.
/// </summary>
Gib = 70,
/// <summary>
/// Identity related interactions.
/// </summary>
Identity = 71,
/// <summary>
/// A player cut a cable.
/// </summary>
CableCut = 72,
/// <summary>
/// A player purchased something from the "store".
/// </summary>
StorePurchase = 73,
/// <summary>
/// A player edited a tile using some tool.
/// </summary>
LatticeCut = 74,
/// <summary>
/// A player is equipping something on an entity or stripping it from it.
/// </summary>
Stripping = 75,
/// <summary>
/// A player caused stamina damage or entered stamina crit.
/// </summary>
Stamina = 76,
/// <summary>
/// A player's actions caused an entity spawn.
/// </summary>
EntitySpawn = 77,
/// <summary>
/// Prayers and subtle messages.
/// </summary>
AdminMessage = 78,
/// <summary>
/// Anomaly related interactions.
/// </summary>
Anomaly = 79,
/// <summary>
/// Cutting, mending and pulsing of wires.
/// </summary>
WireHacking = 80,
/// <summary>
/// Entity was teleported.
/// </summary>
Teleport = 81,
/// <summary>
/// Entity was removed in a result of something.
/// </summary>
EntityDelete = 82,
/// <summary>
/// Voting related interactions.
/// </summary>
Vote = 83,
/// <summary>
/// Entity was configured.
/// </summary>
ItemConfigure = 84,
/// <summary>
/// Device linking related interactions.
/// </summary>
DeviceLinking = 85,
/// <summary>
/// Tiles related interactions.
/// </summary>
Tile = 86,
/// <summary>
/// A client has sent too many chat messages recently and is temporarily blocked from sending more.
/// </summary>
ChatRateLimited = 87,
/// <summary>
/// A player changed temperature on atmos device.
/// </summary>
AtmosTemperatureChanged = 88,
/// <summary>
/// Something was sent over device network. Like broadcast.
/// </summary>
DeviceNetwork = 89,
/// <summary>
/// A player had a refund at the "store".
/// </summary>
StoreRefund = 90,
/// <summary>
/// User was rate-limited for some spam action.
/// </summary>
/// <remarks>
/// This is a default value used by <c>PlayerRateLimitManager</c>, though users can use different log types.
/// </remarks>
RateLimited = 91,
/// <summary>
/// A player did an item-use interaction of an item they were holding onto another object.
/// </summary>
InteractUsing = 92,
/// <summary>
/// Storage & entity-storage related interactions
/// </summary>
Storage = 93,
/// <summary>
/// A player got hit by an explosion and was dealt damage.
/// </summary>
ExplosionHit = 94,
/// <summary>
/// A ghost warped to an entity through the ghost warp menu.
/// </summary>
GhostWarp = 95,
/// <summary>
/// A player interacted with a PDA or its cartridge component
/// </summary>
PdaInteract = 96,
/// <summary>
/// An atmos networked device (such as a vent or pump) has had its settings changed, usually through an air alarm
/// </summary>
AtmosDeviceSetting = 97,
/// <summary>
/// Commands related to admemes. Stuff like config changes, etc.
/// </summary>
AdminCommands = 98,
/// <summary>
/// A player was selected or assigned antag status
/// </summary>
AntagSelection = 99,
/// <summary>
/// Logs related to botany, such as planting and harvesting crops
/// </summary>
Botany = 100,
/// <summary>
/// Artifact node got activated.
/// </summary>
ArtifactNode = 101
}