Доработка генокрадов по просьбе сплика. (#600)

* цели генокрадам

* удалил голод у генокрадов

* исправление бага с хардсьютами

* исправление способности передозировки эфедрином
This commit is contained in:
pacable 2024-11-13 04:03:48 +03:00 committed by GitHub
parent 80592ee250
commit 2be886be1d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 113 additions and 9 deletions

View file

@ -550,7 +550,7 @@ public sealed partial class ChangelingSystem : EntitySystem
var reagents = new List<(string, FixedPoint2)>()
{
("Synaptizine", 5f)
("Ephedrine", 15f)
};
if (TryInjectReagents(uid, reagents))
_popup.PopupEntity(Loc.GetString("changeling-inject"), uid, uid);

View file

@ -168,7 +168,7 @@ public sealed partial class ChangelingSystem : EntitySystem
}
private void UpdateBiomass(EntityUid uid, ChangelingComponent comp, float? amount = null)
{
comp.Biomass += amount ?? -1;
comp.Biomass += amount ?? 0;
comp.Biomass = Math.Clamp(comp.Biomass, 0, comp.MaxBiomass);
Dirty(uid, comp);
_alerts.ShowAlert(uid, "ChangelingBiomass");
@ -387,14 +387,19 @@ public sealed partial class ChangelingSystem : EntitySystem
}
public bool TryToggleItem(EntityUid uid, EntProtoId proto, ChangelingComponent comp, string? clothingSlot = null)
{
if (!comp.Equipment.TryGetValue(proto.Id, out var item) && item == null)
if (!comp.Equipment.TryGetValue(proto.Id, out var item))
{
item = Spawn(proto, Transform(uid).Coordinates);
if (clothingSlot != null && !_inventory.TryEquip(uid, (EntityUid) item, clothingSlot, force: true))
if (clothingSlot != null)
{
if (!_inventory.TryEquip(uid, (EntityUid) item, clothingSlot, force: true))
{
QueueDel(item);
return false;
}
comp.Equipment.Add(proto.Id, item);
return true;
}
else if (!_hands.TryForcePickupAnyHand(uid, (EntityUid) item))
{
_popup.PopupEntity(Loc.GetString("changeling-fail-hands"), uid, uid);

View file

@ -1030,7 +1030,7 @@
clothingPrototype: ClothingHeadHelmetHardsuitSanta
- type: entity
parent: ClothingOuterBaseLarge
parent: [ ClothingOuterBaseLarge, AllowSuitStorageClothing ]
id: ChangelingClothingOuterHardsuit
name: organic space suit
description: A spaceworthy biomass of pressure and temperature resistant tissue.

View file

@ -4,7 +4,7 @@
id: BaseChangelingObjective
components:
- type: Objective
difficulty: 1.5 # unused but necessary i guess
difficulty: 1.5
issuer: objective-issuer-hivemind
- type: RoleRequirement
roles:
@ -65,3 +65,102 @@
- type: TargetObjective
title: objective-condition-escape-identity-title
- type: PickRandomPerson
- type: entity
abstract: true
parent: [BaseChangelingObjective, BaseStealObjective]
id: BaseChangelingStealObjective
components:
- type: StealCondition
verifyMapExistence: true
- type: Objective
difficulty: 1.5
- type: ObjectiveLimit
limit: 2
- type: entity
parent: BaseChangelingStealObjective
id: CMOHyposprayChangelingStealObjective
components:
- type: NotJobRequirement
job: ChiefMedicalOfficer
- type: StealCondition
owner: job-name-cmo
stealGroup: Hypospray
- type: entity
parent: BaseChangelingStealObjective
id: RDHardsuitChangelingStealObjective
components:
- type: NotJobRequirement
job: ResearchDirector
- type: StealCondition
owner: job-name-rd
stealGroup: ClothingOuterHardsuitRd
- type: Objective
difficulty: 1
- type: entity
parent: BaseChangelingStealObjective
id: EnergyShotgunChangelingStealObjective
components:
- type: Objective
difficulty: 2
- type: NotJobRequirement
job: HeadOfSecurity
- type: StealCondition
stealGroup: WeaponEnergyShotgun
owner: job-name-hos
- type: entity
parent: BaseChangelingStealObjective
id: MagbootsChangelingStealObjective
components:
- type: NotJobRequirement
job: ChiefEngineer
- type: StealCondition
stealGroup: ClothingShoesBootsMagAdv
owner: job-name-ce
- type: entity
parent: BaseChangelingStealObjective
id: ClipboardChangelingStealObjective
components:
- type: NotJobRequirement
job: Quartermaster
- type: StealCondition
stealGroup: BoxFolderQmClipboard
owner: job-name-qm
- type: entity
abstract: true
parent: BaseChangelingStealObjective
id: BaseCaptainChangelingObjective
components:
- type: Objective
difficulty: 2.5
- type: NotJobRequirement
job: Captain
- type: entity
parent: BaseCaptainChangelingObjective
id: CaptainIDChangelingStealObjective
components:
- type: StealCondition
stealGroup: CaptainIDCard
- type: entity
parent: BaseCaptainChangelingObjective
id: CaptainJetpackChangelingStealObjective
components:
- type: StealCondition
stealGroup: JetpackCaptainFilled
- type: entity
parent: BaseCaptainChangelingObjective
id: CaptainGunChangelingStealObjective
components:
- type: StealCondition
stealGroup: WeaponAntiqueLaser
owner: job-name-captain