-
Notifications
You must be signed in to change notification settings - Fork 12
/
Monster.cs
131 lines (118 loc) · 4.08 KB
/
Monster.cs
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
127
128
129
130
131
using System;
using System.Collections.Generic;
using System.Text;
namespace MonsterConverterInterface.MonsterTypes
{
public class Monster
{
// Constructors
public Monster()
{
Voices = new List<Voice>();
MaxSummons = 0;
Summons = new List<Summon>();
Items = new List<Loot>();
LookTypeDetails = new DetailedLookType();
Attacks = new List<Spell>();
SummonCost = 0;
Attackable = true;
Hostile = true;
Illusionable = false;
ConvinceCost = 0;
Pushable = false;
PushItems = false;
PushCreatures = false;
TargetDistance = 1;
StaticAttack = 95;
LightLevel = 0;
LightColor = 0;
RunOnHealth = 0;
IsBoss = false;
HideHealth = false;
AvoidFire = true;
AvoidEnergy = true;
AvoidPoison = true;
// Immunities
IgnoreParalyze = false;
IgnoreInvisible = false;
IgnoreDrunk = false;
IgnoreOutfit = false;
// Defences
TotalArmor = 10;
Shielding = 5;
// Elements
Fire = 1;
Earth = 1;
Energy = 1;
Ice = 1;
Holy = 1;
Death = 1;
Physical = 1;
Drown = 1;
LifeDrain = 1;
ManaDrain = 1;
}
// Properties
// Generic
public string Name { get; set; }
public string FileName { get; set; }
public string Description { get; set; }
public uint Health { get; set; }
public uint Experience { get; set; }
public uint Speed { get; set; }
public IList<Voice> Voices { get; set; }
public Blood Race { get; set; }
public uint RetargetInterval { get; set; }
public uint RetargetChance { get; set; }
public uint MaxSummons { get; set; }
public IList<Summon> Summons { get; set; }
// Look
public uint CorpseId { get; set; }
public uint OutfitIdLookType { get; set; }
public uint ItemIdLookType { get; set; } // none 0 means creature looks like an item
public DetailedLookType LookTypeDetails { get; set; }
// Behavior
public uint SummonCost { get; set; }
public bool Attackable { get; set; }
public bool Hostile { get; set; }
public bool Illusionable { get; set; }
public uint ConvinceCost { get; set; }
public bool Pushable { get; set; }
public bool PushItems { get; set; }
public bool PushCreatures { get; set; }
public uint TargetDistance { get; set; }
public uint RunOnHealth { get; set; }
public uint StaticAttack { get; set; }
public uint LightLevel { get; set; }
public uint LightColor { get; set; }
public bool HideHealth { get; set; }
public bool IsBoss { get; set; }
// Walk Behavior
public bool AvoidFire { get; set; }
public bool AvoidEnergy { get; set; }
public bool AvoidPoison { get; set; }
// Attacks
public IList<Spell> Attacks { get; set; }
// Defeneses
public uint TotalArmor { get; set; }
public uint Shielding { get; set; }
public double Fire { get; set; }
public double Earth { get; set; }
public double Energy { get; set; }
public double Ice { get; set; }
public double Holy { get; set; }
public double Death { get; set; }
public double Physical { get; set; }
public double Drown { get; set; }
public double LifeDrain { get; set; }
public double ManaDrain { get; set; }
// Immunities
public bool IgnoreParalyze { get; set; }
public bool IgnoreInvisible { get; set; }
public bool IgnoreDrunk { get; set; }
public bool IgnoreOutfit { get; set; }
public bool IgnoreBleed { get; set; }
// Loot
public IList<Loot> Items { get; set; }
}
}