Skip to main content

Armory

The Armory module manages the armory rotation system in Dark War Survival: 8 slots with buffs, weekly assignments to alliances, and announcements about the current layout.

Enabling the Module

  1. Dashboard → Your server → toggle Armory
  2. Click Edit to configure the announcement channel
  3. Save changes

Configuration

OptionTypeDefaultDescription
announcement_channel_idstring / nullnullChannel for assignment announcements
history_modestring"command"History mode: "command" or "embed"
history_message_idstring / nullnullHistory message ID (embed mode)
history_channel_idstring / nullnullHistory channel (embed mode)

Armory Slots

Each server has 8 armory slots (created automatically):

  • Number (1–8)
  • Name (configured in dashboard)
  • Buff description

Slots are stored in the armory_slots table.

Dashboard — Configuration

The Armory edit panel contains:

  • Announcement Channel — dropdown with channels
  • Slots Configuration — editing names and descriptions of 8 slots
  • Current Assignments — current week overview

Commands

/armory assign

Assigns an alliance to an armory slot for the current week.

ParameterRequiredDescription
slotSlot number (1–8)
alliance_nameAlliance name (ILIKE search)

Requirements: Administrator or current president.

Flow:

  1. Checks permissions (admin or president)
  2. Searches for alliance by name (partial match)
  3. Upserts assignment for the current week
  4. Sends an announcement embed to announcement_channel_id
  5. Logs the assignment

/armory clear

Removes an alliance assignment from a slot for the current week.

ParameterRequiredDescription
slotSlot number (1–8)

Requirements: Administrator or current president.

Weekly Rotation

Assignments are week-based:

  • The week starts on Monday 00:00 UTC
  • Each week has a separate set of assignments
  • Old assignments remain in history

Announcement Format

The announcement embed contains:

  • Title: "🏰 Armory Assignments"
  • Description: "Week of [date]"
  • 8 fields (one per slot): slot name + assigned alliance + buff description
  • Footer with update date
┌─────────────────────────────────────┐
│ 🏰 Armory Assignments │
│ Week of June 9, 2026 │
├─────────────────────────────────────┤
│ 1. Infantry Armory │
│ **Alliance Alpha** │
│ +10% Infantry Attack │
│ │
│ 2. Cavalry Armory │
│ *Unassigned* │
│ +10% Cavalry Defense │
│ ... │
└─────────────────────────────────────┘

Permissions

ActionWho can
Assign / ClearAdministrator or current president
ViewEveryone (embed on channel)
President + Armory

The armory system is designed to work with the Presidents module — the president is responsible for the weekly armory distribution among alliances.

Database

TableDescription
armory_slotsguild_id, slot_number, name, buff_description
armory_assignmentsguild_id, slot_number, alliance_id, week_start, assigned_by, assigned_at

Constraint: UNIQUE(guild_id, slot_number, week_start) — one alliance per slot per week.

Logging

Actions logged by Logs under the armory category:

  • 🏰 Armory Assigned — slot number, alliance, who assigned
  • 🏰 Armory Cleared — slot number

Tips

Best practices
  • Configure announcement_channel_id to a channel visible to alliance leaders
  • Give slots descriptive names matching the in-game buffs
  • Rotate assignments weekly to ensure fair access
  • The president should make assignments at the beginning of each week
Workflow
  1. President decides on the armory distribution
  2. Uses /armory assign for each slot
  3. Bot sends an embed with the full layout
  4. Alliance leaders see which armory they have this week