T
The Yogscast
#Trouble in Terrorist Town#TTT#Garry's Mod

Trouble in Terrorist Town: Mastering the Arms Dealer Role

Explore the Arms Dealer, a custom role in Garry's Mod's Trouble in Terrorist Town (TTT), focusing on strategic weapon distribution and role identification. Learn how this unique role influences gameplay dynamics and contributes to team victory.

5 min readAI Guide

Introduction

The Arms Dealer is a custom role in Trouble in Terrorist Town (TTT) that introduces a unique dynamic by allowing a player to distribute weapons to others. This role is crucial for influencing gameplay by strategically arming teammates or even traitors, adding a layer of deception and resource management to the standard TTT experience.

Configuration Checklist

Element Version / Link
Language / Runtime Lua (Garry's Mod)
Main library TTT Custom Roles (specific mod not specified in video)
Required APIs Garry's Mod Lua API
Keys / credentials needed None (in-game role)

Step-by-Step Guide

Step 1 — Understanding the Arms Dealer Role

Understanding the Arms Dealer Role
The Arms Dealer's primary objective is to deal 5 weapons to other players. This role is unique because the Arms Dealer is aware of who the Traitors and Detectives are from the start. The strategic importance lies in deciding when and to whom to deal weapons, as prematurely arming a known Traitor can be risky, but dealing to innocents can help them survive.

-- [Editor's note: This is a conceptual representation. Actual implementation would involve Garry's Mod Lua scripting for TTT custom roles.]

-- Example of Arms Dealer role definition (simplified)
local ROLE_ARMS_DEALER = {
    name = "Arms Dealer",
    team = TEAM_INNOCENT, -- Typically on the innocent side, but with unique objectives
    weapons_to_deal_for_win = 5,
    cooldown_same_person = 30, -- seconds
    cooldown_other_person = 5,  -- seconds
    knows_roles = {TEAM_TRAITOR, TEAM_DETECTIVE}, -- Knows these roles
    -- Additional logic for dealing weapons, checking win conditions, etc.
}

-- Function to deal a weapon (conceptual)
function ARMS_DEALER:DealWeapon(targetPlayer, weaponName)
    -- Check cooldowns
    -- Grant weapon to targetPlayer
    -- Increment weapons_dealt counter
    -- Check if win condition met
end

-- Function to check win condition (conceptual)
function ARMS_DEALER:CheckWinCondition()
    if self.weapons_dealt >= self.weapons_to_deal_for_win then
        -- Declare Arms Dealer and Innocents win
    end
end

Step 2 — Strategic Weapon Distribution

Strategic Weapon Distribution
As an Arms Dealer, you have a 30-second cooldown for dealing weapons to the same player and a 5-second cooldown for dealing to different players. This encourages varied distribution. The key is to arm players who can effectively use the weapons, potentially including Traitors if it serves a larger strategic goal (e.g., to avoid suspicion or gain trust before a critical moment).

-- [Editor's note: This is a conceptual representation. Actual implementation would involve Garry's Mod Lua scripting for TTT custom roles.]

-- In-game interaction for dealing a weapon
-- Player would typically use a UI or a specific keybind to select a target and a weapon.

-- Example of dealing a weapon to a player
-- Assume 'local armsDealerPlayer' is the player with the Arms Dealer role
-- Assume 'local targetPlayer' is the player to receive the weapon
-- Assume 'local weaponToDeal' is the weapon entity or class name

-- armsDealerPlayer:DealWeapon(targetPlayer, weaponToDeal) -- Calls the internal function

Step 3 — Identifying and Utilizing Other Roles

The Arms Dealer's knowledge of Traitors and Detectives is a powerful asset. This information can be used to strategically avoid arming dangerous Traitors too early or to provide critical support to Detectives. However, directly outing Traitors immediately might lead to a quick, less engaging round.

-- [Editor's note: Role identification is typically handled by the TTT framework and displayed to the Arms Dealer player via UI elements.]

-- Example of how role knowledge might be used (conceptual)
function ARMS_DEALER:OnRoundStart()
    for _, player in ipairs(player.GetAll()) do
        if player:IsTraitor() then
            self.knownTraitors[player:SteamID()] = true
        elseif player:IsDetective() then
            self.knownDetectives[player:SteamID()] = true
        end
    end
end

-- Decision-making based on known roles (conceptual)
function ARMS_DEALER:ChooseTargetForWeapon()
    local potentialTargets = {}
    for _, player in ipairs(player.GetAll()) do
        if player:Alive() and not self.knownTraitors[player:SteamID()] then
            table.insert(potentialTargets, player)
        end
    end
    -- Select a target from potentialTargets
end

Comparison Tables

Arms Dealer Role Mechanics

Feature Description Strategic Implication
Objective Deal 5 weapons to other players. Encourages interaction and resource distribution.
Role Knowledge Knows Traitors and Detectives. Provides a significant informational advantage for strategic decisions.
Cooldown (Same Player) 30 seconds Prevents spamming one player with weapons.
Cooldown (Other Player) 5 seconds Allows for rapid distribution across multiple players.
Win Condition Innocents win if Arms Dealer deals 5 weapons. Aligns Arms Dealer with the Innocent team's victory, but with a unique path.
Weapon Types Can deal various weapons (e.g., Flamethrower, Medigun, Fart Grenade, Poltergeist, Tech Gun, Honey Badger, Vindicator, Shotgun, Pistol, Spy Revolver, Rifle, Magneto-stick, Holstered, Memo Gun, Rocket Potion, Scattergun, Teleport Grenade, PP-19 Bizon, MR-C41, Brain Washing Device, Artillery Cannon). Adds variety and tactical options to gameplay.

⚠️ Common Mistakes & Pitfalls

  1. Immediately outing Traitors: While knowing Traitors is tempting, revealing them at the start can lead to a very short, unengaging round, diminishing the fun for all players. The role is designed for strategic interaction, not instant wins.
  2. Ignoring cooldowns: Attempting to deal weapons too quickly to the same person or without respecting the global cooldowns will result in failed attempts and wasted time, hindering your progress towards the win condition.
  3. Failing to distribute weapons: The core objective is to deal 5 weapons. Focusing too much on detective work or combat without actively distributing arms will prevent the Arms Dealer from winning, even if the Innocents survive.
  4. Misjudging weapon utility: Dealing powerful weapons to inexperienced players or those who cannot use them effectively can backfire, potentially arming a Traitor by accident or wasting valuable resources.
  5. Becoming a target too early: The Arms Dealer's unique abilities can make them a high-priority target for Traitors. Being too obvious or reckless can lead to an early death, ending the round for the Arms Dealer prematurely.

Glossary

Arms Dealer: A custom role in Trouble in Terrorist Town (TTT) whose objective is to deal 5 weapons to other players, knowing the identities of Traitors and Detectives.
Traitor: A hostile role in TTT whose objective is to eliminate all Innocents and Detectives.
Detective: A protective role in TTT whose objective is to identify and eliminate Traitors.
Innocent: A standard role in TTT whose objective is to survive and help Detectives eliminate Traitors.
Paramedic: A custom role in TTT capable of reviving fallen players, potentially bringing them back as an Evil Twin.
Summoner: A custom role in TTT with the ability to summon creatures or entities to aid their team.
Hypnotist: A custom role in TTT that can cause players to explode with a "shell" (likely a bomb or explosive effect).
Glitch: A custom role in TTT that can trigger a "trap card" giving everyone an UNO reverse card, implying a chaotic or unpredictable effect.
Zenlot: A custom role in TTT that operates an artillery cannon, capable of firing explosive shells.

Key Takeaways

Key Takeaways

  • The Arms Dealer role adds a unique strategic layer to TTT by focusing on weapon distribution rather than direct combat or immediate identification.
  • Successful Arms Dealers must balance their knowledge of roles with careful timing and distribution to achieve their win condition.
  • Custom roles like the Arms Dealer, Paramedic, Summoner, and Hypnotist introduce diverse abilities and objectives, significantly altering standard TTT gameplay.
  • Environmental interactions, such as dropping chandeliers or using swings, can be weaponized or used for movement, adding dynamic elements to the map.
  • Understanding the specific mechanics and cooldowns of each custom role is crucial for both playing as and countering them effectively.

Resources