machine upgrade guidebook (#13511)
* machine upgrade guidebook * oops * guidehelpcomponent * build, damn you
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Shared.Construction.Components;
|
||||
using NUnit.Framework;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Content.Shared.Construction.Components;
|
||||
|
||||
namespace Content.IntegrationTests.Tests;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq;
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Shared.Construction;
|
||||
using Content.Shared.Construction.Components;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Server.Containers;
|
||||
using Robust.Shared.Containers;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
namespace Content.Server.Construction.Components
|
||||
using Content.Shared.Construction.Components;
|
||||
|
||||
namespace Content.Server.Construction.Components
|
||||
{
|
||||
[RequiresExplicitImplementation]
|
||||
public interface IRefreshParts
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Shared.Construction.Components;
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq;
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Server.Examine;
|
||||
using Content.Shared.Construction.Components;
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Shared.Verbs;
|
||||
using Robust.Shared.Containers;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Server.Stack;
|
||||
using Content.Shared.Construction.Components;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Stacks;
|
||||
|
||||
@@ -5,6 +5,7 @@ using Content.Server.DoAfter;
|
||||
using Content.Server.Storage.Components;
|
||||
using Content.Server.Storage.EntitySystems;
|
||||
using Content.Server.Wires;
|
||||
using Content.Shared.Construction.Components;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Popups;
|
||||
using Robust.Shared.Containers;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Shared.Stacks;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
||||
|
||||
namespace Content.Server.Construction.Components
|
||||
namespace Content.Shared.Construction.Components
|
||||
{
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed class MachineBoardComponent : Component
|
||||
{
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
@@ -1,9 +1,10 @@
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||
|
||||
namespace Content.Server.Construction.Components
|
||||
namespace Content.Shared.Construction.Components
|
||||
{
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, NetworkedComponent]
|
||||
public sealed class MachinePartComponent : Component
|
||||
{
|
||||
[DataField("part", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
|
||||
@@ -1,7 +1,7 @@
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Shared.Construction.Components;
|
||||
using Content.Shared.Examine;
|
||||
|
||||
namespace Content.Server.Construction
|
||||
namespace Content.Shared.Construction
|
||||
{
|
||||
/// <summary>
|
||||
/// Deals with machine parts and machine boards.
|
||||
@@ -7,6 +7,7 @@ using Content.Shared.Mobs.Systems;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Network;
|
||||
using Robust.Shared.Physics;
|
||||
using Robust.Shared.Utility;
|
||||
using static Content.Shared.Interaction.SharedInteractionSystem;
|
||||
@@ -46,6 +47,9 @@ namespace Content.Shared.Examine
|
||||
|
||||
public bool IsInDetailsRange(EntityUid examiner, EntityUid entity)
|
||||
{
|
||||
if (entity.IsClientSide())
|
||||
return true;
|
||||
|
||||
// check if the mob is in critical or dead
|
||||
if (MobStateSystem.IsIncapacitated(examiner))
|
||||
return false;
|
||||
|
||||
@@ -5,6 +5,8 @@ guide-entry-fires = Fires & Space
|
||||
guide-entry-shuttle-craft = Shuttle-craft
|
||||
guide-entry-power = Power
|
||||
guide-entry-ame = Antimatter Engine (AME)
|
||||
guide-entry-science = Science
|
||||
guide-entry-machine-upgrading = Machine Upgrading
|
||||
guide-entry-controls = Controls
|
||||
guide-entry-jobs = Jobs
|
||||
guide-entry-survival = Survival
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
sprite: Objects/Misc/stock_parts.rsi
|
||||
- type: MachinePart
|
||||
rating: 1
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- MachineUpgrading
|
||||
|
||||
# Rating 1
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
- type: Item
|
||||
sprite: Objects/Specific/Research/rped.rsi
|
||||
size: 50
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- MachineUpgrading
|
||||
- type: PartExchanger
|
||||
- type: Storage
|
||||
capacity: 150
|
||||
|
||||
11
Resources/Prototypes/Guidebook/science.yml
Normal file
11
Resources/Prototypes/Guidebook/science.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- type: guideEntry
|
||||
id: Science
|
||||
name: guide-entry-science
|
||||
text: "/Server Info/Guidebook/Science.xml"
|
||||
children:
|
||||
- MachineUpgrading
|
||||
|
||||
- type: guideEntry
|
||||
id: MachineUpgrading
|
||||
name: guide-entry-machine-upgrading
|
||||
text: "/Server Info/Guidebook/MachineUpgrading.xml"
|
||||
@@ -4,6 +4,7 @@
|
||||
text: "/Server Info/Guidebook/Jobs.xml"
|
||||
children:
|
||||
- Engineering
|
||||
- Science
|
||||
|
||||
- type: guideEntry
|
||||
id: Survival
|
||||
|
||||
42
Resources/Server Info/Guidebook/MachineUpgrading.xml
Normal file
42
Resources/Server Info/Guidebook/MachineUpgrading.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<Document>
|
||||
# Machine Upgrading
|
||||
|
||||
Machines help the station run smoothly, and as a scientist, you can help them run even better!
|
||||
|
||||
## Parts
|
||||
<Box>Stock Parts:</Box>
|
||||
<Box>
|
||||
<GuideEntityEmbed Entity="CapacitorStockPart"/>
|
||||
<GuideEntityEmbed Entity="MatterBinStockPart"/>
|
||||
<GuideEntityEmbed Entity="MicroLaserStockPart"/>
|
||||
</Box>
|
||||
<Box>
|
||||
<GuideEntityEmbed Entity="MicroManipulatorStockPart"/>
|
||||
<GuideEntityEmbed Entity="ScanningModuleStockPart"/>
|
||||
</Box>
|
||||
You can examine each machine part to see both the type and the rating, which range from 1 to 4.
|
||||
|
||||
Parts of higher levels can be researched as well as found through artifacts or salvage.
|
||||
<Box>
|
||||
<GuideEntityEmbed Entity="AdvancedMatterBinStockPart"/>
|
||||
<GuideEntityEmbed Entity="SuperMatterBinStockPart"/>
|
||||
<GuideEntityEmbed Entity="BluespaceMatterBinStockPart"/>
|
||||
</Box>
|
||||
|
||||
## Upgrading
|
||||
To know if a machine can be upgraded, you can examine it and check for the [color=#a4885c]lightning bolt[/color] icon in the lower right corner. Clicking on it will allow you to see what kinds of upgrades the machine has.
|
||||
|
||||
To check what parts a machine needs, you can examine its board. Try it here:
|
||||
<Box Orientation="Vertical">
|
||||
<GuideEntityEmbed Entity="ProtolatheMachineCircuitboard"/>
|
||||
<GuideEntityEmbed Entity="CloningPodMachineCircuitboard"/>
|
||||
<GuideEntityEmbed Entity="TraversalDistorterMachineCircuitboard"/>
|
||||
<GuideEntityEmbed Entity="ThermomachineFreezerMachineCircuitBoard"/>
|
||||
</Box>
|
||||
You can use any rating part for any part requirement. Using higher rated parts will increase how effective the machine is.
|
||||
|
||||
If you want to upgrade an existing machine, simply deconstruct it with a screwdriver and crowbar, and replace the existing parts with parts of a higher level.
|
||||
|
||||
You can also quickly upgrade machines by using an RPED, loading it with machine parts, and then clicking on a machine. It will quickly be upgraded with whatever parts were inserted.
|
||||
<GuideEntityEmbed Entity="RPED"/>
|
||||
</Document>
|
||||
26
Resources/Server Info/Guidebook/Science.xml
Normal file
26
Resources/Server Info/Guidebook/Science.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<Document>
|
||||
# Science
|
||||
|
||||
Science, often called Research and Development, is a job made up of both generating research points to unlock new technologies as well as using said technologies to produce new items at lathes to help out the station.
|
||||
|
||||
## Technologies
|
||||
<Box>
|
||||
<GuideEntityEmbed Entity="ComputerResearchAndDevelopment"/>
|
||||
<GuideEntityEmbed Entity="ResearchAndDevelopmentServer"/>
|
||||
</Box>
|
||||
The most important thing inside your department is the R&D server, which stores unlocked technologies, and the R&D computer, which allows you to unlock technologies.
|
||||
|
||||
Each technology costs [color=#a4885c]Research Points[/color] and unlocks recipes at lathes. Some technologies will also have prerequesites you have to unlock before you can research them.
|
||||
|
||||
## Lathes
|
||||
<Box>
|
||||
<GuideEntityEmbed Entity="Protolathe"/>
|
||||
<GuideEntityEmbed Entity="CircuitImprinter"/>
|
||||
</Box>
|
||||
<Box>
|
||||
<GuideEntityEmbed Entity="ExosuitFabricator"/>
|
||||
<GuideEntityEmbed Entity="MedicalTechFab"/>
|
||||
</Box>
|
||||
At a lathe, you can sync to a server to allow it print whatever recipes you have unlocked. Recipes require various materials (steel, glass, plastic, gold, plasma) which can be acquired at Cargo or Salvage.
|
||||
|
||||
</Document>
|
||||
Reference in New Issue
Block a user