Merge remote-tracking branch 'upstream/master' into ups
@@ -217,9 +217,19 @@ public sealed partial class CriminalRecordsConsoleWindow : FancyWindow
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private HashSet<SecurityStatus> AllowedStatusList = new HashSet<SecurityStatus>()
|
||||||
|
{
|
||||||
|
SecurityStatus.Wanted,
|
||||||
|
SecurityStatus.Suspected,
|
||||||
|
SecurityStatus.Demote,
|
||||||
|
SecurityStatus.Monitoring,
|
||||||
|
SecurityStatus.Paroled,
|
||||||
|
SecurityStatus.Execute
|
||||||
|
};
|
||||||
|
|
||||||
private void SetStatus(SecurityStatus status)
|
private void SetStatus(SecurityStatus status)
|
||||||
{
|
{
|
||||||
if (status == SecurityStatus.Wanted || status == SecurityStatus.Suspected)
|
if (AllowedStatusList.Contains(status)) // WD end
|
||||||
{
|
{
|
||||||
GetReason(status);
|
GetReason(status);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -15,31 +15,43 @@ public sealed class SecurityHudBUI : BoundUserInterface
|
|||||||
|
|
||||||
private readonly Dictionary<string, string> _names = new()
|
private readonly Dictionary<string, string> _names = new()
|
||||||
{
|
{
|
||||||
{ "SecurityIconDischarged", Loc.GetString("criminal-records-status-discharged")},
|
{ "SecurityIconDemote", Loc.GetString("criminal-records-status-demote")}, // WD start
|
||||||
{ "SecurityIconParoled", Loc.GetString("criminal-records-status-paroled")},
|
{ "SecurityIconParoled", Loc.GetString("criminal-records-status-paroled")},
|
||||||
{ "SecurityIconSuspected", Loc.GetString("criminal-records-status-suspected")},
|
{ "SecurityIconSuspected", Loc.GetString("criminal-records-status-suspected")},
|
||||||
{ "SecurityIconWanted", Loc.GetString("criminal-records-status-wanted")},
|
{ "SecurityIconWanted", Loc.GetString("criminal-records-status-wanted")},
|
||||||
{ "SecurityIconIncarcerated", Loc.GetString("criminal-records-status-detained")},
|
{ "SecurityIconIncarcerated", Loc.GetString("criminal-records-status-detained")},
|
||||||
|
{ "SecurityIconExecute", Loc.GetString("criminal-records-status-execute")},
|
||||||
|
{ "SecurityIconMonitoring", Loc.GetString("criminal-records-status-monitoring")},
|
||||||
|
{ "SecurityIconReleased", Loc.GetString("criminal-records-status-released")},
|
||||||
|
{ "SecurityIconSearch", Loc.GetString("criminal-records-status-search")},
|
||||||
{ "CriminalRecordIconRemove", Loc.GetString("security-hud-remove-status") }
|
{ "CriminalRecordIconRemove", Loc.GetString("security-hud-remove-status") }
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly Dictionary<string, string> _icons = new()
|
private readonly Dictionary<string, string> _icons = new()
|
||||||
{
|
{
|
||||||
{ "SecurityIconDischarged", "/Textures/White/Interface/securityhud.rsi/discharged.png" },
|
{ "SecurityIconDemote", "/Textures/White/Interface/securityhud.rsi/demote.png" },
|
||||||
{ "SecurityIconParoled", "/Textures/White/Interface/securityhud.rsi/paroled.png" },
|
{ "SecurityIconParoled", "/Textures/White/Interface/securityhud.rsi/paroled.png" },
|
||||||
{ "SecurityIconSuspected", "/Textures/White/Interface/securityhud.rsi/suspected.png" },
|
{ "SecurityIconSuspected", "/Textures/White/Interface/securityhud.rsi/suspected.png" },
|
||||||
{ "SecurityIconWanted", "/Textures/White/Interface/securityhud.rsi/wanted.png" },
|
{ "SecurityIconWanted", "/Textures/White/Interface/securityhud.rsi/wanted.png" },
|
||||||
{ "SecurityIconIncarcerated", "/Textures/White/Interface/securityhud.rsi/incarcerated.png" },
|
{ "SecurityIconIncarcerated", "/Textures/White/Interface/securityhud.rsi/incarcerated.png" },
|
||||||
|
{ "SecurityIconExecute", "/Textures/White/Interface/securityhud.rsi/execute.png" },
|
||||||
|
{ "SecurityIconMonitoring", "/Textures/White/Interface/securityhud.rsi/monitoring.png" },
|
||||||
|
{ "SecurityIconReleased", "/Textures/White/Interface/securityhud.rsi/released.png" },
|
||||||
|
{ "SecurityIconSearch", "/Textures/White/Interface/securityhud.rsi/search.png" },
|
||||||
{ "CriminalRecordIconRemove", "/Textures/White/Interface/securityhud.rsi/remove.png" }
|
{ "CriminalRecordIconRemove", "/Textures/White/Interface/securityhud.rsi/remove.png" }
|
||||||
};
|
};
|
||||||
|
|
||||||
private readonly Dictionary<string, SecurityStatus> _status = new()
|
private readonly Dictionary<string, SecurityStatus> _status = new()
|
||||||
{
|
{
|
||||||
{ "SecurityIconDischarged", SecurityStatus.Discharged },
|
{ "SecurityIconDemote", SecurityStatus.Demote },
|
||||||
{ "SecurityIconParoled", SecurityStatus.Paroled },
|
{ "SecurityIconParoled", SecurityStatus.Paroled },
|
||||||
{ "SecurityIconSuspected", SecurityStatus.Suspected },
|
{ "SecurityIconSuspected", SecurityStatus.Suspected },
|
||||||
{ "SecurityIconWanted", SecurityStatus.Wanted },
|
{ "SecurityIconWanted", SecurityStatus.Wanted },
|
||||||
{ "SecurityIconIncarcerated", SecurityStatus.Detained },
|
{ "SecurityIconIncarcerated", SecurityStatus.Detained },
|
||||||
|
{ "SecurityIconExecute", SecurityStatus.Execute },
|
||||||
|
{ "SecurityIconMonitoring", SecurityStatus.Monitoring },
|
||||||
|
{ "SecurityIconReleased", SecurityStatus.Released },
|
||||||
|
{ "SecurityIconSearch", SecurityStatus.Search }, // WD end
|
||||||
{ "CriminalRecordIconRemove", SecurityStatus.None }
|
{ "CriminalRecordIconRemove", SecurityStatus.None }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public sealed class MutationSystem : EntitySystem
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add up everything in the bits column and put the number here.
|
// Add up everything in the bits column and put the number here.
|
||||||
const int totalbits = 275;
|
const int totalbits = 270;
|
||||||
|
|
||||||
// Tolerances (55)
|
// Tolerances (55)
|
||||||
MutateFloat(ref seed.NutrientConsumption , 0.05f, 1.2f, 5, totalbits, severity);
|
MutateFloat(ref seed.NutrientConsumption , 0.05f, 1.2f, 5, totalbits, severity);
|
||||||
@@ -66,7 +66,7 @@ public sealed class MutationSystem : EntitySystem
|
|||||||
// Kill the plant (30)
|
// Kill the plant (30)
|
||||||
MutateBool(ref seed.Viable , false, 30, totalbits, severity);
|
MutateBool(ref seed.Viable , false, 30, totalbits, severity);
|
||||||
|
|
||||||
// Fun (90)
|
// Fun (80)
|
||||||
MutateBool(ref seed.Seedless , true , 10, totalbits, severity);
|
MutateBool(ref seed.Seedless , true , 10, totalbits, severity);
|
||||||
MutateBool(ref seed.Slip , true , 10, totalbits, severity);
|
MutateBool(ref seed.Slip , true , 10, totalbits, severity);
|
||||||
MutateBool(ref seed.Sentient , true , 10, totalbits, severity);
|
MutateBool(ref seed.Sentient , true , 10, totalbits, severity);
|
||||||
@@ -153,6 +153,12 @@ public sealed class MutationSystem : EntitySystem
|
|||||||
if (!Random(probBitflip))
|
if (!Random(probBitflip))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (min == max)
|
||||||
|
{
|
||||||
|
val = min;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Starting number of bits that are high, between 0 and bits.
|
// Starting number of bits that are high, between 0 and bits.
|
||||||
// In other words, it's val mapped linearly from range [min, max] to range [0, bits], and then rounded.
|
// In other words, it's val mapped linearly from range [min, max] to range [0, bits], and then rounded.
|
||||||
int valInt = (int)MathF.Round((val - min) / (max - min) * bits);
|
int valInt = (int)MathF.Round((val - min) / (max - min) * bits);
|
||||||
@@ -186,10 +192,22 @@ public sealed class MutationSystem : EntitySystem
|
|||||||
if (!Random(probBitflip))
|
if (!Random(probBitflip))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (min == max)
|
||||||
|
{
|
||||||
|
val = min;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Starting number of bits that are high, between 0 and bits.
|
||||||
|
// In other words, it's val mapped linearly from range [min, max] to range [0, bits], and then rounded.
|
||||||
|
int valInt = (int)MathF.Round((val - min) / (max - min) * bits);
|
||||||
|
// val may be outside the range of min/max due to starting prototype values, so clamp.
|
||||||
|
valInt = Math.Clamp(valInt, 0, bits);
|
||||||
|
|
||||||
// Probability that the bit flip increases n.
|
// Probability that the bit flip increases n.
|
||||||
// The higher the current value is, the lower the probability of increasing value is, and the higher the probability of decreasive it it.
|
// The higher the current value is, the lower the probability of increasing value is, and the higher the probability of decreasing it.
|
||||||
// In other words, it tends to go to the middle.
|
// In other words, it tends to go to the middle.
|
||||||
float probIncrease = 1 - (float)val / bits;
|
float probIncrease = 1 - (float)valInt / bits;
|
||||||
int valMutated;
|
int valMutated;
|
||||||
if (Random(probIncrease))
|
if (Random(probIncrease))
|
||||||
{
|
{
|
||||||
@@ -274,7 +292,7 @@ public sealed class MutationSystem : EntitySystem
|
|||||||
seedChemQuantity.Max = 1 + amount;
|
seedChemQuantity.Max = 1 + amount;
|
||||||
seedChemQuantity.Inherent = false;
|
seedChemQuantity.Inherent = false;
|
||||||
}
|
}
|
||||||
int potencyDivisor = (int) Math.Ceiling(100.0f / seedChemQuantity.Max);
|
int potencyDivisor = (int)Math.Ceiling(100.0f / seedChemQuantity.Max);
|
||||||
seedChemQuantity.PotencyDivisor = potencyDivisor;
|
seedChemQuantity.PotencyDivisor = potencyDivisor;
|
||||||
chemicals[chemicalId] = seedChemQuantity;
|
chemicals[chemicalId] = seedChemQuantity;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -518,10 +518,10 @@ public sealed class PlantHolderSystem : EntitySystem
|
|||||||
|
|
||||||
var environment = _atmosphere.GetContainingMixture(uid, true, true) ?? GasMixture.SpaceGas;
|
var environment = _atmosphere.GetContainingMixture(uid, true, true) ?? GasMixture.SpaceGas;
|
||||||
|
|
||||||
|
component.MissingGas = 0;
|
||||||
|
|
||||||
if (component.Seed.ConsumeGasses.Count > 0)
|
if (component.Seed.ConsumeGasses.Count > 0)
|
||||||
{
|
{
|
||||||
component.MissingGas = 0;
|
|
||||||
|
|
||||||
foreach (var (gas, amount) in component.Seed.ConsumeGasses)
|
foreach (var (gas, amount) in component.Seed.ConsumeGasses)
|
||||||
{
|
{
|
||||||
if (environment.GetMoles(gas) < amount)
|
if (environment.GetMoles(gas) < amount)
|
||||||
|
|||||||
@@ -75,7 +75,11 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
|||||||
{
|
{
|
||||||
// prevent malf client violating wanted/reason nullability
|
// prevent malf client violating wanted/reason nullability
|
||||||
if (msg.Status == SecurityStatus.Wanted != (msg.Reason != null) &&
|
if (msg.Status == SecurityStatus.Wanted != (msg.Reason != null) &&
|
||||||
msg.Status == SecurityStatus.Suspected != (msg.Reason != null))
|
msg.Status == SecurityStatus.Suspected != (msg.Reason != null) &&
|
||||||
|
msg.Status == SecurityStatus.Demote != (msg.Reason != null) && // WD start
|
||||||
|
msg.Status == SecurityStatus.Monitoring != (msg.Reason != null) &&
|
||||||
|
msg.Status == SecurityStatus.Paroled != (msg.Reason != null) &&
|
||||||
|
msg.Status == SecurityStatus.Execute != (msg.Reason != null)) // WD end
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!CheckSelected(ent, msg.Session, out var mob, out var key))
|
if (!CheckSelected(ent, msg.Session, out var mob, out var key))
|
||||||
@@ -127,10 +131,18 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
|||||||
(_, SecurityStatus.Suspected) => "suspected",
|
(_, SecurityStatus.Suspected) => "suspected",
|
||||||
// released on parole
|
// released on parole
|
||||||
(_, SecurityStatus.Paroled) => "paroled",
|
(_, SecurityStatus.Paroled) => "paroled",
|
||||||
// prisoner did their time
|
// person was demoted
|
||||||
(_, SecurityStatus.Discharged) => "released",
|
(_, SecurityStatus.Demote) => "demoted", // WD start
|
||||||
// going from any other state to wanted, AOS or prisonbreak / lazy secoff never set them to released and they reoffended
|
// going from any other state to wanted, AOS or prisonbreak / lazy secoff never set them to released and they reoffended
|
||||||
(_, SecurityStatus.Wanted) => "wanted",
|
(_, SecurityStatus.Wanted) => "wanted",
|
||||||
|
// Person is xenos
|
||||||
|
(_, SecurityStatus.Execute) => "execute",
|
||||||
|
// Person requires supervision
|
||||||
|
(_, SecurityStatus.Monitoring) => "monitoring",
|
||||||
|
// Person works in cargo
|
||||||
|
(_, SecurityStatus.Search) => "search",
|
||||||
|
// Released
|
||||||
|
(_, SecurityStatus.Released) => "released",
|
||||||
// person is no longer sus
|
// person is no longer sus
|
||||||
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
||||||
// going from wanted to none, must have been a mistake
|
// going from wanted to none, must have been a mistake
|
||||||
@@ -139,6 +151,14 @@ public sealed class CriminalRecordsConsoleSystem : SharedCriminalRecordsConsoleS
|
|||||||
(SecurityStatus.Detained, SecurityStatus.None) => "released",
|
(SecurityStatus.Detained, SecurityStatus.None) => "released",
|
||||||
// criminal is no longer on parole
|
// criminal is no longer on parole
|
||||||
(SecurityStatus.Paroled, SecurityStatus.None) => "not-parole",
|
(SecurityStatus.Paroled, SecurityStatus.None) => "not-parole",
|
||||||
|
// person dont require supervision
|
||||||
|
(SecurityStatus.Monitoring, SecurityStatus.None) => "not-monitoring",
|
||||||
|
// person was searched
|
||||||
|
(SecurityStatus.Search, SecurityStatus.None) => "not-search",
|
||||||
|
// person was demoted
|
||||||
|
(SecurityStatus.Demote, SecurityStatus.None) => "not-demoted",
|
||||||
|
// person is not xenos
|
||||||
|
(SecurityStatus.Execute, SecurityStatus.None) => "not-execute", // WD end
|
||||||
// this is impossible
|
// this is impossible
|
||||||
_ => "not-wanted"
|
_ => "not-wanted"
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,5 +11,5 @@ public sealed partial class CryoPodAirComponent : Component
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
[DataField("gasMixture")]
|
[DataField("gasMixture")]
|
||||||
public GasMixture Air { get; set; } = new(Atmospherics.OneAtmosphere);
|
public GasMixture Air { get; set; } = new GasMixture(1000f);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,8 +136,12 @@ public sealed class SecurityHudSystem : EntitySystem
|
|||||||
(_, SecurityStatus.Detained) => "detained",
|
(_, SecurityStatus.Detained) => "detained",
|
||||||
(_, SecurityStatus.Suspected) => "suspected",
|
(_, SecurityStatus.Suspected) => "suspected",
|
||||||
(_, SecurityStatus.Paroled) => "paroled",
|
(_, SecurityStatus.Paroled) => "paroled",
|
||||||
(_, SecurityStatus.Discharged) => "released",
|
(_, SecurityStatus.Demote) => "demoted", // WD start
|
||||||
(_, SecurityStatus.Wanted) => "wanted",
|
(_, SecurityStatus.Wanted) => "wanted",
|
||||||
|
(_, SecurityStatus.Monitoring) => "monitoring",
|
||||||
|
(_, SecurityStatus.Released) => "released",
|
||||||
|
(_, SecurityStatus.Search) => "search",
|
||||||
|
(_, SecurityStatus.Execute) => "execute",
|
||||||
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
(SecurityStatus.Suspected, SecurityStatus.None) => "not-suspected",
|
||||||
(SecurityStatus.Wanted, SecurityStatus.None) => "not-wanted",
|
(SecurityStatus.Wanted, SecurityStatus.None) => "not-wanted",
|
||||||
(SecurityStatus.Detained, SecurityStatus.None) => "released",
|
(SecurityStatus.Detained, SecurityStatus.None) => "released",
|
||||||
|
|||||||
@@ -41,8 +41,12 @@ public abstract class SharedCriminalRecordsConsoleSystem : EntitySystem
|
|||||||
SecurityStatus.Paroled => "SecurityIconParoled",
|
SecurityStatus.Paroled => "SecurityIconParoled",
|
||||||
SecurityStatus.Wanted => "SecurityIconWanted",
|
SecurityStatus.Wanted => "SecurityIconWanted",
|
||||||
SecurityStatus.Detained => "SecurityIconIncarcerated",
|
SecurityStatus.Detained => "SecurityIconIncarcerated",
|
||||||
SecurityStatus.Discharged => "SecurityIconDischarged",
|
SecurityStatus.Demote => "SecurityIconDemote",
|
||||||
SecurityStatus.Suspected => "SecurityIconSuspected",
|
SecurityStatus.Suspected => "SecurityIconSuspected",
|
||||||
|
SecurityStatus.Execute => "SecurityIconExecute", // WD start
|
||||||
|
SecurityStatus.Released => "SecurityIconReleased",
|
||||||
|
SecurityStatus.Monitoring => "SecurityIconMonitoring",
|
||||||
|
SecurityStatus.Search => "SecurityIconSearch", // WD end
|
||||||
_ => record.StatusIcon
|
_ => record.StatusIcon
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,14 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public enum SecurityStatus : byte
|
public enum SecurityStatus : byte
|
||||||
{
|
{
|
||||||
None,
|
None, // WD start
|
||||||
Suspected,
|
|
||||||
Wanted,
|
Wanted,
|
||||||
|
Suspected,
|
||||||
|
Demote,
|
||||||
|
Search,
|
||||||
|
Monitoring,
|
||||||
Detained,
|
Detained,
|
||||||
Paroled,
|
Paroled,
|
||||||
Discharged
|
Released,
|
||||||
|
Execute // WD end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,3 +24,9 @@
|
|||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "Taken from tgstation at https://github.com/tgstation/tgstation/commit/f7a49c4068f1277e6857baf0892d355f1c055974"
|
copyright: "Taken from tgstation at https://github.com/tgstation/tgstation/commit/f7a49c4068f1277e6857baf0892d355f1c055974"
|
||||||
source: "https://github.com/tgstation/tgstation/tree/f7a49c4068f1277e6857baf0892d355f1c055974/sound/voice/human"
|
source: "https://github.com/tgstation/tgstation/tree/f7a49c4068f1277e6857baf0892d355f1c055974/sound/voice/human"
|
||||||
|
|
||||||
|
- files:
|
||||||
|
- moth_DeathGasp.ogg
|
||||||
|
license: "CC-BY-SA-3.0"
|
||||||
|
copyright: "Taken from tgstation at https://github.com/tgstation/tgstation/commit/948ad3dd5b22803a01cd74c27f37e509dc61395b"
|
||||||
|
source: "https://github.com/tgstation/tgstation/blob/948ad3dd5b22803a01cd74c27f37e509dc61395b/sound/voice/moth/moth_death.ogg"
|
||||||
|
|||||||
BIN
Resources/Audio/Effects/Gasp/moth_DeathGasp.ogg
Normal file
@@ -8207,3 +8207,86 @@
|
|||||||
id: 491
|
id: 491
|
||||||
time: '2024-08-14T19:24:31.0000000+00:00'
|
time: '2024-08-14T19:24:31.0000000+00:00'
|
||||||
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/619
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/619
|
||||||
|
- author: Warete
|
||||||
|
changes:
|
||||||
|
- message: "\u041A\u0440\u0438\u043E\u043F\u043E\u0434 \u0442\u0435\u043F\u0435\u0440\
|
||||||
|
\u044C \u043E\u0445\u043B\u0430\u0436\u0434\u0430\u0435\u0442 \u043D\u0430\u043C\
|
||||||
|
\u043D\u043E\u0433\u043E \u0431\u044B\u0441\u0442\u0440\u0435\u0435, \u0432\
|
||||||
|
\ \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442\
|
||||||
|
\ \u0434\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0433\u0430\u0437\u0430\
|
||||||
|
\ \u0432\u043D\u0443\u0442\u0440\u0438."
|
||||||
|
type: Fix
|
||||||
|
id: 492
|
||||||
|
time: '2024-08-15T12:15:46.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/621
|
||||||
|
- author: Warete
|
||||||
|
changes:
|
||||||
|
- message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u0431\u0430\u0433\
|
||||||
|
\ \u0441 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\
|
||||||
|
\u044C\u044E \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0431\u043E\
|
||||||
|
\u043B\u0435\u0435 5-\u0442\u0438 \u043F\u0440\u043E\u0434\u0443\u043A\u0446\
|
||||||
|
\u0438\u0438 \u0437\u0430 \u0440\u0430\u0437 \u0441 \u0440\u0430\u0441\u0442\
|
||||||
|
\u0435\u043D\u0438\u0439."
|
||||||
|
type: Fix
|
||||||
|
id: 493
|
||||||
|
time: '2024-08-15T12:16:00.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/622
|
||||||
|
- author: ua_No_Name48237
|
||||||
|
changes:
|
||||||
|
- message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043E\u0448\
|
||||||
|
\u0438\u0431\u043A\u0430 \u0441 \u0432\u0442\u043E\u0440\u044B\u043C ID \u0438\
|
||||||
|
\u043A\u043E\u043D\u043A\u0438 \u0431\u0440\u0438\u0433\u043C\u0435\u0434\u0438\
|
||||||
|
\u043A\u0430, \u0447\u0442\u043E \u0431\u044B\u043B\u0430 \u0432 \u043A\u043E\
|
||||||
|
\u0434\u0435."
|
||||||
|
type: Fix
|
||||||
|
- message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0445\u0440\u0430\
|
||||||
|
\u043D\u0438\u043B\u0438\u0449\u0435 \u0434\u043B\u044F \u0441\u043A\u0430\u0444\
|
||||||
|
\u0430\u043D\u0434\u0440\u0430 \u0431\u0440\u0438\u0433\u043C\u0435\u0434\u0438\
|
||||||
|
\u043A\u0430."
|
||||||
|
type: Add
|
||||||
|
id: 494
|
||||||
|
time: '2024-08-15T13:42:06.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/624
|
||||||
|
- author: Aviu
|
||||||
|
changes:
|
||||||
|
- message: "\u041F\u0440\u0435\u0434\u0441\u043C\u0435\u0440\u0442\u043D\u044B\u0435\
|
||||||
|
\ \u0445\u0440\u0438\u043F\u044B \u0434\u043B\u044F \u043C\u043E\u043B\u0435\
|
||||||
|
\u0439."
|
||||||
|
type: Add
|
||||||
|
- message: "\u0416\u0438\u0432\u043E\u0442\u043D\u044B\u0435 \u0431\u043E\u043B\u044C\
|
||||||
|
\u0448\u0435 \u043D\u0435 \u0437\u0430\u0434\u044B\u0445\u0430\u044E\u0442\u0441\
|
||||||
|
\u044F \u0447\u0435\u043B\u043E\u0432\u0435\u0447\u0435\u0441\u043A\u0438\u043C\
|
||||||
|
\ \u0433\u043E\u043B\u043E\u0441\u043E\u043C."
|
||||||
|
type: Fix
|
||||||
|
id: 495
|
||||||
|
time: '2024-08-15T16:00:07.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/625
|
||||||
|
- author: keslik
|
||||||
|
changes:
|
||||||
|
- message: "\u0412 \u0430\u0432\u0430\u0440\u0438\u0439\u043D\u044B\u0435 \u043D\
|
||||||
|
\u0430\u0431\u043E\u0440\u044B \u043E\u0445\u0440\u0430\u043D\u044B \u0434\u043E\
|
||||||
|
\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u043F\u043E\u0440\u0442\u0430\u0442\
|
||||||
|
\u0438\u0432\u043D\u0430\u044F \u0440\u0430\u0446\u0438\u044F"
|
||||||
|
type: Tweak
|
||||||
|
id: 496
|
||||||
|
time: '2024-08-16T16:15:36.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/627
|
||||||
|
- author: ua_No_Name48237
|
||||||
|
changes:
|
||||||
|
- message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u0442\
|
||||||
|
\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043E\u0441\u0442\u0443\
|
||||||
|
\u043F\u0430 \u0432 \u0442\u0435\u0445\u0438 \u0443 \u0431\u0440\u0438\u0433\
|
||||||
|
\u043C\u0435\u0434\u0438\u043A\u0430"
|
||||||
|
type: Fix
|
||||||
|
id: 497
|
||||||
|
time: '2024-08-16T16:15:56.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/628
|
||||||
|
- author: keslik
|
||||||
|
changes:
|
||||||
|
- message: "\u041F\u0435\u0440\u0435\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u044B\
|
||||||
|
\ \u043A\u0440\u0438\u043C\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u0441\
|
||||||
|
\u0442\u0430\u0442\u0443\u0441\u044B"
|
||||||
|
type: Tweak
|
||||||
|
id: 498
|
||||||
|
time: '2024-08-16T20:46:26.0000000+00:00'
|
||||||
|
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/629
|
||||||
|
|||||||
@@ -9,13 +9,21 @@ criminal-records-console-no-record-found = Не найдены записи дл
|
|||||||
criminal-records-console-status = Статус
|
criminal-records-console-status = Статус
|
||||||
criminal-records-status-none = Нет
|
criminal-records-status-none = Нет
|
||||||
criminal-records-status-wanted = В розыске
|
criminal-records-status-wanted = В розыске
|
||||||
criminal-records-status-detained = В заключении
|
|
||||||
criminal-records-status-suspected = Подозреваемый
|
criminal-records-status-suspected = Подозреваемый
|
||||||
criminal-records-status-discharged = Освобождён
|
criminal-records-status-demote = Подлежит понижению
|
||||||
criminal-records-status-paroled = Досрочно освобождён
|
criminal-records-status-search = Обыскать
|
||||||
|
criminal-records-status-monitoring = Установить слежку
|
||||||
|
criminal-records-status-detained = Под стражей
|
||||||
|
criminal-records-status-paroled = Условно-досрочно освобождён
|
||||||
|
criminal-records-status-released = Освобождён
|
||||||
|
criminal-records-status-execute = Ликвидировать
|
||||||
|
|
||||||
criminal-records-console-wanted-reason = [color=gray]Причина розыска[/color]
|
criminal-records-console-wanted-reason = [color=gray]Причина розыска[/color]
|
||||||
criminal-records-console-suspected-reason = [color=gray]Причина подозрения[/color]
|
criminal-records-console-suspected-reason = [color=gray]Причина подозрения[/color]
|
||||||
|
criminal-records-console-demote-reason = [color=gray]Причина понижения[/color]
|
||||||
|
criminal-records-console-monitoring-reason = [color=gray]Причина слежки[/color]
|
||||||
|
criminal-records-console-paroled-reason = [color=gray]Основание УДО[/color]
|
||||||
|
criminal-records-console-execute-reason = [color=gray]Причина устранения[/color]
|
||||||
criminal-records-console-reason = Причина
|
criminal-records-console-reason = Причина
|
||||||
criminal-records-console-reason-placeholder = Например: {$placeholder}
|
criminal-records-console-reason-placeholder = Например: {$placeholder}
|
||||||
|
|
||||||
@@ -37,9 +45,13 @@ criminal-records-console-not-suspected = {$name} больше не под под
|
|||||||
criminal-records-console-detained = {$name} был задержан {$officer}.
|
criminal-records-console-detained = {$name} был задержан {$officer}.
|
||||||
criminal-records-console-released = {$name} был освобожден {$officer}.
|
criminal-records-console-released = {$name} был освобожден {$officer}.
|
||||||
criminal-records-console-not-wanted = {$name} больше не в розыске.
|
criminal-records-console-not-wanted = {$name} больше не в розыске.
|
||||||
criminal-records-console-paroled = {$name} был отпущен условно-досрочно {$officer}.
|
criminal-records-console-paroled = {$name} был условно-досрочно освобождён {$officer} на основании {$reason}.
|
||||||
criminal-records-console-not-parole = {$name} больше не условно-досрочно освобождённый.
|
criminal-records-console-not-parole = {$name} нарушил условия условно-досрочного освобождения.
|
||||||
criminal-records-console-unknown-officer = <неизвестный офицер>
|
criminal-records-console-search = {$name} требуется обыскать по указу {$officer}.
|
||||||
|
criminal-records-console-monitoring = За {$name} требуется вести наблюдание по причине {$reason}.
|
||||||
|
criminal-records-console-execute = {$name} требуется ликвидировать по приказу {$officer} по причине {$reason}.
|
||||||
|
criminal-records-console-demoted = {$name} должен быть понижен в должности по указу {$officer} по причине {$reason}.
|
||||||
|
criminal-records-console-unknown-officer = <неопознанный офицер>
|
||||||
|
|
||||||
|
|
||||||
## Filters
|
## Filters
|
||||||
|
|||||||
@@ -9,16 +9,17 @@ criminal-login-in-desc = Войти
|
|||||||
criminal-login-info = ID: { $user }
|
criminal-login-info = ID: { $user }
|
||||||
criminal-login-hint = Вставьте ID карту в консоль, нажав на "{ $name }" (нужно держать ID карту в руке)
|
criminal-login-hint = Вставьте ID карту в консоль, нажав на "{ $name }" (нужно держать ID карту в руке)
|
||||||
criminal-login-warn = WARNING: Доступ к системе осуществляется уровнем доступа "службы безопасности"
|
criminal-login-warn = WARNING: Доступ к системе осуществляется уровнем доступа "службы безопасности"
|
||||||
criminal-status-released = Освобожден
|
criminal-status-released = Освобождён
|
||||||
criminal-status-discharged = Выписан
|
criminal-status-demote = Понизить
|
||||||
criminal-status-parolled = Закодирован
|
criminal-status-parolled = Условно-досрочно освобождён
|
||||||
criminal-status-suspected = Подозреваемый
|
criminal-status-suspected = Подозреваемый
|
||||||
criminal-status-wanted = В розыске
|
criminal-status-wanted = В розыске
|
||||||
criminal-status-incarcerated = Заключенный
|
criminal-status-incarcerated = Заключенный
|
||||||
|
criminal-status-execute = Ликвидировать
|
||||||
|
criminal-status-monitoring = Наблюдать
|
||||||
|
criminal-status-search = Обыскать
|
||||||
criminal-targetchannel-set-released = { $target } освобожден(а).
|
criminal-targetchannel-set-released = { $target } освобожден(а).
|
||||||
criminal-targetchannel-set-released-reason = { $target } освобожден(а). Заметка: { $reason }.
|
criminal-targetchannel-set-released-reason = { $target } освобожден(а). Заметка: { $reason }.
|
||||||
criminal-targetchannel-set-discharged = { $target } выписан(а).
|
|
||||||
criminal-targetchannel-set-discharged-reason = { $target } выписан(а). Заметка: { $reason }.
|
|
||||||
criminal-targetchannel-set-parolled = { $target } закодирован(а).
|
criminal-targetchannel-set-parolled = { $target } закодирован(а).
|
||||||
criminal-targetchannel-set-parolled-reason = { $target } закодирован(а). Заметка: { $reason }.
|
criminal-targetchannel-set-parolled-reason = { $target } закодирован(а). Заметка: { $reason }.
|
||||||
criminal-targetchannel-set-suspected = { $target } под подозрением.
|
criminal-targetchannel-set-suspected = { $target } под подозрением.
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
- id: SpaceMedipen
|
- id: SpaceMedipen
|
||||||
- id: EmergencyMedipen
|
- id: EmergencyMedipen
|
||||||
- id: Flare
|
- id: Flare
|
||||||
|
- id: RadioHandheld # WD
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
layers:
|
layers:
|
||||||
- state: internals
|
- state: internals
|
||||||
|
|||||||
@@ -92,18 +92,11 @@
|
|||||||
- id: ClothingUniformJumpsuitBrigmedic
|
- id: ClothingUniformJumpsuitBrigmedic
|
||||||
- id: ClothingUniformJumpskirtBrigmedic
|
- id: ClothingUniformJumpskirtBrigmedic
|
||||||
- id: ClothingUniformJumpskirtOfLife
|
- id: ClothingUniformJumpskirtOfLife
|
||||||
|
prob: 0.1
|
||||||
- id: ClothingEyesHudMedSec
|
- id: ClothingEyesHudMedSec
|
||||||
- id: ClothingHandsGlovesNitrile
|
- id: ClothingHandsGlovesNitrile
|
||||||
- id: ClothingBeltMedicalRig
|
- id: ClothingBeltMedicalRig
|
||||||
- id: MedkitFilled
|
- id: MedkitFilled
|
||||||
- id: MedkitOxygenFilled
|
|
||||||
prob: 0.3
|
|
||||||
- id: MedkitBruteFilled
|
|
||||||
prob: 0.3
|
|
||||||
- id: MedkitToxinFilled
|
|
||||||
prob: 0.3
|
|
||||||
- id: MedkitBurnFilled
|
|
||||||
prob: 0.7
|
|
||||||
- id: ClothingNeckCloakMoth #bзззз, молепокалипсис
|
- id: ClothingNeckCloakMoth #bзззз, молепокалипсис
|
||||||
prob: 0.15
|
prob: 0.15
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
suffix: Prisoner EVA
|
suffix: Prisoner EVA
|
||||||
components:
|
components:
|
||||||
- type: StorageFill
|
- type: StorageFill
|
||||||
contents:
|
contents:
|
||||||
- id: OxygenTankFilled
|
- id: OxygenTankFilled
|
||||||
- id: ClothingOuterHardsuitEVAPrisoner
|
- id: ClothingOuterHardsuitEVAPrisoner
|
||||||
- id: ClothingHeadHelmetEVALarge
|
- id: ClothingHeadHelmetEVALarge
|
||||||
@@ -144,6 +144,21 @@
|
|||||||
- type: AccessReader
|
- type: AccessReader
|
||||||
access: [["Security"]]
|
access: [["Security"]]
|
||||||
|
|
||||||
|
#Brigmedic's hardsuit
|
||||||
|
- type: entity
|
||||||
|
id: SuitStorageBrigmedic
|
||||||
|
parent: SuitStorageBase
|
||||||
|
suffix: Brigmedic
|
||||||
|
components:
|
||||||
|
- type: StorageFill
|
||||||
|
contents:
|
||||||
|
- id: OxygenTankFilled
|
||||||
|
- id: NitrogenTankFilled
|
||||||
|
- id: ClothingOuterHardsuitBrigmedic
|
||||||
|
- id: ClothingMaskBreathMedicalSecurity
|
||||||
|
- type: AccessReader
|
||||||
|
access: [["Medical"]]
|
||||||
|
|
||||||
#CE's hardsuit
|
#CE's hardsuit
|
||||||
- type: entity
|
- type: entity
|
||||||
id: SuitStorageCE
|
id: SuitStorageCE
|
||||||
|
|||||||
@@ -504,9 +504,9 @@
|
|||||||
accent: zombieMoth
|
accent: zombieMoth
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexMoth
|
Male: AnimalMoth
|
||||||
Female: UnisexMoth
|
Female: AnimalMoth
|
||||||
Unsexed: UnisexMoth
|
Unsexed: AnimalMoth
|
||||||
wilhelmProbability: 0.001
|
wilhelmProbability: 0.001
|
||||||
- type: MobPrice
|
- type: MobPrice
|
||||||
price: 150
|
price: 150
|
||||||
@@ -1357,9 +1357,9 @@
|
|||||||
speechVerb: Reptilian
|
speechVerb: Reptilian
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexReptilian
|
Male: AnimalReptilian
|
||||||
Female: UnisexReptilian
|
Female: AnimalReptilian
|
||||||
Unsexed: UnisexReptilian
|
Unsexed: AnimalReptilian
|
||||||
- type: TypingIndicator
|
- type: TypingIndicator
|
||||||
proto: lizard
|
proto: lizard
|
||||||
- type: InteractionPopup
|
- type: InteractionPopup
|
||||||
@@ -2175,9 +2175,9 @@
|
|||||||
speechSounds: Arachnid
|
speechSounds: Arachnid
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexArachnid
|
Male: AnimalArachnid
|
||||||
Female: UnisexArachnid
|
Female: AnimalArachnid
|
||||||
Unsexed: UnisexArachnid
|
Unsexed: AnimalArachnid
|
||||||
- type: TypingIndicator
|
- type: TypingIndicator
|
||||||
proto: spider
|
proto: spider
|
||||||
- type: Tag
|
- type: Tag
|
||||||
|
|||||||
@@ -266,9 +266,9 @@
|
|||||||
speechSounds: Arachnid
|
speechSounds: Arachnid
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexArachnid
|
Male: AnimalArachnid
|
||||||
Female: UnisexArachnid
|
Female: AnimalArachnid
|
||||||
Unsexed: UnisexArachnid
|
Unsexed: AnimalArachnid
|
||||||
- type: TypingIndicator
|
- type: TypingIndicator
|
||||||
proto: spider
|
proto: spider
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexArachnid
|
Male: UnisexArachnid
|
||||||
Female: UnisexArachnid
|
Female: FemaleArachnid
|
||||||
Unsexed: UnisexArachnid
|
Unsexed: UnisexArachnid
|
||||||
- type: TypingIndicator
|
- type: TypingIndicator
|
||||||
proto: spider
|
proto: spider
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexDiona
|
Male: UnisexDiona
|
||||||
Female: UnisexDiona
|
Female: FemaleDiona
|
||||||
Unsexed: UnisexDiona
|
Unsexed: UnisexDiona
|
||||||
- type: BodyEmotes
|
- type: BodyEmotes
|
||||||
soundsId: DionaBodyEmotes
|
soundsId: DionaBodyEmotes
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexMoth
|
Male: UnisexMoth
|
||||||
Female: UnisexMoth
|
Female: FemaleMoth
|
||||||
Unsexed: UnisexMoth
|
Unsexed: UnisexMoth
|
||||||
- type: MovementSpeedModifier
|
- type: MovementSpeedModifier
|
||||||
weightlessAcceleration: 1.5 # Move around more easily in space.
|
weightlessAcceleration: 1.5 # Move around more easily in space.
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexReptilian
|
Male: UnisexReptilian
|
||||||
Female: UnisexReptilian
|
Female: FemaleReptilian
|
||||||
Unsexed: UnisexReptilian
|
Unsexed: UnisexReptilian
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Biological
|
damageContainer: Biological
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
access:
|
access:
|
||||||
- Security
|
- Security
|
||||||
- Brig
|
- Brig
|
||||||
|
- Maintenance
|
||||||
- Medical
|
- Medical
|
||||||
- External
|
- External
|
||||||
special:
|
special:
|
||||||
|
|||||||
@@ -21,3 +21,22 @@
|
|||||||
files:
|
files:
|
||||||
- /Audio/Effects/Gasp/deathgasp_1.ogg
|
- /Audio/Effects/Gasp/deathgasp_1.ogg
|
||||||
- /Audio/Effects/Gasp/deathgasp_2.ogg
|
- /Audio/Effects/Gasp/deathgasp_2.ogg
|
||||||
|
|
||||||
|
- type: soundCollection
|
||||||
|
id: MothDeathGasp
|
||||||
|
files:
|
||||||
|
- /Audio/Effects/Gasp/moth_DeathGasp.ogg
|
||||||
|
|
||||||
|
- type: soundCollection
|
||||||
|
id: HarpyDeathGasp
|
||||||
|
files:
|
||||||
|
- /Audio/Effects/Gasp/male_deathgasp_1.ogg
|
||||||
|
- /Audio/Effects/Gasp/male_deathgasp_2.ogg
|
||||||
|
- /Audio/Effects/Gasp/male_deathgasp_3.ogg
|
||||||
|
- /Audio/Effects/Gasp/male_deathgasp_4.ogg
|
||||||
|
- /Audio/Effects/Gasp/male_deathgasp_5.ogg
|
||||||
|
- /Audio/Effects/Gasp/female_deathgasp_1.ogg
|
||||||
|
- /Audio/Effects/Gasp/female_deathgasp_2.ogg
|
||||||
|
- /Audio/Effects/Gasp/female_deathgasp_3.ogg
|
||||||
|
- /Audio/Effects/Gasp/female_deathgasp_4.ogg
|
||||||
|
- /Audio/Effects/Gasp/female_deathgasp_5.ogg
|
||||||
|
|||||||
@@ -10,3 +10,12 @@
|
|||||||
- /Audio/Effects/Gasp/gasp_female1.ogg
|
- /Audio/Effects/Gasp/gasp_female1.ogg
|
||||||
- /Audio/Effects/Gasp/gasp_female2.ogg
|
- /Audio/Effects/Gasp/gasp_female2.ogg
|
||||||
- /Audio/Effects/Gasp/gasp_female3.ogg
|
- /Audio/Effects/Gasp/gasp_female3.ogg
|
||||||
|
|
||||||
|
- type: soundCollection
|
||||||
|
id: HarpyGasp
|
||||||
|
files:
|
||||||
|
- /Audio/Effects/Gasp/gasp_male1.ogg
|
||||||
|
- /Audio/Effects/Gasp/gasp_male2.ogg
|
||||||
|
- /Audio/Effects/Gasp/gasp_female1.ogg
|
||||||
|
- /Audio/Effects/Gasp/gasp_female2.ogg
|
||||||
|
- /Audio/Effects/Gasp/gasp_female3.ogg
|
||||||
|
|||||||
@@ -236,13 +236,6 @@
|
|||||||
sprite: /Textures/Interface/Misc/job_icons.rsi
|
sprite: /Textures/Interface/Misc/job_icons.rsi
|
||||||
state: HeadOfSecurity
|
state: HeadOfSecurity
|
||||||
|
|
||||||
- type: statusIcon
|
|
||||||
parent: JobIcon
|
|
||||||
id: JobIconBrigmedic
|
|
||||||
icon:
|
|
||||||
sprite: /Textures/Interface/Misc/job_icons.rsi
|
|
||||||
state: Brigmedic
|
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon
|
||||||
parent: JobIcon
|
parent: JobIcon
|
||||||
id: JobIconMedicalDoctor
|
id: JobIconMedicalDoctor
|
||||||
|
|||||||
@@ -6,44 +6,72 @@
|
|||||||
locationPreference: Right
|
locationPreference: Right
|
||||||
isShaded: true
|
isShaded: true
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon # WD start
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: SecurityIconDischarged
|
id: SecurityIconDemote
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
state: hud_discharged
|
state: hud_demote
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: SecurityIconIncarcerated
|
id: SecurityIconIncarcerated
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
state: hud_incarcerated
|
state: hud_incarcerated
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: SecurityIconParoled
|
id: SecurityIconParoled
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
state: hud_paroled
|
state: hud_paroled
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: SecurityIconSuspected
|
id: SecurityIconSuspected
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
state: hud_suspected
|
state: hud_suspected
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: SecurityIconWanted
|
id: SecurityIconWanted
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
state: hud_wanted
|
state: hud_wanted
|
||||||
|
|
||||||
|
- type: statusIcon
|
||||||
|
parent: SecurityIcon
|
||||||
|
id: SecurityIconExecute
|
||||||
|
icon:
|
||||||
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
|
state: hud_execute
|
||||||
|
|
||||||
|
- type: statusIcon
|
||||||
|
parent: SecurityIcon
|
||||||
|
id: SecurityIconMonitoring
|
||||||
|
icon:
|
||||||
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
|
state: hud_monitoring
|
||||||
|
|
||||||
|
- type: statusIcon
|
||||||
|
parent: SecurityIcon
|
||||||
|
id: SecurityIconReleased
|
||||||
|
icon:
|
||||||
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
|
state: hud_released
|
||||||
|
|
||||||
|
- type: statusIcon
|
||||||
|
parent: SecurityIcon
|
||||||
|
id: SecurityIconSearch
|
||||||
|
icon:
|
||||||
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
|
state: hud_search
|
||||||
|
|
||||||
- type: statusIcon
|
- type: statusIcon
|
||||||
parent: SecurityIcon
|
parent: SecurityIcon
|
||||||
id: CriminalRecordIconRemove
|
id: CriminalRecordIconRemove
|
||||||
icon:
|
icon:
|
||||||
sprite: /Textures/Interface/Misc/security_icons.rsi
|
sprite: /Textures/White/Interface/records.rsi
|
||||||
state: hud_discharged
|
state: hud_demote # WD end
|
||||||
|
|||||||
@@ -201,7 +201,7 @@
|
|||||||
Gasp:
|
Gasp:
|
||||||
collection: MaleGasp
|
collection: MaleGasp
|
||||||
DefaultDeathgasp:
|
DefaultDeathgasp:
|
||||||
collection: DeathGasp
|
collection: MaleDeathGasp
|
||||||
|
|
||||||
- type: emoteSounds
|
- type: emoteSounds
|
||||||
id: FemaleFelinid
|
id: FemaleFelinid
|
||||||
@@ -243,7 +243,7 @@
|
|||||||
Gasp:
|
Gasp:
|
||||||
collection: FemaleGasp
|
collection: FemaleGasp
|
||||||
DefaultDeathgasp:
|
DefaultDeathgasp:
|
||||||
collection: DeathGasp
|
collection: FemaleDeathGasp
|
||||||
|
|
||||||
- type: emoteSounds
|
- type: emoteSounds
|
||||||
id: SoundsHarpy
|
id: SoundsHarpy
|
||||||
@@ -306,9 +306,9 @@
|
|||||||
collection: HarpyMoan
|
collection: HarpyMoan
|
||||||
|
|
||||||
Gasp:
|
Gasp:
|
||||||
collection: MaleGasp
|
collection: HarpyGasp
|
||||||
DefaultDeathgasp:
|
DefaultDeathgasp:
|
||||||
collection: DeathGasp
|
collection: HarpyDeathGasp
|
||||||
|
|
||||||
- type: emoteSounds
|
- type: emoteSounds
|
||||||
id: UnisexReptilian
|
id: UnisexReptilian
|
||||||
@@ -329,6 +329,44 @@
|
|||||||
collection: MaleCrying
|
collection: MaleCrying
|
||||||
Weh:
|
Weh:
|
||||||
collection: Weh
|
collection: Weh
|
||||||
|
Gasp:
|
||||||
|
collection: MaleGasp
|
||||||
|
DefaultDeathgasp:
|
||||||
|
collection: MaleDeathGasp
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: FemaleReptilian
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
sounds:
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Reptilian/reptilian_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
path: /Audio/Animals/lizard_happy.ogg
|
||||||
|
Honk:
|
||||||
|
collection: BikeHorn
|
||||||
|
Whistle:
|
||||||
|
collection: Whistles
|
||||||
|
Crying:
|
||||||
|
collection: MaleCrying
|
||||||
|
Weh:
|
||||||
|
collection: Weh
|
||||||
|
Gasp:
|
||||||
|
collection: FemaleGasp
|
||||||
|
DefaultDeathgasp:
|
||||||
|
collection: FemaleDeathGasp
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: AnimalReptilian
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
sounds:
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Reptilian/reptilian_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
path: /Audio/Animals/lizard_happy.ogg
|
||||||
|
Weh:
|
||||||
|
collection: Weh
|
||||||
|
|
||||||
- type: emoteSounds
|
- type: emoteSounds
|
||||||
id: MaleSlime
|
id: MaleSlime
|
||||||
@@ -441,7 +479,27 @@
|
|||||||
Gasp:
|
Gasp:
|
||||||
collection: MaleGasp
|
collection: MaleGasp
|
||||||
DefaultDeathgasp:
|
DefaultDeathgasp:
|
||||||
collection: DeathGasp
|
collection: MaleDeathGasp
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: FemaleDiona
|
||||||
|
sounds:
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Diona/diona_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
collection: DionaLaugh
|
||||||
|
Whistle:
|
||||||
|
collection: Whistles
|
||||||
|
Honk:
|
||||||
|
collection: BikeHorn
|
||||||
|
Weh:
|
||||||
|
collection: Weh
|
||||||
|
Gasp:
|
||||||
|
collection: MaleGasp
|
||||||
|
DefaultDeathgasp:
|
||||||
|
collection: FemaleDeathGasp
|
||||||
params:
|
params:
|
||||||
variation: 0.125
|
variation: 0.125
|
||||||
|
|
||||||
@@ -465,7 +523,41 @@
|
|||||||
Gasp:
|
Gasp:
|
||||||
collection: MaleGasp
|
collection: MaleGasp
|
||||||
DefaultDeathgasp:
|
DefaultDeathgasp:
|
||||||
collection: DeathGasp
|
collection: MaleDeathGasp
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: AnimalArachnid
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
sounds:
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
|
||||||
|
Chitter:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_chitter.ogg
|
||||||
|
Click:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_click.ogg
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: FemaleArachnid
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
sounds:
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_laugh.ogg
|
||||||
|
Chitter:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_chitter.ogg
|
||||||
|
Click:
|
||||||
|
path: /Audio/Voice/Arachnid/arachnid_click.ogg
|
||||||
|
Weh:
|
||||||
|
collection: Weh
|
||||||
|
Gasp:
|
||||||
|
collection: FemaleGasp
|
||||||
|
DefaultDeathgasp:
|
||||||
|
collection: FemaleDeathGasp
|
||||||
|
|
||||||
- type: emoteSounds
|
- type: emoteSounds
|
||||||
id: UnisexDwarf
|
id: UnisexDwarf
|
||||||
@@ -573,7 +665,47 @@
|
|||||||
Gasp:
|
Gasp:
|
||||||
collection: MaleGasp
|
collection: MaleGasp
|
||||||
DefaultDeathgasp:
|
DefaultDeathgasp:
|
||||||
collection: DeathGasp
|
collection: MothDeathGasp
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: FemaleMoth
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
sounds:
|
||||||
|
Buzz:
|
||||||
|
path: /Audio/Voice/Moth/moth_scream.ogg
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Moth/moth_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
path: /Audio/Voice/Moth/moth_laugh.ogg
|
||||||
|
Chitter:
|
||||||
|
path: /Audio/Voice/Moth/moth_chitter.ogg
|
||||||
|
Squeak:
|
||||||
|
path: /Audio/Voice/Moth/moth_squeak.ogg
|
||||||
|
Weh:
|
||||||
|
collection: Weh
|
||||||
|
Gasp:
|
||||||
|
collection: FemaleGasp
|
||||||
|
DefaultDeathgasp:
|
||||||
|
collection: MothDeathGasp
|
||||||
|
|
||||||
|
- type: emoteSounds
|
||||||
|
id: AnimalMoth
|
||||||
|
params:
|
||||||
|
variation: 0.125
|
||||||
|
sounds:
|
||||||
|
Buzz:
|
||||||
|
path: /Audio/Voice/Moth/moth_scream.ogg
|
||||||
|
Scream:
|
||||||
|
path: /Audio/Voice/Moth/moth_scream.ogg
|
||||||
|
Laugh:
|
||||||
|
path: /Audio/Voice/Moth/moth_laugh.ogg
|
||||||
|
Chitter:
|
||||||
|
path: /Audio/Voice/Moth/moth_chitter.ogg
|
||||||
|
Squeak:
|
||||||
|
path: /Audio/Voice/Moth/moth_squeak.ogg
|
||||||
|
DefaultDeathgasp:
|
||||||
|
collection: MothDeathGasp
|
||||||
|
|
||||||
- type: emoteSounds
|
- type: emoteSounds
|
||||||
id: UnisexSilicon
|
id: UnisexSilicon
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# vocal emotes
|
# vocal emotes
|
||||||
- type: emote
|
- type: emote
|
||||||
id: Scream
|
id: Scream
|
||||||
category: Vocal
|
category: Vocal
|
||||||
@@ -224,12 +224,16 @@
|
|||||||
components:
|
components:
|
||||||
- Respirator
|
- Respirator
|
||||||
chatMessages: ["chat-emote-msg-gasp"]
|
chatMessages: ["chat-emote-msg-gasp"]
|
||||||
|
chatTriggers:
|
||||||
|
- задыхается
|
||||||
|
|
||||||
- type: emote
|
- type: emote
|
||||||
id: DefaultDeathgasp
|
id: DefaultDeathgasp
|
||||||
chatMessages: [ "emote-deathgasp" ]
|
chatMessages: [ "emote-deathgasp" ]
|
||||||
chatTriggers:
|
chatTriggers:
|
||||||
- задыхается
|
- отключается и бессильно падает, его глаза становятся пустыми и безжизненными...
|
||||||
|
- отключается и бессильно падает, её глаза становятся пустыми и безжизненными...
|
||||||
|
- отключается и бессильно падает, их глаза становятся пустыми и безжизненными...
|
||||||
|
|
||||||
- type: emote
|
- type: emote
|
||||||
id: Buzz
|
id: Buzz
|
||||||
|
|||||||
@@ -456,3 +456,12 @@
|
|||||||
alpha: 0.9
|
alpha: 0.9
|
||||||
ghostName: Значок Наставлятора
|
ghostName: Значок Наставлятора
|
||||||
ghostDescription: Значок свидетельствующий о звании Наставлятора, с большой силой выходит большой пролапс!
|
ghostDescription: Значок свидетельствующий о звании Наставлятора, с большой силой выходит большой пролапс!
|
||||||
|
|
||||||
|
#6mirage6
|
||||||
|
- type: customGhost
|
||||||
|
id: 6mirage6-ghost
|
||||||
|
ckey: 6mirage6
|
||||||
|
sprite: White/Ghosts/6mirage6-ghost.rsi
|
||||||
|
alpha: 0.9
|
||||||
|
ghostName: M̷a̴r̶i̷
|
||||||
|
ghostDescription: Бежит от настоящего, возвращаясь в прошлое...
|
||||||
|
|||||||
@@ -8,11 +8,15 @@
|
|||||||
access: [["Security"]]
|
access: [["Security"]]
|
||||||
- type: SecurityHud
|
- type: SecurityHud
|
||||||
criminalrecords:
|
criminalrecords:
|
||||||
- SecurityIconDischarged
|
- SecurityIconDemote
|
||||||
- SecurityIconParoled
|
- SecurityIconParoled
|
||||||
- SecurityIconSuspected
|
- SecurityIconSuspected
|
||||||
- SecurityIconWanted
|
- SecurityIconWanted
|
||||||
- SecurityIconIncarcerated
|
- SecurityIconIncarcerated
|
||||||
|
- SecurityIconExecute
|
||||||
|
- SecurityIconMonitoring
|
||||||
|
- SecurityIconSearch
|
||||||
|
- SecurityIconReleased
|
||||||
- CriminalRecordIconRemove
|
- CriminalRecordIconRemove
|
||||||
- type: UserInterface
|
- type: UserInterface
|
||||||
interfaces:
|
interfaces:
|
||||||
|
|||||||
BIN
Resources/Textures/White/Ghosts/6mirage6-ghost.rsi/animated.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
28
Resources/Textures/White/Ghosts/6mirage6-ghost.rsi/meta.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": null,
|
||||||
|
"copyright": null,
|
||||||
|
"size": {
|
||||||
|
"x": 64,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "animated",
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5,
|
||||||
|
1.5
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/White/Interface/records.rsi/hud_demote.png
Normal file
|
After Width: | Height: | Size: 129 B |
BIN
Resources/Textures/White/Interface/records.rsi/hud_execute.png
Normal file
|
After Width: | Height: | Size: 183 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 149 B |
BIN
Resources/Textures/White/Interface/records.rsi/hud_paroled.png
Normal file
|
After Width: | Height: | Size: 157 B |
BIN
Resources/Textures/White/Interface/records.rsi/hud_released.png
Normal file
|
After Width: | Height: | Size: 130 B |
BIN
Resources/Textures/White/Interface/records.rsi/hud_search.png
Normal file
|
After Width: | Height: | Size: 139 B |
BIN
Resources/Textures/White/Interface/records.rsi/hud_suspected.png
Normal file
|
After Width: | Height: | Size: 141 B |
BIN
Resources/Textures/White/Interface/records.rsi/hud_wanted.png
Normal file
|
After Width: | Height: | Size: 158 B |
@@ -5,23 +5,35 @@
|
|||||||
"size": { "y": 8, "x": 8 },
|
"size": { "y": 8, "x": 8 },
|
||||||
"states": [
|
"states": [
|
||||||
{
|
{
|
||||||
"name": "wanted"
|
"name": "hud_demote"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "suspected"
|
"name": "hud_incarcerated"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "released"
|
"name": "hud_monitoring"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "parolled"
|
"name": "hud_paroled"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "incarcerated"
|
"name": "hud_released"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "discharged"
|
"name": "hud_search"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hud_suspected"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hud_wanted"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hud_execute",
|
||||||
|
"delays":
|
||||||
|
[
|
||||||
|
[0.5, 0.5, 1.0]
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Resources/Textures/White/Interface/securityhud.rsi/demote.png
Normal file
|
After Width: | Height: | Size: 192 B |
|
Before Width: | Height: | Size: 225 B |
BIN
Resources/Textures/White/Interface/securityhud.rsi/execute.png
Normal file
|
After Width: | Height: | Size: 290 B |
@@ -5,19 +5,34 @@
|
|||||||
"size": { "y": 32, "x": 32 },
|
"size": { "y": 32, "x": 32 },
|
||||||
"states": [
|
"states": [
|
||||||
{
|
{
|
||||||
"name": "wanted"
|
"name": "demote"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "suspected"
|
"name": "execute"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "released"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "incarcerated"
|
"name": "incarcerated"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "monitoring"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paroled"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "released"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "remove"
|
"name": "remove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "search"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "suspected"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wanted"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 204 B |
|
Before Width: | Height: | Size: 202 B After Width: | Height: | Size: 191 B |
BIN
Resources/Textures/White/Interface/securityhud.rsi/search.png
Normal file
|
After Width: | Height: | Size: 289 B |