* - fix: Ling fixes.

* - fix: Fix ghasp identity.

* - fix: Low temp slowdown fix.

* - fix: Crossbow fix.

* - fix: Fix gamerules.

* - fix: Fix shadow shackles.

* - fix: Cleanup refund.

* - fix: Can't pry runic door.

* - fix: Fix crash.

* - fix: Fix mood.

* - fix: Fix dictionary.
This commit is contained in:
Aviu00
2024-04-22 00:07:27 +09:00
committed by GitHub
parent bf0a124b05
commit 6272da2bb3
20 changed files with 115 additions and 47 deletions

View File

@@ -53,6 +53,13 @@ public sealed class ChangelingRuleSystem : GameRuleSystem<ChangelingRuleComponen
SubscribeLocalEvent<ChangelingRoleComponent, GetBriefingEvent>(OnGetBriefing);
}
protected override void Added(EntityUid uid, ChangelingRuleComponent component, GameRuleComponent gameRule, GameRuleAddedEvent args)
{
base.Added(uid, component, gameRule, args);
gameRule.MinPlayers = PlayersPerChangeling;
}
private void OnGetBriefing(Entity<ChangelingRoleComponent> ent, ref GetBriefingEvent args)
{
args.Append(Loc.GetString("changeling-role-briefing-short"));
@@ -182,7 +189,7 @@ public sealed class ChangelingRuleSystem : GameRuleSystem<ChangelingRuleComponen
MakeChangeling(entity, changelingRule);
}
public bool MakeChangeling(EntityUid changeling, ChangelingRuleComponent rule, bool giveObjectives = true)
{
if (!_mindSystem.TryGetMind(changeling, out var mindId, out var mind))
@@ -196,7 +203,7 @@ public sealed class ChangelingRuleSystem : GameRuleSystem<ChangelingRuleComponen
return false;
}
var briefing = Loc.GetString("changeling-role-briefing-short");
var briefing = Loc.GetString("changeling-role-greeting");
_antagSelection.SendBriefing(changeling, briefing, null, rule.GreetSoundNotification);
rule.ChangelingMinds.Add(mindId);
@@ -206,11 +213,6 @@ public sealed class ChangelingRuleSystem : GameRuleSystem<ChangelingRuleComponen
PrototypeId = rule.ChangelingPrototypeId
}, mind);
_roleSystem.MindAddRole(mindId, new RoleBriefingComponent
{
Briefing = briefing
}, mind, true);
// Change the faction
_npcFaction.RemoveFaction(changeling, "NanoTrasen", false);
_npcFaction.AddFaction(changeling, "Syndicate");
@@ -220,7 +222,7 @@ public sealed class ChangelingRuleSystem : GameRuleSystem<ChangelingRuleComponen
readyChangeling.HiveName = _nameGenerator.GetName();
Dirty(changeling, readyChangeling);
RaiseLocalEvent(mindId, new MoodEffectEvent("TraitorFocused")); // WD edit
RaiseLocalEvent(changeling, new MoodEffectEvent("TraitorFocused"));
if (!giveObjectives)
return true;
@@ -240,4 +242,4 @@ public sealed class ChangelingRuleSystem : GameRuleSystem<ChangelingRuleComponen
return true;
}
}
}