Skip to content

Commit f6281ab

Browse files
committed
v0.3.1, FreezeNonLoggedIn config, logging in optional by default.
1 parent a388c41 commit f6281ab

File tree

4 files changed

+30
-5
lines changed

4 files changed

+30
-5
lines changed

HEROsModModPlayer.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.IO;
1010
using Terraria;
1111
using Terraria.DataStructures;
12+
using Terraria.ID;
1213
using Terraria.ModLoader;
1314
using Terraria.ModLoader.IO;
1415
using Terraria.UI;
@@ -19,6 +20,8 @@ public class HEROsModModPlayer : ModPlayer
1920
{
2021
public override bool Autoload(ref string name) => true;
2122

23+
private float FreezeNonLoggedInMessageTimer = 7f;
24+
2225
public override void SetControls()
2326
{
2427
if (FlyCam.Enabled && !FlyCam.LockCamera)
@@ -35,6 +38,16 @@ public override void SetControls()
3538
player.controlSmart = false;
3639
player.controlTorch = false;
3740
}
41+
if(Main.netMode == NetmodeID.MultiplayerClient && !HEROsModServices.Login.LoggedIn && ModContent.GetInstance<HEROsModServerConfig>().FreezeNonLoggedIn)
42+
{
43+
player.frozen = true;
44+
FreezeNonLoggedInMessageTimer -= ModUtils.DeltaTime;
45+
if (FreezeNonLoggedInMessageTimer <= 0)
46+
{
47+
FreezeNonLoggedInMessageTimer = 7f;
48+
Main.NewText(HEROsMod.HeroText("LoginInstructions"), Color.Red);
49+
}
50+
}
3851
}
3952

4053
public override bool PreHurt(bool pvp, bool quiet, ref int damage, ref int hitDirection, ref bool crit, ref bool customDamage, ref bool playSound, ref bool genGore, ref PlayerDeathReason damageSource)
@@ -68,6 +81,11 @@ public override void PostUpdate()
6881
HEROsModNetwork.Network.Update();
6982
}
7083
}
84+
if (Main.myPlayer == player.whoAmI && Main.netMode == NetmodeID.MultiplayerClient && !HEROsModServices.Login.LoggedIn && ModContent.GetInstance<HEROsModServerConfig>().FreezeNonLoggedIn)
85+
{
86+
// For visuals. Other players won't see this, but less error prone than Frozen debuff.
87+
player.frozen = true;
88+
}
7189
}
7290
}
7391

HEROsModNetwork/Network.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ public static void Update()
145145
ModUtils.SetDeltaTime();
146146
//ErrorLogger.Log("Network.Update");
147147
//Console.WriteLine("Network.Update");
148+
/*
148149
freezeTimer -= ModUtils.DeltaTime;
149150
if (freezeTimer <= 0)
150151
{
@@ -153,6 +154,7 @@ public static void Update()
153154
154155
FreezeNonLoggedInPlayers();
155156
}
157+
*/
156158
//authMessageTimer -= ModUtils.DeltaTime;
157159
//if (authMessageTimer <= 0)
158160
//{
@@ -170,7 +172,7 @@ public static void Update()
170172
sendTimeTimer -= ModUtils.DeltaTime;
171173
if (sendTimeTimer <= 0)
172174
{
173-
sendTimeTimer = 1f;
175+
sendTimeTimer = 10f; // very inefficient, this shouldn't be spammed.
174176
NetMessage.SendData(7, -1, -1, null, 0, 0f, 0f, 0f, 0);
175177
}
176178
}

HEROsModServerConfig.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/*
21
using HEROsMod.HEROsModNetwork;
32
using System;
43
using System.Collections.Generic;
@@ -14,19 +13,25 @@ class HEROsModServerConfig : ModConfig
1413
{
1514
public override ConfigScope Mode => ConfigScope.ServerSide;
1615

16+
/*
1717
[Label("Disable Achievements")]
1818
[Tooltip("While this is true, vanilla steam achievements will not be obtained.\nUse this if you don't wish to get achievements illegitimately.")]
1919
[DefaultValue(false)]
2020
public bool DisableAchievements { get; set; }
21+
*/
22+
23+
[Label("Freeze Non Logged In Players")]
24+
[Tooltip("If true, users must log in to move around.\nLeave this false to make logging in optional.")]
25+
[DefaultValue(false)]
26+
public bool FreezeNonLoggedIn { get; set; }
2127

2228
public override bool AcceptClientChanges(ModConfig pendingConfig, int whoAmI, ref string message)
2329
{
2430
if (Network.Players[whoAmI].Group.IsAdmin)
2531
return true;
2632

27-
message = $"You must be Admin in Heros Mod to change the server permissions.";
33+
message = $"You must be Admin in Heros Mod to change the server config.";
2834
return false;
2935
}
3036
}
3137
}
32-
*/

build.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
author = HERO, jopojelly, Matt Thompson, Panini
2-
version = 0.3
2+
version = 0.3.1
33
versionScheme = ?.?.Fix.Quickfix
44
displayName = HERO's Mod
55
homepage = http://forums.terraria.org/index.php?threads/heros-mod-creative-mode-server-management-and-over-25-tools-1-3-1-1-compatible.44650/

0 commit comments

Comments
 (0)