Skip to content
A monoidal_effects monoid for armor
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

#The Armor Monoid

This mod provides a player_monoids monoid for handling armor groups. It provides a monoid for damage resistance, and a way to register new damage types for players.

Using the monoid

The values in the monoid are tables mapping armor group names to damage multipliers. For example, if I wanted to apply an effect granting arcane damage resistance but fleshy damage vulnerability, I could do

local tab = {
  arcane = 0.5,
  fleshy = 1.5,

armor_monoid.monoid:add_change(player, tab, "mymod:arcane_boost")

Registering damage types

To add a new damage type to players, use armor_monoid.register_armor_group. For example:

armor_monoid.register_armor_group("arcane", 100)

As you can see, the argument is not a multiplier, but the base armor group rating. Calling this would mean players start off with an armor rating in "arcane" of 100 (no protection).
You can’t perform that action at this time.