Cognizine, a chemical that makes an entity sentient and a ghost role (#11992)
This commit is contained in:
39
Content.Server/Chemistry/ReagentEffects/MakeSentient.cs
Normal file
39
Content.Server/Chemistry/ReagentEffects/MakeSentient.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
using Content.Server.Mind.Components;
|
||||||
|
using Content.Server.Speech.Components;
|
||||||
|
|
||||||
|
using Content.Shared.Chemistry.Reagent;
|
||||||
|
using Content.Server.Ghost.Roles.Components;
|
||||||
|
|
||||||
|
namespace Content.Server.Chemistry.ReagentEffects;
|
||||||
|
|
||||||
|
public sealed class MakeSentient : ReagentEffect
|
||||||
|
{
|
||||||
|
public override void Effect(ReagentEffectArgs args)
|
||||||
|
{
|
||||||
|
var entityManager = args.EntityManager;
|
||||||
|
var uid = args.SolutionEntity;
|
||||||
|
|
||||||
|
// This makes it so it doesn't affect things that are already sentient
|
||||||
|
if (entityManager.HasComponent<MindComponent>(uid))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This piece of code makes things able to speak "normally". One thing of note is that monkeys have a unique accent and won't be affected by this.
|
||||||
|
entityManager.RemoveComponent<ReplacementAccentComponent>(uid);
|
||||||
|
|
||||||
|
// No idea what anything past this point does
|
||||||
|
if (entityManager.TryGetComponent(uid, out GhostTakeoverAvailableComponent? takeOver))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
takeOver = entityManager.AddComponent<GhostTakeoverAvailableComponent>(uid);
|
||||||
|
|
||||||
|
var entityData = entityManager.GetComponent<MetaDataComponent>(uid);
|
||||||
|
takeOver.RoleName = entityData.EntityName;
|
||||||
|
takeOver.RoleDescription = Loc.GetString("ghost-role-information-cognizine-description");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Original code written by areitpog on GitHub in Issue #7666, then I (Interrobang01) copied it and used my nonexistant C# skills to try to make it work again.
|
||||||
@@ -8,3 +8,5 @@ ghost-role-information-mouse-description = A hungry and mischievous mouse.
|
|||||||
|
|
||||||
ghost-role-information-giant-spider-name = Giant spider
|
ghost-role-information-giant-spider-name = Giant spider
|
||||||
ghost-role-information-giant-spider-description = Wreak havoc on the station's inhabitants!
|
ghost-role-information-giant-spider-description = Wreak havoc on the station's inhabitants!
|
||||||
|
|
||||||
|
ghost-role-information-cognizine-description = Made conscious with the magic of cognizine.
|
||||||
@@ -87,3 +87,6 @@ reagent-desc-oculine = Heals eye damage.
|
|||||||
|
|
||||||
reagent-name-ethylredoxrazine = ethylredoxrazine
|
reagent-name-ethylredoxrazine = ethylredoxrazine
|
||||||
reagent-desc-ethylredoxrazine = Neutralises the effects of alcohol in the blood stream. Though it is commonly needed, it is rarely requested.
|
reagent-desc-ethylredoxrazine = Neutralises the effects of alcohol in the blood stream. Though it is commonly needed, it is rarely requested.
|
||||||
|
|
||||||
|
reagent-name-cognizine = cognizine
|
||||||
|
reagent-desc-cognizine = A mysterious chemical which is able to make any non-sentient creature sentient.
|
||||||
@@ -81,3 +81,4 @@ reagent-physical-desc-electric = electric
|
|||||||
reagent-physical-desc-chewy = chewy
|
reagent-physical-desc-chewy = chewy
|
||||||
reagent-physical-desc-volatile = volatile
|
reagent-physical-desc-volatile = volatile
|
||||||
reagent-physical-desc-inky = inky
|
reagent-physical-desc-inky = inky
|
||||||
|
reagent-physical-desc-enigmatic = enigmatic
|
||||||
@@ -690,3 +690,18 @@
|
|||||||
Medicine:
|
Medicine:
|
||||||
effects:
|
effects:
|
||||||
- !type:ChemHealEyeDamage
|
- !type:ChemHealEyeDamage
|
||||||
|
|
||||||
|
- type: reagent
|
||||||
|
id: Cognizine
|
||||||
|
name: reagent-name-cognizine
|
||||||
|
desc: reagent-desc-cognizine
|
||||||
|
group: Medicine
|
||||||
|
physicalDesc: reagent-physical-desc-enigmatic
|
||||||
|
color: "#b50ee8"
|
||||||
|
metabolisms:
|
||||||
|
Medicine:
|
||||||
|
effects:
|
||||||
|
- !type:MakeSentient
|
||||||
|
conditions:
|
||||||
|
- !type:ReagentThreshold
|
||||||
|
min: 5
|
||||||
@@ -343,3 +343,15 @@
|
|||||||
amount: 1
|
amount: 1
|
||||||
products:
|
products:
|
||||||
Spaceacillin: 2
|
Spaceacillin: 2
|
||||||
|
|
||||||
|
- type: reaction
|
||||||
|
id: Cognizine
|
||||||
|
reactants:
|
||||||
|
CarpoToxin:
|
||||||
|
amount: 1
|
||||||
|
Siderlac:
|
||||||
|
amount: 1
|
||||||
|
UnstableMutagen:
|
||||||
|
amount: 1
|
||||||
|
products:
|
||||||
|
Cognizine: 1
|
||||||
Reference in New Issue
Block a user