Skip to content
This repository was archived by the owner on Aug 11, 2025. It is now read-only.

Commit 2984999

Browse files
committed
v1.0.2.0 update
1 parent 607a645 commit 2984999

28 files changed

Lines changed: 589 additions & 43 deletions

Nebula/Helpers.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,10 @@ private static MurderAttemptResult checkMuderAttempt(PlayerControl killer, Playe
475475
public static MurderAttemptResult checkMurderAttemptAndAction(PlayerControl killer, PlayerControl target, Action successAction, Action failedAction, bool isMeetingStart = false)
476476
{
477477
MurderAttemptResult murder = checkMuderAttempt(killer, target, isMeetingStart);
478+
if(target.GetModData().role == Roles.Roles.LuckyMan){
479+
int r = NebulaPlugin.rnd.Next(1,11);
480+
if(r <= (Roles.CrewmateRoles.LuckyMan.chanceToRevievOption.getFloat() / 10f)) murder = MurderAttemptResult.PerformKill;
481+
}
478482
switch (murder)
479483
{
480484
case MurderAttemptResult.PerformKill:

Nebula/Nebula.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ public class NebulaPlugin : BasePlugin
4141
public const string AmongUsVersion = "2023.2.28";
4242
public const string PluginGuid = "cn.zsfabtest.amongus.nebular";
4343
public const string PluginName = "TheNebula-R";
44-
public const string PluginVersion = "1.0.1.8";
44+
public const string PluginVersion = "1.0.2.0";
4545
public const bool IsSnapshot = false;
4646

4747
public static string PluginVisualVersion = IsSnapshot ? "23.03.29a" : PluginVersion;
4848
public static string PluginStage = IsSnapshot ? "Snapshot" : "";
4949

50-
public const string PluginVersionForFetch = "1.0.1.8";
51-
public byte[] PluginVersionData = new byte[] { 1, 0, 1, 8 };
50+
public const string PluginVersionForFetch = "1.0.2.0";
51+
public byte[] PluginVersionData = new byte[] { 1, 0, 2, 0 };
5252

5353
public static NebulaPlugin Instance;
5454

Nebula/Patches/EndGamePatch.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -780,13 +780,13 @@ public PlayerStatistics(ShipStatus __instance)
780780
AliveCouple++;
781781

782782
bool flag = false;
783-
if (data.role.side == Roles.Side.Jackal || lData.HasExtraRole(Roles.Roles.SecondarySidekick))
783+
if (data.role.side == Roles.Side.Jackal || lData.HasExtraRole(Roles.Roles.SecondarySidekick) || lData.HasExtraRole(Roles.Roles.SecondaryJackal))
784784
{
785785
AliveInLoveJackals++;
786786
AliveJackalCouple++;
787787
flag = true;
788788
}
789-
if (lData.role.side == Roles.Side.Jackal || lData.HasExtraRole(Roles.Roles.SecondarySidekick))
789+
if (lData.role.side == Roles.Side.Jackal || lData.HasExtraRole(Roles.Roles.SecondarySidekick) || lData.HasExtraRole(Roles.Roles.SecondaryJackal))
790790
{
791791
AliveInLoveJackals++;
792792
if (!flag) AliveJackalCouple++;
@@ -847,7 +847,7 @@ public PlayerStatistics(ShipStatus __instance)
847847

848848
foreach (var d in lData)
849849
{
850-
if ((d.role.side == Roles.Side.Jackal || d.HasExtraRole(Roles.Roles.SecondarySidekick)))
850+
if ((d.role.side == Roles.Side.Jackal || d.HasExtraRole(Roles.Roles.SecondarySidekick) || d.HasExtraRole(Roles.Roles.SecondaryJackal)))
851851
{
852852
jackalFlag = true;
853853
AliveInLoveJackals++;
@@ -876,7 +876,7 @@ public PlayerStatistics(ShipStatus __instance)
876876

877877
if (side == Roles.Side.Impostor)
878878
{
879-
if (data.HasExtraRole(Roles.Roles.SecondarySidekick))
879+
if (data.HasExtraRole(Roles.Roles.SecondarySidekick) || data.HasExtraRole(Roles.Roles.SecondaryJackal))
880880
{
881881
AliveImpostorsWithSidekick++;
882882
}

Nebula/Patches/RoleAssignmentPatch.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,6 @@ private static void assignRoles(AssignMap assignMap)
541541

542542
foreach (ExtraAssignable role in Roles.Roles.AllExtraAssignable)
543543
{
544-
//無効なロールは入れない
545-
if ((int)(CustomOptionHolder.GetCustomGameMode() & role.ValidGamemode) == 0) continue;
546-
547544
if (role is Assignable && ((Assignable)role).TopOption != null && !((Assignable)role).TopOption.getBool()) continue;
548545

549546
if (role.assignmentPriority == currentPriority)
13.4 KB
Loading

Nebula/Resources/Languages/SChinese.dat

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1383,6 +1383,7 @@
13831383
"option.canBeBait" : "可以成为诱饵"
13841384
"option.canBeFlash" : "可以成为闪电侠"
13851385
"option.canBeSignaller" : "可以成为通讯兵"
1386+
"option.canBeSecondaryJackal" : "可以成为附加豺狼"
13861387

13871388
"role.agent.canKnowImpostorAndJackal" : "代理人可以得知伪装者/豺狼/巴浦洛夫/莫里亚蒂"
13881389
"role.agent.theLeastCompletedTasks" : "代理人得知伪装者/豺狼/巴浦洛夫/莫里亚蒂需要的最少任务数"
@@ -1715,6 +1716,39 @@
17151716
"role.bartender.hint" : "我还在呢!"
17161717
"role.bartender.info" : "全体目光向我看齐"
17171718

1719+
"role.secondaryJackal.name" : "豺狼"
1720+
"role.secondaryJackal.short" : "狼"
1721+
"role.secondaryJackal.description" : "你也是豺狼!"
1722+
"role.secondaryJackal.info" : "豺狼阵营啊啊啊啊"
1723+
"role.secondaryJackal.prefix" : "狼化的"
1724+
"role.secondaryJackal.impostorCanBeSecondaryJackal" : "伪装者可以成为附加豺狼"
1725+
1726+
"role.luckyMan.name" : "幸运儿"
1727+
"role.luckyMan.short" : "幸"
1728+
"role.luckyMan.description" : "6"
1729+
"role.luckyMan.hint" : "避免驱逐或击杀"
1730+
"role.luckyMan.info" : "有概率避免驱逐或击杀"
1731+
"role.luckyMan.chanceToReviev" : "避免死亡概率"
1732+
1733+
"role.moda.name" : "摩达石神"
1734+
"role.moda.short" : "摩"
1735+
"role.moda.description" : "掩盖尸体的最好方法"
1736+
"role.moda.hint" : "通过击杀清理上一个尸体"
1737+
"role.moda.info" : "在击杀过后,全场序列中的最后一个尸体将被清理"
1738+
1739+
"role.ghostEngineer.name" : "灵魂工程师"
1740+
"role.ghostEngineer.short" : "灵工"
1741+
"role.ghostEngineer.hint" : "帮助船员修复破坏"
1742+
"role.ghostEngineer.info" : "在一定程度上帮助船员"
1743+
"role.ghostEngineer.maxRepair" : "最大修复次数"
1744+
1745+
"role.marksman.name" : "快枪手"
1746+
"role.marksman.short" : "快"
1747+
"role.marksman.description" : "主打的就是一个快"
1748+
"role.marksman.hint" : "急速出刀"
1749+
"role.marksman.info" : "你可以储存击杀冷却"
1750+
"role.marksman.maxShoot" : "最大储存数量"
1751+
17181752
"side.pavlov.name" : "巴普洛夫团队"
17191753
"side.schrodingersCat.name" : "薛定谔的猫"
17201754
"side.madman.name" : "疯子"
@@ -1752,4 +1786,6 @@
17521786
"button.lable.teleport" : "传送"
17531787
"button.label.appoint" : "任命"
17541788
"button.label.feed" : "喂养"
1755-
"button.label.remember" : "回忆"
1789+
"button.label.remember" : "回忆"
1790+
"button.label.saveShoot" : "储存"
1791+
"button.label.getShoot" : "取用"
13.5 KB
Loading

Nebula/Roles/CrewmateRoles/Madmate.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ private void _sub_Assignment(Patches.AssignMap assignMap, List<byte> players, in
294294

295295
public override void Assignment(Patches.AssignMap assignMap)
296296
{
297-
if (!Roles.Madmate.SecondoryRoleOption.getBool()) return;
297+
if (!Roles.Madmate.SecondoryRoleOption.getBool() || !IsSpawnable()) return;
298298

299299
List<byte> crewmates = new List<byte>();
300300

Nebula/Roles/ExtraRoles/LastImpostor.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ public class LastImpostor : ExtraRole
77
public Module.CustomOption canSpawnOption;
88
public Module.CustomOption GuessCountOption;
99

10+
bool hasGuesserUI = false;
11+
1012
public override void LoadOptionData()
1113
{
1214
TopOption.AddCustomPrerequisite(() => { return true; });
@@ -19,9 +21,10 @@ public override void SetupMeetingButton(MeetingHud __instance){
1921
}
2022

2123
public override void GlobalInitialize(PlayerControl __instance){
24+
hasGuesserUI = false;
2225
__instance.GetModData().SetExtraRoleData(Roles.SecondaryGuesser.id, (ulong)GuessCountOption.getFloat());
2326
if(PlayerControl.LocalPlayer.GetModData().extraRole.Contains(Roles.SecondaryGuesser)){
24-
RPCEventInvoker.UnsetExtraRole(PlayerControl.LocalPlayer,this,false);
27+
hasGuesserUI = true;
2528
}
2629
}
2730

@@ -38,7 +41,7 @@ public override void EditDisplayNameForcely(byte playerId, ref string displayNam
3841

3942
public override void MeetingUpdate(MeetingHud __instance, TextMeshPro meetingInfo)
4043
{
41-
ComplexRoles.GuesserSystem.MeetingUpdate(__instance, meetingInfo);
44+
if(!hasGuesserUI) ComplexRoles.GuesserSystem.MeetingUpdate(__instance, meetingInfo);
4245
}
4346

4447
public override bool IsSpawnable()

Nebula/Roles/ExtremeRoles/BlueCat.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ public override void ButtonInitialize(HudManager __instance)
4444
__instance.KillButton.graphic.sprite,
4545
Expansion.GridArrangeExpansion.GridArrangeParameter.AlternativeKillButtonContent,
4646
__instance,
47-
Module.NebulaInputManager.modKillInput.keyCode
47+
Module.NebulaInputManager.modKillInput.keyCode,
48+
"button.label.kill"
4849
).SetTimer(Roles.SchrodingersCat.killCooldown.getFloat());
4950
killButton.MaxTimer = Roles.SchrodingersCat.killCooldown.getFloat();
5051
killButton.SetButtonCoolDownOption(true);

0 commit comments

Comments
 (0)