Skip to content

Commit c7351b9

Browse files
v1.2
stuff
1 parent ec7ed5f commit c7351b9

114 files changed

Lines changed: 75359 additions & 101 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Mod11/Mod11.cs

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Smod2;
22
using Smod2.Attributes;
3-
using GamemodeManager;
43
using Smod2.Config;
54
using System.Net;
65
using System.Net.Sockets;
@@ -33,30 +32,7 @@ public override void OnEnable()
3332
public override void Register()
3433
{
3534
this.AddEventHandlers(new Mod11EventHandler(this), Smod2.Events.Priority.Normal);
36-
this.AddConfig(new ConfigSetting("battleroyale_weapons", new int[] { (int)ItemType.COM15, (int)ItemType.FRAG_GRENADE, (int)ItemType.MP4, (int)ItemType.P90 }, SettingType.NUMERIC_LIST, true, "A list of all the weapons that can spawn"));
37-
GamemodeManager.GamemodeManager.RegisterMode(this, "44444444444444444444");
38-
39-
Dictionary<string, string> translations = new Dictionary<string, string>
40-
{
41-
{ "MODEBR_YOU_ARE", "You are" },
42-
{ "MODEBR_DESCRIPTION", "Description" },
43-
{ "MODEBR_GOAL", "Goal" },
44-
45-
{ "MODEBR_CLASSD", "Class-D Personnel" },
46-
{ "MODEBR_CLASSD_DESC", "You wake up in a random room." },
47-
{ "MODEBR_CLASSD_GOAL", "Escape, but try not to get killed by others." },
48-
49-
{ "MODEBR_CHAOS_INSUGENCY", "Chaos Insurgency" },
50-
{ "MODEBR_CHAOS_INSUGENCY_DESC", "You have escaped the facility." },
51-
{ "MODEBR_CHAOS_INSUGENCY_GOAL", "Kill all Class-D Personnel, but not your crew.\nOr you could skrew around." },
52-
53-
{ "CLASSD", "Dboi" }
54-
};
55-
56-
foreach (KeyValuePair<string, string> translation in translations)
57-
{
58-
this.AddTranslation(new LangSetting(translation.Key, translation.Value, "gamemode_battleroyale"));
59-
}
35+
this.AddConfig(new ConfigSetting("battleroyale_weapons", new int[] { (int)ItemType.COM15, (int)ItemType.FRAG_GRENADE, (int)ItemType.MP4, (int)ItemType.P90 }, true, "A list of all the weapons that can spawn"));
6036
}
6137
}
6238
}

Mod11/Mod11.csproj

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>Mod11</RootNamespace>
1111
<AssemblyName>Mod11</AssemblyName>
12-
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
14+
<TargetFrameworkProfile />
1415
</PropertyGroup>
1516
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1617
<DebugSymbols>true</DebugSymbols>
@@ -20,6 +21,7 @@
2021
<DefineConstants>DEBUG;TRACE</DefineConstants>
2122
<ErrorReport>prompt</ErrorReport>
2223
<WarningLevel>4</WarningLevel>
24+
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
2325
</PropertyGroup>
2426
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
2527
<DebugType>pdbonly</DebugType>
@@ -29,15 +31,15 @@
2931
<ErrorReport>prompt</ErrorReport>
3032
<WarningLevel>4</WarningLevel>
3133
</PropertyGroup>
34+
<PropertyGroup>
35+
<RunPostBuildEvent>Always</RunPostBuildEvent>
36+
</PropertyGroup>
3237
<ItemGroup>
3338
<Reference Include="Assembly-CSharp">
34-
<HintPath>..\..\SCPSL_Data\Managed\Assembly-CSharp.dll</HintPath>
35-
</Reference>
36-
<Reference Include="GamemodeManager">
37-
<HintPath>..\..\SCPSL-Gamemode-Manager-2.1\GamemodeManager.dll</HintPath>
39+
<HintPath>..\delete\Assembly-CSharp.dll</HintPath>
3840
</Reference>
3941
<Reference Include="Smod2">
40-
<HintPath>..\..\SCPSL_Data\Managed\Smod2.dll</HintPath>
42+
<HintPath>..\delete\Smod2.dll</HintPath>
4143
</Reference>
4244
<Reference Include="System" />
4345
<Reference Include="System.Core" />
@@ -48,19 +50,19 @@
4850
<Reference Include="System.Net.Http" />
4951
<Reference Include="System.Xml" />
5052
<Reference Include="UnityEngine">
51-
<HintPath>..\..\SCPSL_Data\Managed\UnityEngine.dll</HintPath>
53+
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory\SCPSL_Data\Managed\UnityEngine.dll</HintPath>
5254
</Reference>
5355
<Reference Include="UnityEngine.CoreModule">
54-
<HintPath>..\..\SCPSL_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
56+
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory\SCPSL_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
5557
</Reference>
5658
<Reference Include="UnityEngine.ImageConversionModule">
5759
<HintPath>..\..\SCPSL_Data\Managed\UnityEngine.ImageConversionModule.dll</HintPath>
5860
</Reference>
5961
<Reference Include="UnityEngine.Networking">
60-
<HintPath>..\..\SCPSL_Data\Managed\UnityEngine.Networking.dll</HintPath>
62+
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory\SCPSL_Data\Managed\UnityEngine.Networking.dll</HintPath>
6163
</Reference>
6264
<Reference Include="UnityEngine.PhysicsModule">
63-
<HintPath>..\..\SCPSL_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
65+
<HintPath>..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory\SCPSL_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
6466
</Reference>
6567
<Reference Include="UnityEngine.UI">
6668
<HintPath>..\..\SCPSL_Data\Managed\UnityEngine.UI.dll</HintPath>
@@ -73,4 +75,8 @@
7375
<Compile Include="Properties\AssemblyInfo.cs" />
7476
</ItemGroup>
7577
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
78+
<PropertyGroup>
79+
<PostBuildEvent>
80+
</PostBuildEvent>
81+
</PropertyGroup>
7682
</Project>

Mod11/Mod11EventHandler.cs

Lines changed: 49 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
using Smod2.EventHandlers;
44
using Smod2.Events;
55
using System.Collections.Generic;
6+
using System.IO;
67
using System.Threading;
78
using UnityEngine;
9+
using UnityEngine.Networking;
810

911
namespace VirtualBrightPlayz.SCPSL.Mod11
1012
{
@@ -35,31 +37,34 @@ void IEventHandlerCheckEscape.OnCheckEscape(PlayerCheckEscapeEvent ev)
3537
//ev.ChangeRole = Smod2.API.Role.CHAOS_INSUGENCY;
3638
}
3739

38-
void GetRooms()
40+
void GetRooms(bool lczd = false)
3941
{
4042
var lczrooms = GameObject.Find("LightRooms").transform;
41-
var hczrooms = GameObject.Find("Heavy rooms").transform;
43+
var hczrooms = GameObject.Find("HeavyRooms").transform;
4244
var ezrooms = GameObject.Find("EntranceRooms").transform;
4345
rooms = new List<Transform>();
44-
for (int i = 0; i < lczrooms.childCount; i++)
46+
if (!lczd)
4547
{
46-
Transform room = lczrooms.GetChild(i);
47-
Vector3 pos = new Vector3(lczrooms.position.x, room.position.y, lczrooms.position.y);
48-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("173"))
49-
rooms.Add(room);
48+
for (int i = 0; i < lczrooms.childCount; i++)
49+
{
50+
Transform room = lczrooms.GetChild(i);
51+
Vector3 pos = new Vector3(lczrooms.position.x, room.position.y, lczrooms.position.y);
52+
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("173") && !room.name.Contains("Armory"))
53+
rooms.Add(room);
54+
}
5055
}
5156
for (int i = 0; i < hczrooms.childCount; i++)
5257
{
5358
Transform room = hczrooms.GetChild(i);
5459
Vector3 pos = new Vector3(hczrooms.position.x, room.position.y, hczrooms.position.y);
55-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Tesla"))
60+
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Tesla") && !room.name.Contains("Room3ar"))
5661
rooms.Add(room);
5762
}
5863
for (int i = 0; i < ezrooms.childCount; i++)
5964
{
6065
Transform room = ezrooms.GetChild(i);
6166
Vector3 pos = new Vector3(ezrooms.position.x, room.position.y, ezrooms.position.y);
62-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Shelter") && !room.name.Contains("CollapsedTunnel"))
67+
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Shelter") && !room.name.Contains("CollapsedTunnel") && !room.name.Contains("GateB") && !room.name.Contains("GateA"))
6368
rooms.Add(room);
6469
}
6570
}
@@ -77,35 +82,15 @@ void IEventHandlerRoundStart.OnRoundStart(RoundStartEvent ev)
7782
// ammo7.Add(player.SteamId, player.GetAmmo(AmmoType.DROPPED_7));
7883
// ammo9.Add(player.SteamId, player.GetAmmo(AmmoType.DROPPED_9));
7984
//}
80-
if (rooms == null)
85+
GameObject.FindObjectOfType<Broadcast>().CallRpcAddElement("<size=50>Welcome Subject D-[Redacted]</size>", 3, true);
86+
GameObject.FindObjectOfType<Broadcast>().CallRpcAddElement("<size=20><color=#fca714>You have been selected to fight against other Class-D Personnel.\n" +
87+
"This is a fight to the death, and you must be the last survivor in order to be released from the facility.\n" +
88+
"Supplies have been placed around the facility, and are free to use.</color></size>", 10, true);
89+
GameObject.FindObjectOfType<Broadcast>().CallRpcAddElement("<size=100>Good Luck!</size>", 2, true);
90+
if (rooms == null || true)
8191
{
8292
GetRooms();
8393
}
84-
var lczrooms = GameObject.Find("LightRooms").transform;
85-
var hczrooms = GameObject.Find("Heavy rooms").transform;
86-
var ezrooms = GameObject.Find("EntranceRooms").transform;
87-
rooms = new List<Transform>();
88-
for (int i = 0; i < lczrooms.childCount; i++)
89-
{
90-
Transform room = lczrooms.GetChild(i);
91-
Vector3 pos = new Vector3(lczrooms.position.x, room.position.y, lczrooms.position.y);
92-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("173") && !room.name.Contains("Armory"))
93-
rooms.Add(room);
94-
}
95-
for (int i = 0; i < hczrooms.childCount; i++)
96-
{
97-
Transform room = hczrooms.GetChild(i);
98-
Vector3 pos = new Vector3(hczrooms.position.x, room.position.y, hczrooms.position.y);
99-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Tesla") && !room.name.Contains("Room3ar"))
100-
rooms.Add(room);
101-
}
102-
for (int i = 0; i < ezrooms.childCount; i++)
103-
{
104-
Transform room = ezrooms.GetChild(i);
105-
Vector3 pos = new Vector3(ezrooms.position.x, room.position.y, ezrooms.position.y);
106-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Shelter") && !room.name.Contains("CollapsedTunnel") && !room.name.Contains("GateB") && !room.name.Contains("GateA"))
107-
rooms.Add(room);
108-
}
10994
players = new List<string>();
11095
foreach (var player in mod11.Server.GetPlayers())
11196
{
@@ -141,31 +126,15 @@ void IEventHandlerRoundStart.OnRoundStart(RoundStartEvent ev)
141126

142127
void IEventHandlerLCZDecontaminate.OnDecontaminate()
143128
{
144-
var hczrooms = GameObject.Find("Heavy rooms").transform;
145-
var ezrooms = GameObject.Find("EntranceRooms").transform;
146-
rooms = new List<Transform>();
147-
for (int i = 0; i < hczrooms.childCount; i++)
148-
{
149-
Transform room = hczrooms.GetChild(i);
150-
Vector3 pos = new Vector3(hczrooms.position.x, room.position.y, hczrooms.position.y);
151-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Tesla"))
152-
rooms.Add(room);
153-
}
154-
for (int i = 0; i < ezrooms.childCount; i++)
155-
{
156-
Transform room = ezrooms.GetChild(i);
157-
Vector3 pos = new Vector3(ezrooms.position.x, room.position.y, ezrooms.position.y);
158-
if (room.name.StartsWith("Root_") && Vector3.Distance(pos, room.position) < MinDist && !room.name.Contains("Shelter") && !room.name.Contains("CollapsedTunnel"))
159-
rooms.Add(room);
160-
}
129+
GetRooms(true);
161130
}
162131

163132
void IEventHandlerSpawn.OnSpawn(PlayerSpawnEvent ev)
164133
{
165-
if (rooms == null)
134+
/*if (rooms == null)
166135
{
167136
GetRooms();
168-
}
137+
}*/
169138
}
170139

171140
void IEventHandlerRoundEnd.OnRoundEnd(RoundEndEvent ev)
@@ -182,13 +151,15 @@ void IEventHandlerCheckRoundEnd.OnCheckRoundEnd(CheckRoundEndEvent ev)
182151
if (player.TeamRole.Role == Role.CLASSD)
183152
roles.Add(player.TeamRole.Role);
184153
}
185-
if (roles.Count > 1)
154+
if (roles.Count > 1 && !hasended)
186155
{
187156
ev.Status = ROUND_END_STATUS.ON_GOING;
188157
}
189158
else
190159
{
160+
//ev.Status = ROUND_END_STATUS.ON_GOING;
191161
ev.Status = ROUND_END_STATUS.CI_VICTORY;
162+
ev.Round.EndRound();
192163
}
193164
}
194165

@@ -226,7 +197,11 @@ void IEventHandlerSetRole.OnSetRole(PlayerSetRoleEvent ev)
226197
if (ev.Role == Role.CLASSD || ev.TeamRole.Team == Smod2.API.Team.SCP || ev.TeamRole.Team == Smod2.API.Team.NONE || ev.TeamRole.Team == Smod2.API.Team.TUTORIAL || ev.TeamRole.Team == Smod2.API.Team.SPECTATOR)
227198
{ }
228199
else
229-
ev.Role = Role.CHAOS_INSUGENCY;
200+
{
201+
ev.Player.ChangeRole(Role.CHAOS_INSURGENCY);
202+
ev.Items.Add(ItemType.O5_LEVEL_KEYCARD);
203+
GameObject.FindObjectOfType<Broadcast>().CallTargetAddElement(((GameObject)ev.Player.GetGameObject()).GetComponent<NetworkIdentity>().connectionToClient, "<color=#00ff00>Kill the Class-D Personnel, or not.</color>", 5, true);
204+
}
230205
}
231206

232207
void IEventHandlerUpdate.OnUpdate(UpdateEvent ev)
@@ -237,22 +212,26 @@ void IEventHandlerUpdate.OnUpdate(UpdateEvent ev)
237212
if (player.TeamRole.Role == Role.CLASSD)
238213
roles.Add(player.Name);
239214
}
215+
if (roles.Count == 2 && !hasended && roundstarted && !GameObject.FindObjectOfType<AlphaWarheadController>().inProgress && !GameObject.FindObjectOfType<AlphaWarheadController>().detonated)
216+
{
217+
GameObject.FindObjectOfType<AlphaWarheadController>().StartDetonation();
218+
}
240219
if (roles.Count == 1 && !hasended && roundstarted)
241220
{
221+
GameObject.FindObjectOfType<Broadcast>().CallRpcAddElement("<size=70><color=#ff0000>Winner: " + roles[0] + "</color></size>", 10, true);
242222
foreach (Player player in mod11.Server.GetPlayers())
243223
{
244224
player.SendConsoleMessage(roles[0] + " Wins!", "red");
245225
}
246-
mod11.Server.Round.EndRound();
247226
hasended = true;
248227
}
249228
else if (roles.Count < 1 && !hasended && roundstarted)
250229
{
230+
GameObject.FindObjectOfType<Broadcast>().CallRpcAddElement("<size=70><color=#ff0000>No one wins.</color></size>", 10, true);
251231
foreach (Player player in mod11.Server.GetPlayers())
252232
{
253233
player.SendConsoleMessage("No one wins.", "red");
254234
}
255-
mod11.Server.Round.EndRound();
256235
hasended = true;
257236
}
258237
/*foreach (GameObject obj in GameObject.FindGameObjectsWithTag("Pickup"))
@@ -297,21 +276,25 @@ void IEventHandlerPlayerJoin.OnPlayerJoin(PlayerJoinEvent ev)
297276
{
298277
foreach (var player in mod11.Server.GetPlayers())
299278
{
300-
//mod11.Info(rooms.Count.ToString());
301-
int roomnumber = Random.Range(0, rooms.Count);
302-
Vector3 roompos = rooms[roomnumber].position;
303-
//plugin.Info(rooms[roomnumber].name);
304-
player.Teleport(new Smod2.API.Vector(roompos.x, roompos.y + 2f, roompos.z));
305-
player.GiveItem(Smod2.API.ItemType.ZONE_MANAGER_KEYCARD);
306-
players.Add(player.SteamId);
279+
if (player.SteamId == ev.Player.SteamId)
280+
{
281+
//mod11.Info(rooms.Count.ToString());
282+
int roomnumber = Random.Range(0, rooms.Count);
283+
Vector3 roompos = rooms[roomnumber].position;
284+
//plugin.Info(rooms[roomnumber].name);
285+
player.ChangeRole(Role.CLASSD);
286+
player.Teleport(new Smod2.API.Vector(roompos.x, roompos.y + 2f, roompos.z));
287+
player.GiveItem(Smod2.API.ItemType.ZONE_MANAGER_KEYCARD);
288+
players.Add(player.SteamId);
289+
}
307290
}
308291
}
309292
}
310293
}
311294

312295
void IEventHandlerPlayerHurt.OnPlayerHurt(PlayerHurtEvent ev)
313296
{
314-
if (ev.Attacker.TeamRole.Role == Role.CHAOS_INSUGENCY && ev.Player.TeamRole.Role == Role.CHAOS_INSUGENCY)
297+
if (ev.Attacker.TeamRole.Role == Role.CHAOS_INSURGENCY && ev.Player.TeamRole.Role == Role.CHAOS_INSURGENCY)
315298
{
316299
ev.Damage = 0;
317300
}
1.57 MB
Binary file not shown.
15 KB
Binary file not shown.

Mod11/bin/Debug/Mod11.dll

-1 KB
Binary file not shown.

Mod11/bin/Debug/Mod11.pdb

23.5 KB
Binary file not shown.

Mod11/bin/Debug/Smod2.dll

112 KB
Binary file not shown.
38.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)