Skip to content

Weapon abilities

The weapon special moves of data/weapon_abilities.toml: the thirteen moves of the AOS era and which weapons carry them. The file may be missing: no weapon has a move then.

[[ability]]
id = 7 # the number the client sends to select the move, 1 to 13
key = "double_strike" # the name of scripts/abilities/<key>.lua
name = "Double Strike"
mana = 30 # the cost of a blow that lands with the move
damage_scalar = 0.9 # what the damage is multiplied by
accuracy_bonus = 0 # percent added to the chance to hit
ignore_armor = false # the blow skips the armor
implemented = true # false: refused with a line
attacker_cliloc = 1060084 # the client's lines for the one who strikes and the one struck; 0 when the script tells its own
defender_cliloc = 1060085
primary = [0x13FE, 0x13FF] # the graphics of the weapons that carry it as their first move
secondary = [] # ... and as their second move

A number outside 1 to 13, a number or a key used twice, a key that is not a script id, a mana or a cliloc below 0, a scalar of 0 or less, a graphic outside 0 to 65535, a graphic that is the first move (or the second) of two abilities, and an ability that is both the first and the second move of a graphic stop the server at startup.

The table is generated from ModernUO’s per-weapon list by tools/gen_weapon_abilities.py, which also adds the flipped twin of a graphic (the template that shares its base_id): edit the script and run it, not the file.

Terminal window
python3 tools/gen_weapon_abilities.py ~/projects/others/ModernUO . > moongate_root/data/weapon_abilities.toml

Made with ❤️ by Tom

Buy me a coffee