-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSkillSystem.cs
More file actions
126 lines (115 loc) · 6.6 KB
/
Copy pathSkillSystem.cs
File metadata and controls
126 lines (115 loc) · 6.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
extern alias UnityEngineCoreModule;
using System.Collections.Generic;
using Rocket.Core.Logging;
using Rocket.Unturned.Player;
using Rocket.Unturned.Skills;
namespace HordeServer
{
class SkillSystem
{
private static Dictionary<UnturnedPlayer, Skill> playersSkills = [];
public static void ResetPlayersSkills()
{
playersSkills = [];
foreach (UnturnedPlayer player in HordeServerPlugin.onlinePlayers)
{
playersSkills.Add(player, new());
}
}
public static void ResetPlayerSkills(UnturnedPlayer player)
{
if (playersSkills.TryGetValue(player, out Skill _)) playersSkills[player] = new();
else playersSkills.Add(player, new());
}
public static void RefreshPlayersSkills()
{
foreach (KeyValuePair<UnturnedPlayer, Skill> entry in playersSkills)
{
UnturnedPlayer player = entry.Key;
player.SetSkillLevel(UnturnedSkill.Agriculture, entry.Value.Agriculture);
player.SetSkillLevel(UnturnedSkill.Cardio, entry.Value.Cardio);
player.SetSkillLevel(UnturnedSkill.Cooking, entry.Value.Cooking);
player.SetSkillLevel(UnturnedSkill.Crafting, entry.Value.Crafting);
player.SetSkillLevel(UnturnedSkill.Dexerity, entry.Value.Dexerity);
player.SetSkillLevel(UnturnedSkill.Diving, entry.Value.Diving);
player.SetSkillLevel(UnturnedSkill.Engineer, entry.Value.Engineer);
player.SetSkillLevel(UnturnedSkill.Exercise, entry.Value.Exercise);
player.SetSkillLevel(UnturnedSkill.Fishing, entry.Value.Fishing);
player.SetSkillLevel(UnturnedSkill.Healing, entry.Value.Healing);
player.SetSkillLevel(UnturnedSkill.Immunity, entry.Value.Immunity);
player.SetSkillLevel(UnturnedSkill.Mechanic, entry.Value.Mechanic);
player.SetSkillLevel(UnturnedSkill.Outdoors, entry.Value.Outdoors);
player.SetSkillLevel(UnturnedSkill.Overkill, entry.Value.Overkill);
player.SetSkillLevel(UnturnedSkill.Parkour, entry.Value.Parkour);
player.SetSkillLevel(UnturnedSkill.Sharpshooter, entry.Value.Sharpshooter);
player.SetSkillLevel(UnturnedSkill.Sneakybeaky, entry.Value.Sneakybeaky);
player.SetSkillLevel(UnturnedSkill.Strength, entry.Value.Strength);
player.SetSkillLevel(UnturnedSkill.Survival, entry.Value.Survival);
player.SetSkillLevel(UnturnedSkill.Toughness, entry.Value.Toughness);
player.SetSkillLevel(UnturnedSkill.Vitality, entry.Value.Vitality);
player.SetSkillLevel(UnturnedSkill.Warmblooded, entry.Value.Warmblooded);
}
}
public static void RefreshPlayerSkills(UnturnedPlayer player)
{
if (playersSkills.TryGetValue(player, out Skill skill))
{
player.SetSkillLevel(UnturnedSkill.Agriculture, skill.Agriculture);
player.SetSkillLevel(UnturnedSkill.Cardio, skill.Cardio);
player.SetSkillLevel(UnturnedSkill.Cooking, skill.Cooking);
player.SetSkillLevel(UnturnedSkill.Crafting, skill.Crafting);
player.SetSkillLevel(UnturnedSkill.Dexerity, skill.Dexerity);
player.SetSkillLevel(UnturnedSkill.Diving, skill.Diving);
player.SetSkillLevel(UnturnedSkill.Engineer, skill.Engineer);
player.SetSkillLevel(UnturnedSkill.Exercise, skill.Exercise);
player.SetSkillLevel(UnturnedSkill.Fishing, skill.Fishing);
player.SetSkillLevel(UnturnedSkill.Healing, skill.Healing);
player.SetSkillLevel(UnturnedSkill.Immunity, skill.Immunity);
player.SetSkillLevel(UnturnedSkill.Mechanic, skill.Mechanic);
player.SetSkillLevel(UnturnedSkill.Outdoors, skill.Outdoors);
player.SetSkillLevel(UnturnedSkill.Overkill, skill.Overkill);
player.SetSkillLevel(UnturnedSkill.Parkour, skill.Parkour);
player.SetSkillLevel(UnturnedSkill.Sharpshooter, skill.Sharpshooter);
player.SetSkillLevel(UnturnedSkill.Sneakybeaky, skill.Sneakybeaky);
player.SetSkillLevel(UnturnedSkill.Strength, skill.Strength);
player.SetSkillLevel(UnturnedSkill.Survival, skill.Survival);
player.SetSkillLevel(UnturnedSkill.Toughness, skill.Toughness);
player.SetSkillLevel(UnturnedSkill.Vitality, skill.Vitality);
player.SetSkillLevel(UnturnedSkill.Warmblooded, skill.Warmblooded);
}
}
public static void UpdatePlayerSkill(UnturnedPlayer player, string skillUpdated, byte level)
{
if (playersSkills.TryGetValue(player, out Skill skill))
{
switch (skillUpdated)
{
case "Agriculture": skill.Agriculture = level; return;
case "Cardio": skill.Cardio = level; return;
case "Cooking": skill.Cooking = level; return;
case "Crafting": skill.Crafting = level; return;
case "Dexerity": skill.Dexerity = level; return;
case "Diving": skill.Diving = level; return;
case "Engineer": skill.Engineer = level; return;
case "Exercise": skill.Exercise = level; return;
case "Fishing": skill.Fishing = level; return;
case "Healing": skill.Healing = level; return;
case "Immunity": skill.Immunity = level; return;
case "Mechanic": skill.Mechanic = level; return;
case "Outdoors": skill.Outdoors = level; return;
case "Overkill": skill.Overkill = level; return;
case "Parkour": skill.Parkour = level; return;
case "Sharpshooter": skill.Sharpshooter = level; return;
case "Sneakybeaky": skill.Sneakybeaky = level; return;
case "Strength": skill.Strength = level; return;
case "Survival": skill.Survival = level; return;
case "Toughness": skill.Toughness = level; return;
case "Vitality": skill.Vitality = level; return;
case "Warmblooded": skill.Warmblooded = level; return;
}
playersSkills[player] = skill;
}
}
public static void Disconnect(UnturnedPlayer player) => playersSkills.Remove(player);
}
}