(field string, valueArgs []string, user *users.UserRecord, cfg ZombieConfig)
| 245 | } |
| 246 | |
| 247 | func (m *ZombieModule) handleUnset(field string, valueArgs []string, user *users.UserRecord, cfg ZombieConfig) (bool, error) { |
| 248 | value := strings.Join(valueArgs, ` `) |
| 249 | |
| 250 | switch field { |
| 251 | case `combat`: |
| 252 | if value == `` || value == `all` { |
| 253 | cfg.CombatTargets = nil |
| 254 | user.SendText(`All combat targets cleared.`) |
| 255 | } else { |
| 256 | cfg.CombatTargets = removeString(cfg.CombatTargets, value) |
| 257 | user.SendText(fmt.Sprintf(`Combat target <ansi fg="yellow">%s</ansi> removed.`, value)) |
| 258 | } |
| 259 | m.configs[user.UserId] = cfg |
| 260 | |
| 261 | case `roam`: |
| 262 | cfg.RoamRadius = 0 |
| 263 | m.configs[user.UserId] = cfg |
| 264 | user.SendText(`Roaming disabled.`) |
| 265 | |
| 266 | case `rest`: |
| 267 | cfg.RestThreshold = 0 |
| 268 | m.configs[user.UserId] = cfg |
| 269 | user.SendText(`Rest threshold disabled.`) |
| 270 | |
| 271 | case `loot`: |
| 272 | if value == `` || value == `all` { |
| 273 | cfg.LootTargets = nil |
| 274 | user.SendText(`All loot targets cleared.`) |
| 275 | } else { |
| 276 | cfg.LootTargets = removeString(cfg.LootTargets, value) |
| 277 | user.SendText(fmt.Sprintf(`Loot target <ansi fg="yellow">%s</ansi> removed.`, value)) |
| 278 | } |
| 279 | m.configs[user.UserId] = cfg |
| 280 | |
| 281 | default: |
| 282 | user.SendText(`Unknown setting. Valid settings: combat, roam, rest, loot`) |
| 283 | } |
| 284 | |
| 285 | return true, nil |
| 286 | } |
| 287 | |
| 288 | func (m *ZombieModule) showConfig(user *users.UserRecord, cfg ZombieConfig) { |
| 289 | _, isActive := m.active[user.UserId] |
no test coverage detected