RM13 allows installation of UPS mod but doesn't work with it

Hi.

I was excited when I noticed that RM13 was on the list of possible targets when installing UPS conversion mods. Seems the armor even accepts one. Unfortunately when you try to activate it, the armor now only gives a cryptic message: “The RM13 combat armor’s fuel cells are dead.”

I took a quick look at it and it seems that ammo_sufficient/ammo_remaining functions only check for presence of traditional battery charges for it - disregarding UPS entirely. (iuse.cpp, line 2072)

This is a problem, since I don’t think there is a way to remove the UPS mod. So if you go and install it, your armor is fucked for good. I attempted to modifiy the conditions a little along the lines of:
if ( !( ( !it->has_flag(“USE_UPS”) && it->ammo_sufficient() ) ||
( it->has_flag(“USE_UPS”) && p->has_enough_charges(*it, false) ) ) )
{ //fail }

Seeing the code first time today, I probably screwed that one up. Other charge counter code seems to take precedence now and interfere so that fail message may be unreachable in practice. Probably the paradox of having suitable UPS charges for passing the first check and still later here accepting only battery charges was the only thing that allowed that error to come up at all. I guess you could just remove the check altogether for an identical effect.

Regardless, the game seems to work now after rebuilding it. Unmodified variants still function with batteries but those with UPS mod installed accept UPS power. Much better like this. =)

After I had done this, I read the description again and noticed that it says the armor only uses exclusively heavy plutonium batteries. It of course makes no sense, since other power armors accept UPS, but perhaps this was a game balance decision. If so, then installing UPS conversion mod into a RM13 should definitely be prevented. Not fun losing such a rare item only for doing what is logical and allowed.

This correction should probably be done in toolmod_attach function (iuse.cpp line 5893). It attempts to prevent stupidities like this, but I guess the problem arises from the armor counting as a tool as well. If you ask me, there is no realism reason why the armor shouldn’t accept UPS-flavored power. And if we consider gameplay, when you are tough enough to get this item, playing with batteries is just unnecessary tedium. I’ll be keeping my build with UPS-powered RM13 =P

But yea, one way or another, this merits a little fix. Hope this helps.

BR,

Jandof

I noticed no-one has commented on this issue yet. I could draft a code fix if I knew how it’s intended to work.

As I see it, we have at least the following options:

  • Prevent adding a UPS mod to RM13 (specifically blacklisting it in toodmod_attach or maybe blacklisting all armor type items or just making RM13 not a tool)
  • Disabling the secondary check thus allowing the use of a UPS mod.
  • Redesigning the armor to make it inherently use only UPS like other power armors.
  • Changing the error message to something more understandable such as: “This armor was never meant to use UPS. Your meddling has fried its circuitry for good.” =)

If you want me to do something about it, let me know.

Oh, and while I’m at it… I tested the heavy exoskeleton (which for some reason was just standing in the middle of a remote road) a little and it drains a full stadard UPS or bionic energy charge in just a couple of minutes. Is this intended behavior?

I mean, I wouldn’t buy a cell phone that only works 5 mins between recharges. Is there something in the game that allows categorically higher personal energy output?