aboutsummaryrefslogtreecommitdiff
path: root/internal/world/mob.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/world/mob.go')
-rw-r--r--internal/world/mob.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/internal/world/mob.go b/internal/world/mob.go
index d801b59..daf73dc 100644
--- a/internal/world/mob.go
+++ b/internal/world/mob.go
@@ -28,12 +28,26 @@ type MobDef struct {
Strength int `yaml:"strength"`
Defense int `yaml:"defense"`
HP int `yaml:"hp"`
+ Ranged int `yaml:"ranged"`
+ Science int `yaml:"science"`
Speed float64 `yaml:"speed"`
Aggressive bool `yaml:"aggressive"`
Protected bool `yaml:"protected"`
Unique bool `yaml:"unique"`
RespawnTicks float64 `yaml:"respawn_ticks"`
Drops DropTable `yaml:"drops"`
+
+ AttackBonus int `yaml:"attack_bonus"`
+ StrengthBonus int `yaml:"strength_bonus"`
+ AttackType string `yaml:"attack_type"`
+
+ StabDefense int `yaml:"stab_defense"`
+ SlashDefense int `yaml:"slash_defense"`
+ CrushDefense int `yaml:"crush_defense"`
+ ScienceDefense int `yaml:"science_defense"`
+ RangedDefense int `yaml:"ranged_defense"`
+
+ Weakness string `yaml:"weakness"`
}
type MobInstance struct {
@@ -46,6 +60,8 @@ type MobInstance struct {
Attack int
Strength int
Defense int
+ Ranged int
+ Science int
Speed float64
Aggressive bool
Protected bool
@@ -59,6 +75,18 @@ type MobInstance struct {
WanderInterval float64
WanderTickCounter int
regenerateTick int
+
+ AttackBonus int
+ StrengthBonus int
+ AttackType string
+
+ StabDefense int
+ SlashDefense int
+ CrushDefense int
+ ScienceDefense int
+ RangedDefense int
+
+ Weakness string
}
const (
@@ -243,6 +271,8 @@ func (s *MobStore) SeedMobs(roomID int, entries []RoomMob) {
Attack: dw.def.Attack,
Strength: dw.def.Strength,
Defense: dw.def.Defense,
+ Ranged: dw.def.Ranged,
+ Science: dw.def.Science,
Speed: dw.def.Speed,
Aggressive: dw.def.Aggressive,
Protected: dw.def.Protected,
@@ -253,6 +283,15 @@ func (s *MobStore) SeedMobs(roomID int, entries []RoomMob) {
RoomID: roomID,
HomeRoomID: roomID,
Drops: dw.def.Drops,
+ AttackBonus: dw.def.AttackBonus,
+ StrengthBonus: dw.def.StrengthBonus,
+ AttackType: dw.def.AttackType,
+ StabDefense: dw.def.StabDefense,
+ SlashDefense: dw.def.SlashDefense,
+ CrushDefense: dw.def.CrushDefense,
+ ScienceDefense: dw.def.ScienceDefense,
+ RangedDefense: dw.def.RangedDefense,
+ Weakness: dw.def.Weakness,
}
inst.IdleDescription = pickIdleDescription(dw.def.IdleDescriptions)
s.instances[instID] = inst