You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
raymoo c5c43514f4 remove 3d_armor compatibility stuff 2 years ago
COPYING change to LGPL 3 years ago
README.md remove 3d_armor compatibility stuff 2 years ago
depends.txt remove 3d_armor compatibility stuff 2 years ago
description.txt Use player_monoids 3 years ago
init.lua remove 3d_armor compatibility stuff 2 years ago
mod.conf Everything 3 years ago

README.md

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