Adding a high level device with quantumCPU for an extension compatible with the Human Space library is problematic because of the CDM Shard that can eat any item with quantumCPU. For example, I have a new level 7 (or higher) cargo bay with quantumCPU, but if the player can feed several of them to the CDM Shard, it can level up beyond its expected max level (of about 6 or 7), and its powers can affect targets that it may otherwise fail to affect reliably, if at all.

It would be nice if the shard criteria table had something like "* +quantumcpu; -shardCantEat;" so that the modder can add a quantumCPU item that cannot be eaten by the CDM Shard.

johnbwatson 19 Nov 2017:

I don't see why it shouldn't be able to eat anything that isn't a quest item if it contains CPU parts or data. If the issue is max level, a hard cap is easy enough to set.

megas 19 Nov 2017:

CDM Shard eats everything that has 'quantumCPU' attribute as long as the level of the fed item is greater-than-or-equal to shard level.

If questItem could bypass that, I would put questItem on my new item even if the item is clearly not a questItem (due to being sold in shops), just to prevent the shard from eating it and becoming too powerful. Currently, even questItem does not prevent shard from eating such an item.

The only hard cap is level 10. The modder should not be expected to overwrite CPU shard code (especially if he does not have Eternity Port in the first place) to circumvent level limits or otherwise prevent Shard from eating things that let it power-up and get stronger than normal. Even if modder is willing to overwrite the Shard, that would be a problem if a second modder wants to overwrite the Shard too for whatever reason.

The reason the modder may not want the Shard to eat an overleveled item is he does not want to make it too easy to level-up and/or increase the effective maximum level the shard can reach. The problem, if it can be said to be a problem, with Shard exceeding level 6 or 7 is the powers get stronger (despite Shard not getting more powers), that is, can affect higher level enemies more easily than a level 6 shard can do. Also, starting at either level 8 or 9, the Shard becomes willing to target and attack friendly objects if ordered.

Yes, there is no in-game reason why the shard should not be allowed to eat any compatible item, but the creator of new mod content should be able to stop it if the alternative is an overpowered shard. (In my case, my extension has a high level drone bay/quantumCPU combo item, but if I add it, someone with too many credits and/or lucky fabricator spawn can obtain several and level-up the shard easily in Eternity Port games.)

johnbwatson 21 Nov 2017:

I feel like that would be an issue with the shard's leveling, assuming the item itself is balanced(has appropriate level and rarity/value). If the shard becomes unreasonably powerful after being fed an easily obtainable number of some item whose attributes are in line with its cost/rarity, then the issue would be that it either its EXP rates or its high level powers need a nerf. Adding special attributes to lock out items from certain interactions specific to other non - vanilla items feels inelegant and vulnerable to all sorts of potential issues.

All of that said, the shard definitely should not be allowed to consume quest items. If it can, that's clearly a bug.

assumedpseudonym 21 Nov 2017:

 The CDM Shard and its advancement are currently balanced to Eternity Port content — as they should be. (If the balance isn’t where it should be before taking mods into consideration, that’s a completely unrelated issue.) If someone wants to add content in a mod that would unbalance it, that’s the prerogative of the modder. The issue being addressed in this ticket is that the it is not possible to add certain content in a way that doesn’t unbalance it. The correct course of action is not to modify the balance of the CDM Shard to fit third party content. That serves to change the balance of Eternity Port for players not using the aforementioned third party content. This is George’s game; we’re supposed to work with his balance, not the other way around.

 PM has the right idea. Adding an attribute to the CDM Shard code that would exclude certain items from being able to modify it does not change the balance of unmodded Eternity Port games, but does allow for content to be added in a way that cannot make one of the central mechanics of the expansion overpowered.

megas 21 Nov 2017:

The Shard only takes items with +info or +quantumCPU attributes. +info items are one-and-done, while the +quantumCPU items can be fed until shard level exceeds item level.

Currently, there is only one item with +quantumCPU, the level 5 CPU device. This means player can level up the Shard to level 6 reliably. Maybe get to 7 if he feeds all of the +info items after the shard levels up to 6. Shard is quite powerful then, but not enough to steamroll endgame threats.

Not having blocking attributes is not so much a bug because the sole CPU item is a simple level 5 commodity (as devices go). That said, -questItem is not a bad idea, although having an attribute like -shardCantEat to prevent the shard from eating the item at all without other baggage tied to it is a good idea too. No blocking attributes means that modders cannot add high level +quantumCPU items (that are not unique) without allowing a munchkin to treat them as rare candy and feed it all to the shard for more power.

The only reason to have -questItem or other blocking attribute is either for mod support or if George adds another expansion that requires Eternity Port (like maybe a gigantic Human Space adventure/expansion combo).

johnbwatson 22 Nov 2017:

The issue being addressed in this ticket is that the it is not possible to add certain content in a way that doesn’t unbalance it.

That hasn't been established. The issue is that the item being added makes it too easy to level up the QCPU past a certain point. This is either due to the new item being easier to acquire than George would expect of an item with its level and traits, or due to the leveling rate being too high past a certain level(the maximum level that the player can reach in base EP) when given a certain kind of item. In either case, the solution is not to add a trait that must be applied to every item with level range X and trait set Y in order not to break the balance.

Based on megas's description of the issue, the problem is that the shard overvalues high level items with the +quantumcpu attribute. This is *not* a case by case issue. This is an issue across an easily definable category of items, and requiring every item within this category be given an attribute is not an elegant solution.

assumedpseudonym 22 Nov 2017:

 First, let me remind you of the ticket title:

[EP] Allow (new mod) items with quantumCPU attribute to avoid being fed to CDM Shard.

 By definition, that means that not being able to exclude items from being eligible for the CDM Shard is exactly the issue.

 Does the CDM Shard overvalue certain items? Hell if I know. I’ve barely even looked at the code for the thing, and certainly haven’t dug into it in any depth. That doesn’t change my point, though. Or PM’s. There needs to be a way for modders to make items unable to be given to the CDM Shard, and this is not currently possible. Similarly, there needs to be a way for modders to turn the CDM Shard into an unreasonably overpowered mechanic — godmods do exist, after all — and this is currently possible. PM’s solution would solve the issue simply and tidily without having to worry about how balance would be affected in unmodded Eternity Port games.

megas 22 Nov 2017:

AssumedPseudonym is right.

The problem is I cannot add a level 7+ mod device with +quantumCPU (if it can be easily acquired) because it becomes a rare candy to powerlevel the shard to a higher max level than normal, and there is no way to prevent that short of overwriting the CDM Shard, which has other problems. The mod device is fine in Stars of the Pilgrim. All I care about is a way to prevent the shard from accepting my high-level device with +quantumCPU, such as what I wrote in the first post. All it requires is a simple criteria change, and the blocking attribute could be named almost anything, though preferably one designed to block consumption by shard.

The shard does not overvalue items per se. It has a very limited list/table of items it accepts, and they are 1) items with +info attribute (and those that also have +soul are worth double xp), and their limitation is you can give each specific item type that qualifies once; and 2) items with +quantumCPU, and their sole limitation is the shard does not accept if its level is greater than the item. What this means in unmodded EP games is the player can feed as many (level 5) quantum CPUs as he wants until the shard reaches level 6, and it is nearly impossible to level up the shard past that... unless a mod that features a high-level item with the quantumCPU attribute gets included too.

george moromisato 14 Dec 2017:

There should definitely be a way to specify that an item cannot be eaten by the shard.

arkheias 17 Dec 2017:

It would probably be best to just have the CDM Shard first check the item for some <StaticData> element that would override the default behavior when eating items, if found.

The <StaticData> element could either include alternative stats to be substituted in for the default criteria, or it could just be a full override including different id, criteria, xpUnitsGained, and restrictions altogether.

george moromisato 14 Aug 2018:

Implemented in 1.8 Beta 3 (EP 1.1.13). Thanks!

See: https://ministry.kronosaur.com/record.hexm?id=81049