Skip to content

Commit a1b3aad

Browse files
update rpg Sole occupation
1 parent 5b88fce commit a1b3aad

File tree

5 files changed

+15
-2
lines changed

5 files changed

+15
-2
lines changed

src/Economics.RPG/Command.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ public void Rank(CommandArgs args)
2929
args.Player.SendErrorMessage(GetString($"等级 {args.Parameters[0]} 不存在! "));
3030
return;
3131
}
32+
if (ranklevel.SoleOccupation && RPG.PlayerLevelManager.HasLevel(ranklevel.Name))
33+
{
34+
args.Player.SendErrorMessage(GetString("此职业全服唯一,已经存在此职业无法升级。"));
35+
return;
36+
}
3237
if (ranklevel.SelectedWeapon.Count > 0 && !ranklevel.SelectedWeapon.Contains(args.Player.SelectedItem.netID))
3338
{
3439
args.Player.SendErrorMessage(GetString($"升级至 {args.Parameters[0]} 需要手持武器{string.Join(",", ranklevel.SelectedWeapon.Select(i => TShock.Utils.GetItemById(i).Name))}! "));

src/Economics.RPG/Model/Level.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ public class Level
2222
[JsonProperty("升级广播")]
2323
public string RankBroadcast { get; set; } = string.Empty;
2424

25+
[JsonProperty("唯一职业")]
26+
public bool SoleOccupation { get; set; }
27+
2528
[JsonProperty("手持武器")]
2629
public HashSet<int> SelectedWeapon { get; set; } = new();
2730

src/Economics.RPG/PlayerLevelManager.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ public Level GetLevel(string userName)
4545
: RPG.Config.DefaultLevel;
4646
}
4747

48+
public bool HasLevel(string level)
49+
{
50+
return this.Levels.ContainsValue(level);
51+
}
52+
4853
public void ResetPlayerLevel(string userName)
4954
{
5055
this.Update(userName, RPG.Config.DefaultLevel);

src/Economics.RPG/RPG.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class RPG : TerrariaPlugin
1818
public override string Description => GetString("提供RPG玩法!");
1919

2020
public override string Name => System.Reflection.Assembly.GetExecutingAssembly().GetName().Name!;
21-
public override Version Version => new Version(2, 0, 0, 2);
21+
public override Version Version => new Version(2, 0, 0, 3);
2222

2323
internal static Config Config { get; set; } = new Config();
2424

src/EconomicsAPI/Economics.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class Economics : TerrariaPlugin
2424
public override string Description => GetString("提供经济系统API");
2525

2626
public override string Name => System.Reflection.Assembly.GetExecutingAssembly().GetName().Name!;
27-
public override Version Version => new Version(2, 0, 0, 3);
27+
public override Version Version => new Version(2, 0, 0, 4);
2828

2929
public readonly static List<TSPlayer> ServerPlayers = new();
3030

0 commit comments

Comments
 (0)