Skip to content

Commit

Permalink
Version 0.3.5.
Browse files Browse the repository at this point in the history
  • Loading branch information
roncli committed Jan 3, 2021
1 parent af1b659 commit 5a11409
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 17 deletions.
2 changes: 1 addition & 1 deletion GameMod/GameMod.cs
Expand Up @@ -12,7 +12,7 @@ namespace GameMod.Core
{
public class GameMod
{
public static string Version = "olmod 0.3.5 Alpha 12/30/20 11:24 PM";
public static string Version = "olmod 0.3.5";
private static Version GameVersion;
public static bool Modded = false;
public static string ModsLoaded = "";
Expand Down
9 changes: 1 addition & 8 deletions GameMod/MPPrimaries.cs
Expand Up @@ -154,8 +154,6 @@ public static void SpawnPrimary()

// Reset weapon spawn timer.
SpawnWeaponTimer = UnityEngine.Random.Range(30f / max, 60f / max);

Debug.Log($"MPPrimaries - Spawned {spawn.Type}, remaining budget {spawn.Remaining}/{spawn.Budget} with {spawn.Active} active, next spawn in {SpawnWeaponTimer} - {MPPrimaries.GetBudgetString()}");
}
}

Expand Down Expand Up @@ -193,7 +191,6 @@ public static bool Prefix(ref int[] ___m_spawn_weapon_count)
{
MPPrimaries.SpawnPrimary();
}
Debug.Log($"MPPrimaries - Initial spawn complete");

// This is the rest of the PowerupLevelStart code, currently unmodified.
var num = RobotManager.m_multi_missile_count;
Expand Down Expand Up @@ -233,14 +230,12 @@ public static bool Prefix(WeaponType wt)
var primary = MPPrimaries.Budget.Find(b => b.Type == wt);
if (primary == null)
{
Debug.Log($"MPPrimaries - AddWeaponSpawn - Could not find a budget for {wt}");
return false;
}

// Bail if there are none active.
if (primary.Active == 0)
{
Debug.Log($"MPPrimaries - AddWeaponSpawn - Not adding weapon spawn for {wt}, 0 are active. - {MPPrimaries.GetBudgetString()}");
return false;
}

Expand All @@ -254,8 +249,6 @@ public static bool Prefix(WeaponType wt)
MPPrimaries.SpawnWeaponTimer = UnityEngine.Random.Range(15f, 30f);
}

Debug.Log($"MPPrimaries - Added a weapon spawn for {wt}, remaining budget {primary.Remaining}/{primary.Budget} with {primary.Active} active, next spawn in {MPPrimaries.SpawnWeaponTimer} - {MPPrimaries.GetBudgetString()}");

// Short circuit the original code.
return false;
}
Expand Down Expand Up @@ -309,7 +302,7 @@ public static void Prefix(string[] words)
}
else
{
Debug.Log("No count set for lancer players " + words[1] + ", ignoring");
Debug.Log("No count set for lancer players, ignoring. Format is, for example, \"$lancer_players;4\"");
}
}
catch (Exception)
Expand Down
6 changes: 3 additions & 3 deletions GameMod/Properties/AssemblyInfo.cs
Expand Up @@ -10,7 +10,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("GameMod")]
[assembly: AssemblyCopyright("Copyright © Overload Community 2020")]
[assembly: AssemblyCopyright("Copyright © Overload Community 2019-2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Expand All @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.3.4.0")]
[assembly: AssemblyFileVersion("0.3.4.0")]
[assembly: AssemblyVersion("0.3.5.0")]
[assembly: AssemblyFileVersion("0.3.5.0")]
20 changes: 18 additions & 2 deletions README.md
@@ -1,4 +1,4 @@
## olmod - Overload mod
## olmod 0.3.5 - Overload mod

**Community mods for Overload**

Expand Down Expand Up @@ -40,7 +40,9 @@ This is an unaffiliated, unsupported tool. Use at your own risk.
included tool `olgetdata`. The txt files must be in the same directory as
olmod.exe. You can run olgetdata on linux with `mono olgetdata.exe`.

- Adds `frametime` non-cheat code and `rearview` cheat code
- Adds `frametime` non-cheat code

- Adds a rearview option for all game modes, with an option to allow it in a multiplayer game

- Allows MP with up to 16 players / 8 teams (server and all clients must run olmod)

Expand Down Expand Up @@ -98,6 +100,20 @@ This is an unaffiliated, unsupported tool. Use at your own risk.

- Better synchronizes energy, ammo, weapon choice, missile counts, and devastator firing/triggering when using sniper packets.

- Shows you in the version whether you are running a modded version of olmod or not.

- Improves the primary spawning algorithm.

- Adds weapon and missile autoselect for multiplayer games, by luponix.

- Adds a multiplayer game option to scale respawn time by team size, by Tobias.

- Adds a Classic Spawns game mode, which makes the game play like other 6DoF multiplayer games such as Descent 3, by Tobias.

- Adds an option to allow or disallow boosting when running the flag in CTF, by Tobias.

- Adds an option to allow or disallow specific modifiers for games, by Tobias.

#### How to build

- Open solution in Visual Studio 2017 or 2019
Expand Down
20 changes: 17 additions & 3 deletions README.txt
@@ -1,4 +1,4 @@
olmod 0.3.4 - Overload mod
olmod 0.3.5 - Overload mod
Community mods for Overload
https://github.com/arbruijn/olmod

Expand Down Expand Up @@ -40,9 +40,9 @@ What does it do
included tool `olgetdata`. The txt files must be in the same directory as
olmod.exe. You can run olgetdata on linux with `mono olgetdata.exe`.

- Adds `frametime` non-cheat code and `rearview` cheat code
- Adds `frametime` non-cheat code

- Allows MP with up to 16 players / 8 teams (server and all clients must run olmod)
- Adds a rearview option for all game modes, with an option to allow it in a multiplayer game

- Writes match log files on server (by luponix)

Expand Down Expand Up @@ -96,6 +96,20 @@ What does it do

- Better synchronizes energy, ammo, weapon choice, missile counts, and devastator firing/triggering when using sniper packets.

- Shows you in the version whether you are running a modded version of olmod or not.

- Improves the primary spawning algorithm.

- Adds weapon and missile autoselect for multiplayer games, by luponix.

- Adds a multiplayer game option to scale respawn time by team size, by Tobias.

- Adds a Classic Spawns game mode, which makes the game play like other 6DoF multiplayer games such as Descent 3, by Tobias.

- Adds an option to allow or disallow boosting when running the flag in CTF, by Tobias.

- Adds an option to allow or disallow specific modifiers for games, by Tobias.

How does it work
----------------

Expand Down
Binary file modified olmod/olmod.rc
Binary file not shown.
29 changes: 29 additions & 0 deletions olmodchanges.txt
@@ -1,3 +1,32 @@
v0.3.5 - 2021-01-03

Modding (using DLLs that start with Mod-) is now disabled by default. To enable modding, you must pass the "-modded" command line switch to olmod. You will know this works and your mod is enabled by seeing the word "**MODDED**" as part of your version number. Works for servers as well, modded servers can be seen in the multiplayer lobby (the width of the text for the server version has been expanded for this purpose).

The default method of primary weapon spawning in multiplayer maps has been changed. For players, all you need to know is that you will see more consistent primary loadouts in levels, and that the Lancer will start spawning in JIP games when certain player thresholds are met (this threshold varies by level, which is 5 for Backfire and maps that don't set these values such as Burning Indika v1.1). For map designers, here is what you need to know about the multiplayer mode file:

- The "percent" field - which wasn't really a "percent" - on fields such as $weapon;IMPULSE;2.0 is now a weight. This means that something like giving Imuplse a weight of 2.0 and Driller a weight of 1.0 is no different from giving the Impulse 50 and Driller 25, or Impulse 0.2 and Driller 0.1. Previously, the higher the number, the *more* of that weapon would spawn, and numbers too high would potentially put a primary's spawn rate at 100%.
- Previously, the game capped the number of available primary spawns at whatever was in the weapon count 8 field, regardless if there were more players than 8 in the game. This cap has been lifted. For instance, if you have $weapon_count2;2 and $weapon_count8;8, today 10 players would give you a maximum of 8 primaries spawned in at once. Now, you will get 10.
- Whether or not the Lancer spawn is controlled by three things. First, if you set $weapon;LANCER;0, you will never see a Lancer. Second, if you set the new command $lancer_players;4, you will not get a Lancer until there are 4 players in the game. The number 4 is adjustable, if you want there to be 8 players before a Lancer is spawned, you set $lancer_players;8. Lastly, if you do not specify $lancer_players, olmod will fallback on old behavior. I'm not going to go into the formula to what this behavior here is, because it's complex and isn't exactly the greatest piece of code in Overload. Generally, the lower the weight of the Lancer is ranked among the other primaries, the more players that will be required for it to spawn.
- Finally, the max number of players is re-evaluated every time a weapon spawn happens. That means as more players join via Join in Progress, more primaries may be available if the map maker allows for it. This also means that if you fall below the player threshold for the Lancer to spawn, it will stop spawning until the player threshold is met.

Autoselect is now available for multiplayer games. To enable, you must go to Control Options -> Advanced Options and set Primary Auto-Select to Never. You modify autoselect settings on the same screen you modify your loadout, ship graphics, and modifiers, the Multiplayer -> Customize menu. Order the weapons you wish starting with the weapon you want to select always on top. You can "X" out a weapon to make sure it never gets selected. Also, never miss a devastator autoselect with the alert option. Autoselect can be enabled for primaries, secondaries, both, or neither. For Classic Spawns mode, Impulse+ (dual Impulse) is treated as being below everything in the list. If you don't want a weapon to be selected above Impulse+, simply "X" it out. Note that this will affect what weapon is selected in your loadouts. For instance, if you have a loadout with Impulse, Thunderbolt, and Hunters, and you have Thunderbolt higher than Impulse in autoselect, you will now start with Thunderbolt selected, and NOT Impulse. Works for missiles, too.

New advanced settings are available for multiplayer games:

- Allow Rear View Camera (defaults off). This option allows players to use the rear view camera. Note the cheat code has been removed. You can now turn on rear view in Cockpit & HUD options.
- Scale Respawn To Team Size (defaults off, only available in team games). This option will scale a player's respawn time after death to be equal to the number of players on their team.
- Classic Spawns (defaults to off). In this mode, you do not get loadouts, but rather you start with Impulse+ (dual Impulse) and Falcons, and must collect the primaries you wish to use. When you pick up an Impulse, you will be rewarded with the Impulse++ Q upgrade which gives quad Impulse. Further, you are unable to pick up copies of weapons you already have, and spewed primaries from destroyed ships will disappear after 30 seconds if not collected to prevent level clutter.
- CTF Carrier Boosting (defaults to off, only available in CTF). This option will prevent flag carriers from using boost in CTF. It will be shown in the UI by your boost always being in an overheat state. Note that this is a change in defaults. In 0.3.4 and prior it was always on.
- Loadout Settings -> Allowed Modifiers (defaults to all modifiers allowed) - Allows you to fine tune which modifiers are allowed in the game. If a player comes in with modifiers that are not allowed, they will be prevented from readying up, and will have to select one of the allowed modifiers before playing. They will be forcefully removed from the game when it starts up, and will not be allowed in a join in progress game with the wrong modifiers.

An attempt has been made to work around the known issue of ships being invisible when you join a multiplayer game in progress.

The multiplayer level selection screen now properly shows map descriptions.

entity_trigger_box_lava_alien and entity_trigger_box_lava_normal entities from the editor are now enabled in game.

Shenanigans, methinks.

v0.3.4 - 2020-09-07

- Bug fix for silent thunderbolt.
Expand Down

0 comments on commit 5a11409

Please sign in to comment.