A monoidal_effects monoid for armor
Go to file
2022-06-26 12:26:43 +02:00
COPYING change to LGPL 2016-02-10 20:23:13 -08:00
init.lua Merge branch 'github' 2022-06-26 12:26:43 +02:00
mod.conf Delete depends.txt, description.txt and update mod.conf 2022-06-26 12:20:55 +02: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).