Go to file
2017-03-05 15:30:12 -08:00
COPYING change to LGPL 2016-02-10 20:23:13 -08:00
depends.txt remove 3d_armor compatibility stuff 2017-03-05 15:30:12 -08:00
description.txt Use player_monoids 2016-08-05 13:48:35 -07:00
init.lua remove 3d_armor compatibility stuff 2017-03-05 15:30:12 -08:00
mod.conf Everything 2016-02-10 20:09:46 -08:00
README.md remove 3d_armor compatibility stuff 2017-03-05 15:30:12 -08:00

#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).