Всякое (#116)
* - fix: Fix clown font again. * - tweak: Better melee sound for axe and halberd. * - fix: Fix cult item equip. * - fix: Extraction doesn't count as absorbing. * - tweak: No mindshield for seniors. * - fix: Salary for seniors. * - add: Guardians can fly. * - add: Nukie NV goggles * - tweak: Buff spear again. * - tweak: Less cost for ling abilities. * - tweak: MindShield is not permanent. * - fix: Fix exception spam. * - tweak: Cheaper stings. * Revert "- tweak: No mindshield for seniors." This reverts commit fff625b8b83d296293644f62fe11cc4a916c4ab2.
This commit is contained in:
@@ -595,6 +595,8 @@ public sealed partial class ChangelingSystem
|
||||
if (!_mindSystem.TryGetMind(uid, out var mindId, out _))
|
||||
return;
|
||||
|
||||
component.AbsorbedCount++;
|
||||
|
||||
if (TryComp(uid, out SharedPullerComponent? puller) && puller.Pulling is { } pulled &&
|
||||
TryComp(pulled, out SharedPullableComponent? pullable))
|
||||
{
|
||||
|
||||
@@ -66,7 +66,7 @@ public sealed class ChangelingConditionsSystem : EntitySystem
|
||||
if (!TryComp<ChangelingComponent>(mind.CurrentEntity, out var changelingComponent))
|
||||
return 0f;
|
||||
|
||||
var absorbed = changelingComponent.AbsorbedEntities.Count - 1; // Because first - it's the owner
|
||||
var absorbed = changelingComponent.AbsorbedCount; // Because first - it's the owner
|
||||
|
||||
if (requiredDna == absorbed)
|
||||
return 1f;
|
||||
@@ -90,7 +90,7 @@ public sealed class ChangelingConditionsSystem : EntitySystem
|
||||
if (!TryComp<ChangelingComponent>(mind.CurrentEntity, out var changelingComponent))
|
||||
return 0f;
|
||||
|
||||
var selfAbsorbed = changelingComponent.AbsorbedEntities.Count - 1; // Because first - it's the owner
|
||||
var selfAbsorbed = changelingComponent.AbsorbedCount; // Because first - it's the owner
|
||||
|
||||
var query = EntityQueryEnumerator<ChangelingComponent>();
|
||||
|
||||
@@ -100,7 +100,7 @@ public sealed class ChangelingConditionsSystem : EntitySystem
|
||||
if (uid == mind.CurrentEntity)
|
||||
continue; //don't include self
|
||||
|
||||
var absorbed = comp.AbsorbedEntities.Count - 1;
|
||||
var absorbed = comp.AbsorbedCount;
|
||||
otherAbsorbed.Add(absorbed);
|
||||
}
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ public sealed class RadioDeviceSystem : EntitySystem
|
||||
return; // no feedback loops please.
|
||||
|
||||
if (_recentlySent.Add((args.Message, args.Source)))
|
||||
_radio.SendRadioMessage(args.Source, args.Message, _protoMan.Index<RadioChannelPrototype>(component.BroadcastChannel), uid);
|
||||
_radio.SendRadioMessage(args.Source, args.Message, _protoMan.Index<RadioChannelPrototype>(component.BroadcastChannel), uid, false); // WD EDIT
|
||||
}
|
||||
|
||||
private void OnAttemptListen(EntityUid uid, RadioMicrophoneComponent component, ListenAttemptEvent args)
|
||||
|
||||
@@ -38,6 +38,9 @@ public sealed partial class ChangelingComponent : Component
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("absorbedEntities")]
|
||||
public Dictionary<string, HumanoidData> AbsorbedEntities = new();
|
||||
|
||||
[ViewVariables]
|
||||
public int AbsorbedCount = 0;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("AbsorbDNACost")]
|
||||
public int AbsorbDnaCost;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ public sealed class CultItemSystem : EntitySystem
|
||||
|
||||
private void OnEquipAttempt(EntityUid uid, CultItemComponent component, BeingEquippedAttemptEvent args)
|
||||
{
|
||||
if (CanUse(args.Equipee))
|
||||
if (CanUse(args.Equipee) && CanUse(args.EquipTarget))
|
||||
return;
|
||||
|
||||
args.Cancel();
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
description: changeling-ability-changeling-armblade-desc
|
||||
productAction: ActionArmblade
|
||||
cost:
|
||||
ChangelingPoint: 3
|
||||
ChangelingPoint: 2
|
||||
categories:
|
||||
- ChangelingAbilities
|
||||
conditions:
|
||||
@@ -31,7 +31,7 @@
|
||||
description: changeling-ability-changeling-shield-desc
|
||||
productAction: ActionShield
|
||||
cost:
|
||||
ChangelingPoint: 3
|
||||
ChangelingPoint: 1
|
||||
categories:
|
||||
- ChangelingAbilities
|
||||
conditions:
|
||||
@@ -57,7 +57,7 @@
|
||||
description: changeling-ability-tentacle-arm-desc
|
||||
productAction: ActionTentacleArm
|
||||
cost:
|
||||
ChangelingPoint: 4
|
||||
ChangelingPoint: 2
|
||||
categories:
|
||||
- ChangelingAbilities
|
||||
conditions:
|
||||
@@ -97,7 +97,7 @@
|
||||
description: changeling-ability-blind-sting-desc
|
||||
productAction: ActionBlindSting
|
||||
cost:
|
||||
ChangelingPoint: 2
|
||||
ChangelingPoint: 1
|
||||
categories:
|
||||
- ChangelingStings
|
||||
conditions:
|
||||
@@ -110,7 +110,7 @@
|
||||
description: changeling-ability-mute-sting-desc
|
||||
productAction: ActionMuteSting
|
||||
cost:
|
||||
ChangelingPoint: 3
|
||||
ChangelingPoint: 2
|
||||
categories:
|
||||
- ChangelingStings
|
||||
conditions:
|
||||
@@ -136,7 +136,7 @@
|
||||
description: changeling-ability-cryo-sting-desc
|
||||
productAction: ActionCryoSting
|
||||
cost:
|
||||
ChangelingPoint: 3
|
||||
ChangelingPoint: 2
|
||||
categories:
|
||||
- ChangelingStings
|
||||
conditions:
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
interactSuccessString: petting-success-holo
|
||||
interactFailureString: petting-failure-holo
|
||||
successChance: 0.7
|
||||
- type: MovementAlwaysTouching
|
||||
- type: Tag
|
||||
tags:
|
||||
- CannotSuicide
|
||||
|
||||
@@ -340,7 +340,6 @@
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: SubdermalImplant
|
||||
permanent: true
|
||||
- type: Tag
|
||||
tags:
|
||||
- MindShield
|
||||
|
||||
@@ -84,6 +84,8 @@
|
||||
state: icon
|
||||
- type: MeleeWeapon
|
||||
wideAnimationRotation: -135
|
||||
soundHit:
|
||||
path: "/Audio/Weapons/smash.ogg"
|
||||
attackRate: 0.75
|
||||
damage:
|
||||
types:
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
state: icon
|
||||
- type: MeleeWeapon
|
||||
wideAnimationRotation: 135
|
||||
soundHit:
|
||||
path: "/Audio/Weapons/smash.ogg"
|
||||
swingLeft: true
|
||||
attackRate: 0.75
|
||||
damage:
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
id: HealthIconFine
|
||||
priority: 0
|
||||
icon:
|
||||
sprite: Interface/Misc/health_icons.rsi
|
||||
state: Fine
|
||||
sprite: /Textures/Interface/Misc/health_state.rsi
|
||||
state: empty_state
|
||||
locationPreference: Right
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
icon: { sprite: /Textures/White/Objects/Weapons/hardlight_spear.rsi, state: spear }
|
||||
productEntity: HardlightSpearImplanter
|
||||
cost:
|
||||
Telecrystal: 15
|
||||
Telecrystal: 12
|
||||
categories:
|
||||
- UplinkImplants
|
||||
|
||||
@@ -99,6 +99,27 @@
|
||||
Telecrystal: 3
|
||||
categories:
|
||||
- UplinkArmor
|
||||
conditions:
|
||||
- !type:StoreWhitelistCondition
|
||||
blacklist:
|
||||
tags:
|
||||
- NukeOpsUplink
|
||||
|
||||
- type: listing
|
||||
id: UplinkNightGogglesNukie
|
||||
name: ПНВ [Хамелеон]
|
||||
description: Теперь ты видишь во тьме!
|
||||
productEntity: ClothingEyesNightVisionGogglesNukie
|
||||
icon: { sprite: White/Clothing/Head/nightvision.rsi, state: icon }
|
||||
cost:
|
||||
Telecrystal: 3
|
||||
categories:
|
||||
- UplinkArmor
|
||||
conditions:
|
||||
- !type:StoreWhitelistCondition
|
||||
whitelist:
|
||||
tags:
|
||||
- NukeOpsUplink
|
||||
|
||||
#- type: listing
|
||||
# id: UplinkBattleAxe
|
||||
|
||||
@@ -29,14 +29,18 @@
|
||||
AtmosphericTechnician: 400
|
||||
StationEngineer: 300
|
||||
TechnicalAssistant: 200
|
||||
SeniorEngineer: 400
|
||||
Chemist: 400
|
||||
MedicalDoctor: 300
|
||||
MedicalIntern: 200
|
||||
Psychologist: 200
|
||||
Paramedic: 400
|
||||
SeniorPhysician: 400
|
||||
SecurityCadet: 200
|
||||
SecurityOfficer: 300
|
||||
Detective: 400
|
||||
Warden: 500
|
||||
SeniorOfficer: 400
|
||||
Scientist: 300
|
||||
ResearchAssistant: 200
|
||||
SeniorResearcher: 400
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Night Vision Goggles
|
||||
# Night Vision Goggles
|
||||
- type: entity
|
||||
parent: ClothingEyesBase
|
||||
id: ClothingEyesNightVisionGoggles
|
||||
@@ -26,3 +26,12 @@
|
||||
interfaces:
|
||||
- key: enum.ChameleonUiKey.Key
|
||||
type: ChameleonBoundUserInterface
|
||||
|
||||
# Night Vision Goggles (Chameleon) Nuke Ops
|
||||
- type: entity
|
||||
parent: ClothingEyesNightVisionGogglesSyndie
|
||||
id: ClothingEyesNightVisionGogglesNukie
|
||||
suffix: "Хамелеон, Ядерные Оперативники"
|
||||
components:
|
||||
- type: ShowSyndicateIcons
|
||||
- type: ShowSecurityIcons
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
energy: 2
|
||||
color: yellow
|
||||
- type: ChangeThrowForce
|
||||
throwForce: 15
|
||||
throwForce: 20
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
|
||||
@@ -1,47 +1,47 @@
|
||||
- type: statusIcon
|
||||
id: CriminalRecordIcon
|
||||
abstract: true
|
||||
priority: 3
|
||||
priority: 2
|
||||
locationPreference: Right
|
||||
|
||||
- type: statusIcon
|
||||
parent: CriminalRecordIcon
|
||||
id: CriminalRecordIconReleased
|
||||
icon:
|
||||
sprite: White/Interface/records.rsi
|
||||
sprite: /Textures/White/Interface/records.rsi
|
||||
state: released
|
||||
|
||||
- type: statusIcon
|
||||
parent: CriminalRecordIcon
|
||||
id: CriminalRecordIconDischarged
|
||||
icon:
|
||||
sprite: White/Interface/records.rsi
|
||||
sprite: /Textures/White/Interface/records.rsi
|
||||
state: discharged
|
||||
|
||||
- type: statusIcon
|
||||
parent: CriminalRecordIcon
|
||||
id: CriminalRecordIconParolled
|
||||
icon:
|
||||
sprite: White/Interface/records.rsi
|
||||
sprite: /Textures/White/Interface/records.rsi
|
||||
state: parolled
|
||||
|
||||
- type: statusIcon
|
||||
parent: CriminalRecordIcon
|
||||
id: CriminalRecordIconSuspected
|
||||
icon:
|
||||
sprite: White/Interface/records.rsi
|
||||
sprite: /Textures/White/Interface/records.rsi
|
||||
state: suspected
|
||||
|
||||
- type: statusIcon
|
||||
parent: CriminalRecordIcon
|
||||
id: CriminalRecordIconWanted
|
||||
icon:
|
||||
sprite: White/Interface/records.rsi
|
||||
sprite: /Textures/White/Interface/records.rsi
|
||||
state: wanted
|
||||
|
||||
- type: statusIcon
|
||||
parent: CriminalRecordIcon
|
||||
id: CriminalRecordIconIncarcerated
|
||||
icon:
|
||||
sprite: White/Interface/records.rsi
|
||||
sprite: /Textures/White/Interface/records.rsi
|
||||
state: incarcerated
|
||||
|
||||
Reference in New Issue
Block a user