Display obvious plant mutations in examine text (#32650)
* Effect mutations now display on examine * ChangeSpecies shouldn't stay on the list after running. Name cleanup * EmoGarbage Review - convert description to LocId and add minor logic fix * fix the dastardly yaml --------- Co-authored-by: PraxisMapper <praxismapper@gmail.com> Co-authored-by: EmoGarbage404 <retron404@gmail.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
using Content.Server.Botany.Components;
|
using Content.Server.Botany.Components;
|
||||||
using Content.Shared.EntityEffects;
|
using Content.Shared.EntityEffects;
|
||||||
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
|
|
||||||
namespace Content.Server.Botany.Systems;
|
namespace Content.Server.Botany.Systems;
|
||||||
@@ -37,4 +38,23 @@ public sealed partial class BotanySystem
|
|||||||
solutionContainer.AddReagent(chem, amount);
|
solutionContainer.AddReagent(chem, amount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnProduceExamined(EntityUid uid, ProduceComponent comp, ExaminedEvent args)
|
||||||
|
{
|
||||||
|
if (comp.Seed == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
using (args.PushGroup(nameof(ProduceComponent)))
|
||||||
|
{
|
||||||
|
foreach (var m in comp.Seed.Mutations)
|
||||||
|
{
|
||||||
|
// Don't show mutations that have no effect on produce (sentience)
|
||||||
|
if (!m.AppliesToProduce)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (m.Description != null)
|
||||||
|
args.PushMarkup(Loc.GetString(m.Description));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public sealed partial class BotanySystem : EntitySystem
|
|||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<SeedComponent, ExaminedEvent>(OnExamined);
|
SubscribeLocalEvent<SeedComponent, ExaminedEvent>(OnExamined);
|
||||||
|
SubscribeLocalEvent<ProduceComponent, ExaminedEvent>(OnProduceExamined);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryGetSeed(SeedComponent comp, [NotNullWhen(true)] out SeedData? seed)
|
public bool TryGetSeed(SeedComponent comp, [NotNullWhen(true)] out SeedData? seed)
|
||||||
|
|||||||
@@ -116,6 +116,20 @@ public sealed class PlantHolderSystem : EntitySystem
|
|||||||
? "plant-holder-component-plant-old-adjective"
|
? "plant-holder-component-plant-old-adjective"
|
||||||
: "plant-holder-component-plant-unhealthy-adjective"))));
|
: "plant-holder-component-plant-unhealthy-adjective"))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For future reference, mutations should only appear on examine if they apply to a plant, not to produce.
|
||||||
|
|
||||||
|
if (component.Seed.Ligneous)
|
||||||
|
args.PushMarkup(Loc.GetString("mutation-plant-ligneous"));
|
||||||
|
|
||||||
|
if (component.Seed.TurnIntoKudzu)
|
||||||
|
args.PushMarkup(Loc.GetString("mutation-plant-kudzu"));
|
||||||
|
|
||||||
|
if (component.Seed.CanScream)
|
||||||
|
args.PushMarkup(Loc.GetString("mutation-plant-scream"));
|
||||||
|
|
||||||
|
if (component.Seed.Viable == false)
|
||||||
|
args.PushMarkup(Loc.GetString("mutation-plant-unviable"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,6 +22,12 @@ public sealed partial class RandomPlantMutation
|
|||||||
[DataField]
|
[DataField]
|
||||||
public string Name = "";
|
public string Name = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The text to display to players when examining something with this mutation.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public LocId? Description;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The actual EntityEffect to apply to the target
|
/// The actual EntityEffect to apply to the target
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
7
Resources/Locale/en-US/plants/mutations.ftl
Normal file
7
Resources/Locale/en-US/plants/mutations.ftl
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
mutation-plant-bioluminescent = It glows with a gentle light.
|
||||||
|
mutation-plant-kudzu = It is growing unusually fast and thin.
|
||||||
|
mutation-plant-ligneous = It is woody and will need a sharp tool to harvest.
|
||||||
|
mutation-plant-scream = This plant seems nervous somehow.
|
||||||
|
mutation-plant-sentient = It seems to be examining its surroundings.
|
||||||
|
mutation-plant-slippery = It is slick to the touch.
|
||||||
|
mutation-plant-unviable = It is wilting and sickly.
|
||||||
@@ -3,15 +3,18 @@
|
|||||||
mutations:
|
mutations:
|
||||||
# disabled until 50 morbillion point lights don't cause the renderer to die
|
# disabled until 50 morbillion point lights don't cause the renderer to die
|
||||||
#- name: Bioluminescent
|
#- name: Bioluminescent
|
||||||
|
# description: mutation-plant-bioluminescent
|
||||||
# baseOdds: 0.036
|
# baseOdds: 0.036
|
||||||
# appliesToPlant: false
|
# appliesToPlant: false
|
||||||
# effect: !type:Glow
|
# effect: !type:Glow
|
||||||
- name: Sentient
|
- name: Sentient
|
||||||
|
description: mutation-plant-sentient
|
||||||
baseOdds: 0.0072
|
baseOdds: 0.0072
|
||||||
appliesToProduce: false
|
appliesToProduce: false
|
||||||
persists: false
|
persists: false
|
||||||
effect: !type:MakeSentient # existing effect.
|
effect: !type:MakeSentient # existing effect.
|
||||||
- name: Slippery
|
- name: Slippery
|
||||||
|
description: mutation-plant-slippery
|
||||||
baseOdds: 0.036
|
baseOdds: 0.036
|
||||||
appliesToPlant: false
|
appliesToPlant: false
|
||||||
effect: !type:Slipify
|
effect: !type:Slipify
|
||||||
@@ -150,12 +153,12 @@
|
|||||||
persists: false
|
persists: false
|
||||||
effect: !type:PlantChangeStat
|
effect: !type:PlantChangeStat
|
||||||
targetValue: Seedless
|
targetValue: Seedless
|
||||||
- name: ChangeLigneous
|
- name: Lignification
|
||||||
baseOdds: 0.036
|
baseOdds: 0.036
|
||||||
persists: false
|
persists: false
|
||||||
effect: !type:PlantChangeStat
|
effect: !type:PlantChangeStat
|
||||||
targetValue: Ligneous
|
targetValue: Ligneous
|
||||||
- name: ChangeTurnIntoKudzu
|
- name: Kudzufication
|
||||||
baseOdds: 0.036
|
baseOdds: 0.036
|
||||||
persists: false
|
persists: false
|
||||||
effect: !type:PlantChangeStat
|
effect: !type:PlantChangeStat
|
||||||
|
|||||||
Reference in New Issue
Block a user