forked from Elfocrash/L2dotNET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSiegeConfig.cs
More file actions
118 lines (91 loc) · 3.7 KB
/
SiegeConfig.cs
File metadata and controls
118 lines (91 loc) · 3.7 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
using Newtonsoft.Json;
namespace L2dotNET.Config
{
///<summary>Siege Config.</summary>
public class SiegeConfig
{
///<summary>Length of siege before the countdown(in minutes).</summary>
[JsonProperty(PropertyName = "SiegeLength")]
public int SiegeLength { get; set; }
///<summary>Max numbers of flags per clan.</summary>
[JsonProperty(PropertyName = "MaxFlags")]
public int MaxFlags { get; set; }
///<summary>Minimum clan level to register.</summary>
[JsonProperty(PropertyName = "SiegeClanMinLevel")]
public int SiegeClanMinLevel { get; set; }
///<summary>Max numbers of clans that can register on attacker side.</summary>
[JsonProperty(PropertyName = "AttackerMaxClans")]
public int AttackerMaxClans { get; set; }
///<summary>Max numbers of clans that can register on defender side.</summary>
[JsonProperty(PropertyName = "DefenderMaxClans")]
public int DefenderMaxClans { get; set; }
///<summary>Attackers respawn time (in ms).</summary>
[JsonProperty(PropertyName = "AttackerRespawn")]
public int AttackerRespawn { get; set; }
///<summary>Castles.</summary>
[JsonProperty(PropertyName = "Castles")]
public Castles Castles { get; set; }
}
public class Castles
{
[JsonProperty(PropertyName = "Aden")]
public CastleTower Aden { get; set; }
[JsonProperty(PropertyName = "Gludio")]
public CastleTower Gludio { get; set; }
[JsonProperty(PropertyName = "Dion")]
public CastleTower Dion { get; set; }
[JsonProperty(PropertyName = "Giran")]
public CastleTower Giran { get; set; }
[JsonProperty(PropertyName = "Oren")]
public CastleTower Oren { get; set; }
[JsonProperty(PropertyName = "Innadril")]
public CastleTower Innadril { get; set; }
[JsonProperty(PropertyName = "Goddard")]
public CastleTower Goddard { get; set; }
[JsonProperty(PropertyName = "Rune")]
public CastleTower Rune { get; set; }
[JsonProperty(PropertyName = "Schuttgart")]
public CastleTower Schuttgart { get; set; }
}
public class CastleTower
{
[JsonProperty(PropertyName = "ControlTower1")]
private ControlTower ControlTower1 { get; set; }
[JsonProperty(PropertyName = "ControlTower2")]
private ControlTower ControlTower2 { get; set; }
[JsonProperty(PropertyName = "ControlTower3")]
private ControlTower ControlTower3 { get; set; }
[JsonProperty(PropertyName = "FlameTower1")]
private FlameTower FlameTower1 { get; set; }
[JsonProperty(PropertyName = "FlameTower2")]
private FlameTower FlameTower2 { get; set; }
}
public class ControlTower
{
///<summary>x,y,z coords to spawn.</summary>
[JsonProperty(PropertyName = "Coords")]
public Coordinate Coords { get; set; }
///<summary>NPC template id.</summary>
[JsonProperty(PropertyName = "NpcId")]
public int NpcId { get; set; }
}
public class FlameTower : ControlTower
{
///<summary>Related zones ids.</summary>
[JsonProperty(PropertyName = "ZoneIds")]
public int[] ZoneIds { get; set; }
}
///<summary>Coordinate.</summary>
public class Coordinate
{
///<summary>X coord.</summary>
[JsonProperty(PropertyName = "X")]
public int X { get; set; }
///<summary>Y coord.</summary>
[JsonProperty(PropertyName = "Y")]
public int Y { get; set; }
///<summary>Z coord.</summary>
[JsonProperty(PropertyName = "Z")]
public int Z { get; set; }
}
}