[v1.7.0+] Race: Jury-rig
Posted: Tue Aug 04, 2026 6:57 pm
Amazing what can spring up out of a stray wacky idea… In this case, for instance, I was thinking, "a character that could wield lots of gems would be neat". That got me thinking about how to do that, and ideas kept piling up on top of other ideas, until it all came together in the form of my new Race: Jury-rig addon.
Jury-rigs are constructs built out of mismatched golem parts, built around a multi-gem core. They can wield up to five gems based on one of their race talents, and another talent lets them add "mods" to add more equipment slots:
(Now, fair warning: the player tiles are… rough for now.
One of the features I'm proud of is that the player actually visually changes shape when you take certain mods like hands or head. That involves a lot of tile overlays, though, so making proper graphics for all of them is goint to take a while; for now I'm using… well…
)
Now, I think I've covered all the cases that could break (famous last words…
), but there are no doubt still bugs; as always, this is the best place to report them.
[Implementation notes:]
Jury-rigs are constructs built out of mismatched golem parts, built around a multi-gem core. They can wield up to five gems based on one of their race talents, and another talent lets them add "mods" to add more equipment slots:
- Weapon mounts (adds mainhand and offhand slots; up to 2)
- Articulated "hand" actuators (adds gloves slot; up to 2)
- Foot-based locomotors (adds boots slot; max %d, up to 2)
- Head mount (adds helm and amulet slots; up to 2)
- Ring spindles (adds 2 ring slots each; up to 3)
- General utility mounts (adds tool slot; up to 3)
- Not a "mod" per se, but some rearrangements to allow you to fit into body armor (adds body and cloak slots; up to 1)
(Now, fair warning: the player tiles are… rough for now.
Now, I think I've covered all the cases that could break (famous last words…
[Implementation notes:]
Code: Select all
Hooks:
ToME:load [to load all our stuff]
Entity:loadList [to add a worldmap entrance]
Actor:updateModdableTile:skin [character tile juggling]
Actor:updateModdableTile:middle [character tile juggling]
Actor:updateModdableTile:front [character tile juggling]
ToME:playerDumpJSON [tweaks for online character sheet]
Superload:
mod.class.interface.Combat:
combatDefense() [changes from a race talent]
combatDefenseRanged() [changes from a race talent]
combatArmor() [changes from a race talent]
combatArmorHardiness() [changes from a race talent]
combatCritReduction() [changes from a race talent]
mod.class.Game:
changeLevelReal() [to deliver a message on entering certain towns]