aboutsummaryrefslogtreecommitdiff
path: root/internal/game
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-05 16:42:01 -0400
committerhistoria <[not public]>2026-07-05 16:42:01 -0400
commit9b54188970c51070d86f4c87e909ea7836c86f07 (patch)
tree9dea17fee340bb92dee8bb4632001dbf219d2462 /internal/game
parent21c1997a3fd0f5ec5dcff1add45e4dfaf7a338ca (diff)
downloadthehouseoficarus-9b54188970c51070d86f4c87e909ea7836c86f07.tar.gz
fix: restructure steal yaml, update admin web gui
Diffstat (limited to 'internal/game')
-rw-r--r--internal/game/act_steal.go30
-rw-r--r--internal/game/cmd_sneak.go4
-rw-r--r--internal/game/cmd_verbs.go2
3 files changed, 18 insertions, 18 deletions
diff --git a/internal/game/act_steal.go b/internal/game/act_steal.go
index a64bc96..b5c1210 100644
--- a/internal/game/act_steal.go
+++ b/internal/game/act_steal.go
@@ -102,7 +102,7 @@ func (g *Game) resolveStealTarget(sess *net.Session, p *player.Player, input str
var stealObjs []*object.ObjectDef
for _, st := range roomObjs {
def, err := g.ObjectStore.Load(st.DefID)
- if err != nil || def.StealTable == "" {
+ if err != nil || def.Steal == nil || def.Steal.Table == "" {
continue
}
stealObjs = append(stealObjs, def)
@@ -224,14 +224,14 @@ func (g *Game) startSteal(sess *net.Session, p *player.Player, targetType string
return
}
} else {
- stealTable = objDef.StealTable
- stealLevel = objDef.StealLevel
- stealXP = objDef.StealXP
- stealSpeed = objDef.StealSpeed
+ stealTable = objDef.Steal.Table
+ stealLevel = objDef.Steal.Level
+ stealXP = objDef.Steal.XP
+ stealSpeed = objDef.Steal.Speed
targetName = objDef.Name
targetID = objDef.ID
objDefID = objDef.ID
- guardMob = objDef.GuardMob
+ guardMob = objDef.Steal.GuardMob
if stealTable == "" {
sess.WriteLine(fmt.Sprintf("You can't steal from the %s.", targetName))
@@ -328,15 +328,15 @@ func (g *Game) advanceSteal(sess *net.Session, p *player.Player) {
return
}
objDef, err := g.ObjectStore.Load(objDefID)
- if err == nil {
- d.StealLevel = objDef.StealLevel
- d.StealXP = objDef.StealXP
- d.StealSpeed = objDef.StealSpeed
- stealLevel = objDef.StealLevel
- stealXP = objDef.StealXP
- stealSpeed = objDef.StealSpeed
- d.GuardMob = objDef.GuardMob
- guardMob = objDef.GuardMob
+ if err == nil && objDef.Steal != nil {
+ d.StealLevel = objDef.Steal.Level
+ d.StealXP = objDef.Steal.XP
+ d.StealSpeed = objDef.Steal.Speed
+ stealLevel = objDef.Steal.Level
+ stealXP = objDef.Steal.XP
+ stealSpeed = objDef.Steal.Speed
+ d.GuardMob = objDef.Steal.GuardMob
+ guardMob = objDef.Steal.GuardMob
if guardMob != "" {
guard := g.findGuardInRoom(p.RoomID, guardMob)
diff --git a/internal/game/cmd_sneak.go b/internal/game/cmd_sneak.go
index 325a36b..5ae60e7 100644
--- a/internal/game/cmd_sneak.go
+++ b/internal/game/cmd_sneak.go
@@ -40,11 +40,11 @@ func (g *Game) SneakTick() {
objs := g.World.AllObjInstances(p.RoomID)
for _, st := range objs {
objDef, err := g.ObjectStore.Load(st.DefID)
- if err != nil || objDef.GuardMob == "" {
+ if err != nil || objDef.Steal == nil || objDef.Steal.GuardMob == "" {
continue
}
- guard := g.findGuardInRoom(p.RoomID, objDef.GuardMob)
+ guard := g.findGuardInRoom(p.RoomID, objDef.Steal.GuardMob)
if guard == nil {
continue
}
diff --git a/internal/game/cmd_verbs.go b/internal/game/cmd_verbs.go
index cad90c5..57db0a6 100644
--- a/internal/game/cmd_verbs.go
+++ b/internal/game/cmd_verbs.go
@@ -118,7 +118,7 @@ func (g *Game) executeVerbs(sess *net.Session, args []string, rawInput string) {
}
}
- if def.StealTable != "" {
+ if def.Steal != nil && def.Steal.Table != "" {
addUnique(&sectionObjs, &seen, "steal "+name)
}