More Alchemy stuff (#184)

* mortar and vat fix

* alchemy playtest preparation

* Update PostMapInitTest.cs

* balance tweak
This commit is contained in:
Ed
2024-05-28 22:07:34 +03:00
committed by GitHub
parent 8c0017f891
commit 496c7638c0
19 changed files with 5634 additions and 38 deletions

View File

@@ -68,6 +68,7 @@ namespace Content.IntegrationTests.Tests
//CrystallPunk maps
"CaveArena",
"AlchemyTest"
};
/// <summary>

View File

@@ -17,7 +17,7 @@ namespace Content.Shared.Chemistry.Reaction
/// <summary>
/// The maximum number of reactions that may occur when a solution is changed.
/// </summary>
private const int MaxReactionIterations = 20;
private const int MaxReactionIterations = 50; //20 standard, CP14 increase limit
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;

View File

@@ -351,9 +351,6 @@ public abstract class SharedStorageSystem : EntitySystem
if (HasComp<PlaceableSurfaceComponent>(uid))
return;
if (HasComp<SolutionContainerManagerComponent>(uid) && !storageComp.CP14CanStorageSolutionManagers) //CP14 bandage
return;
PlayerInsertHeldEntity(uid, args.User, storageComp);
// Always handle it, even if insertion fails.
// We don't want to trigger any AfterInteract logic here.

View File

@@ -123,14 +123,6 @@ namespace Content.Shared.Storage
[DataField, ViewVariables(VVAccess.ReadWrite)]
public StorageDefaultOrientation? DefaultStorageOrientation;
/// <summary>
/// CrystallPunk bandage. We need to put in both objects and liquids.
/// This avoids situations where a player puts a bucket into the cauldron
/// instead of pouring liquid from the bucket into the cauldron.
/// </summary>
[DataField]
public bool CP14CanStorageSolutionManagers = true;
[Serializable, NetSerializable]
public enum StorageUiKey : byte
{

File diff suppressed because it is too large Load Diff

View File

@@ -41,3 +41,22 @@
- type: Clothing
sprite: _CP14/Clothing/Eyes/gold_glasses.rsi
- type: entity
parent: CP14ClothingEyesBase
id: CP14ClothingEyesAlchemyGlasses
name: alchemy glasses
description: Special magic infused glasses that allow you to clearly see the composition of any mixtures.
components:
- type: Foldable
canFoldInsideContainer: true
unfoldVerbText: fold-flip-verb
foldVerbText: fold-flip-verb
- type: FoldableClothing
foldedEquippedPrefix: flipped
foldedHeldPrefix: flipped
- type: Sprite
sprite: _CP14/Clothing/Eyes/alchemy_glasses.rsi
- type: Clothing
sprite: _CP14/Clothing/Eyes/alchemy_glasses.rsi
- type: SolutionScanner

View File

@@ -4,6 +4,9 @@
name: bloodgrass
description: The dullest and most common plant to be found in the wild is the dark brown grass.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: BadFood
- type: Item
size: Tiny
@@ -43,6 +46,9 @@
name: fly agaric
description: This poisonous mushroom can often be found near bodies of water or other wet areas. It is not recommended for consumption.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: BadFood
- type: Item
size: Tiny
@@ -79,6 +85,9 @@
name: chromium slime
description: This rare thick substance can be found in a stream of water as if it has a mind of its own. When trying to change the slime itself - the slime changes the reagent it interacts with.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: BadFood
- type: Item
size: Tiny
@@ -113,6 +122,9 @@
name: wild sage root
description: Root of a ubiquitous medicinal plant, not bad at healing physical injuries, and inducing coughing.
components:
- type: Tag
tags:
- CP14FitInMortar
- type: Item
size: Tiny
shape:

View File

@@ -138,7 +138,9 @@
fillBaseName: liq-
- type: Storage
maxItemSize: Normal
cP14CanStorageSolutionManagers: false
whitelist:
tags:
- CP14FitInMortar
grid:
- 0,0,1,1
- type: CP14Mortar

View File

@@ -9,7 +9,7 @@
- type: Sprite
noRot: true
sprite: Objects/Decoration/Flora/flora_trees.rsi
drawdepth: Overdoors
drawdepth: Mobs
offset: 0,0.9
- type: Physics
bodyType: Static

View File

@@ -10,6 +10,7 @@
components:
- type: Sprite
drawdepth: Mobs
snapCardinals: true
sprite: _CP14/Structures/Walls/wall_frame.rsi
state: wooden
- type: PlacementReplacement

View File

@@ -69,18 +69,4 @@
solution: vat
- type: Drink
solution: vat
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: ContainerContainer
containers:
storagebase: !type:Container
- type: ThrowInsertContainer
containerId: storagebase
- type: Storage
cP14CanStorageSolutionManagers: false
maxItemSize: Normal
grid:
- 0,0,4,3
- type: Anchorable

View File

@@ -2,3 +2,4 @@
id: CP14DefaultMapPool
maps:
- CaveArena
- AlchemyTest

View File

@@ -14,3 +14,27 @@
- Adventurer
availableJobs:
Adventurer: [ -1, -1 ]
- type: gameMap
id: AlchemyTest
mapName: Alchemy test
mapPath: /Maps/_CP14/alchemy_test.yml
minPlayers: 0
stations:
AlchemyTest:
stationProto: StandardStationArena
components:
- type: StationRandomTransform
enableStationRotation: false
maxStationOffset: null
- type: StationBiome
biome: CP14GrasslandTestResult
- type: CP14StationDungeonMap
biome: CP14CavesGeneric
- type: StationNameSetup
mapNameTemplate: "Alchemy test"
- type: StationJobs
overflowJobs:
- Adventurer
availableJobs:
Adventurer: [ -1, -1 ]

View File

@@ -1,4 +1,3 @@
# Simple sap mixing
- type: reaction
@@ -52,9 +51,9 @@
CP14BloodGrassSap:
amount: 0.8
products:
CP14BasicEffectEmpty: 0.8
CP14BasicEffectSatiateHunger: 0.15
CP14BasicEffectHealBrute: 0.05
CP14BasicEffectEmpty: 0.7
CP14BasicEffectSatiateHunger: 0.2
CP14BasicEffectHealBrute: 0.1
- type: reaction
id: CP14AgaricShroomBrewing
@@ -65,8 +64,8 @@
amount: 1
products:
CP14BasicEffectEmpty: 0.7
CP14BasicEffectRainbow: 0.1
CP14BasicEffectDamagePoison: 0.2
CP14BasicEffectRainbow: 0.1
- type: reaction
id: CP14WildSageSapBrewing
@@ -76,8 +75,8 @@
CP14WildSageSap:
amount: 1
products:
CP14BasicEffectHealBrute: 0.2
CP14BasicEffectEmpty: 0.7
CP14BasicEffectHealBrute: 0.2
CP14BasicEffectEmoteCough: 0.1
# Complex brewing (2 reagents, ~50% empty)
@@ -92,7 +91,7 @@
CP14WildSageSap:
amount: 0.5
products:
CP14BasicEffectHealBrute: 0.25
CP14BasicEffectEmpty: 0.5
CP14BasicEffectHealBrute: 0.3
CP14BasicEffectSatiateHunger: 0.1
CP14BasicEffectEmoteCough: 0.1
CP14BasicEffectEmpty: 0.55
CP14BasicEffectEmoteCough: 0.1

View File

@@ -14,4 +14,7 @@
id: CP14FireplaceFuel
- type: Tag
id: CP14HerbalGathering
id: CP14HerbalGathering
- type: Tag
id: CP14FitInMortar

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

View File

@@ -0,0 +1,22 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Created by KBAS5",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-EYES",
"directions": 4
},
{
"name": "flipped-equipped-EYES",
"directions": 4
}
]
}