Cognizine, a chemical that makes an entity sentient and a ghost role (#11992)

This commit is contained in:
Interrobang01
2022-10-22 15:05:06 -07:00
committed by GitHub
parent 9ffc121746
commit 9904eae75c
6 changed files with 72 additions and 0 deletions

View 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.

View File

@@ -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-description = Wreak havoc on the station's inhabitants!
ghost-role-information-cognizine-description = Made conscious with the magic of cognizine.

View File

@@ -87,3 +87,6 @@ reagent-desc-oculine = Heals eye damage.
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-name-cognizine = cognizine
reagent-desc-cognizine = A mysterious chemical which is able to make any non-sentient creature sentient.

View File

@@ -81,3 +81,4 @@ reagent-physical-desc-electric = electric
reagent-physical-desc-chewy = chewy
reagent-physical-desc-volatile = volatile
reagent-physical-desc-inky = inky
reagent-physical-desc-enigmatic = enigmatic

View File

@@ -690,3 +690,18 @@
Medicine:
effects:
- !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

View File

@@ -343,3 +343,15 @@
amount: 1
products:
Spaceacillin: 2
- type: reaction
id: Cognizine
reactants:
CarpoToxin:
amount: 1
Siderlac:
amount: 1
UnstableMutagen:
amount: 1
products:
Cognizine: 1