TheCodex6824 / ThaumicAugmentation

A Thaumcraft addon for Minecraft 1.12 that tries to add new content that would fit in with the base mod.
https://minecraft.curseforge.com/projects/thaumic-augmentation
GNU Lesser General Public License v3.0
40 stars 32 forks source link

[SUGGESTION] Warp Extractor #136

Open Shazuli opened 3 years ago

Shazuli commented 3 years ago

Something I've thought of for a while is a balanced way of removing permanent Warp from the player. A way to remove permanent Warp doesn't really make sense, they should be permanent, let me elaborate:

Azanor's three types of warp should work using this method, but the drawback of this method should only really be truly effective for temporary Warp and permanent Warp while regular Warp is just not worth it and should be handled before this procedure.

Function

An Arcane Machine of some kind, resembling the skill unlocker from the game "The Evil Within":

Skill Unlocker ![image](https://gamecrate.com/sites/default/files/The-Evil-Within-2-Skills-3.jpg)

This device will essentially extract the forbidden knowledge from the player's mind, removing the permanent Warp. The extracted substance will be ejected into a Warded- or Brain in a Jar you load into the construct. The following day(s) after the procedure will include frequent hallucinations (headaches, visions, sun-scorched effect. Does not include Guardian spawning or Flux Flu, physical threats essentially) and other bad effects. The extracted knowledge has essentially been "removed" from the book, making you unable to decipher your writing or craft that again. Care should be taken with the extracted substance. If it breaks or destroyed it will imminently return to the player's mind in a very destructive way which can result in even worse side-effects (now physical threats are a thing) or in the worst case, kill them. The Jar itself must first be placed in a secure place. But you can't just dig a hole in the ground somewhere, seal it and forget it. Warp doesn't like being stuck in a Jar and will break down its walls until it explodes returning back to its home. So you must transfer the substance to a new vessel as there's no easy way to repair the old vessel (perhaps a Infusion recipe with the broken jar in the middle with Quicksilver and Glass as sacrificial items with variable instability depending on the potency of the jar's content). And the more potent the knowledge is the faster it will break down the vessel, so you shouldn't keep multiple pieces of dangerous forbidden knowledge in the same jar. In case you need it again you can always let it break, or doing the less dangerous way of injecting it back into your head in a controlled manner. Injecting or transferring Warp back into the mind is way more dangerous than extracting it, so later research allows for crafting of a medicine to lessen the bad effects when transferring (you won't die if you don't have full health from injecting it back unless you have less than four HP or something like that) back and reduced hallucinations afterward. Brain in a Jar has shown to reduce the corrosion effect and will last much longer, but are more expensive to make and can't be repaired except by transferring it to another vessel. Its regular behavior is lost, so it cannot absorb experience anymore.

Behavior

That's pretty much what I'm thinking. I don't like the idea of it "un-researching" the knowledge to extract, it should remain in the book and would render a question mark on the icon and add a corrupt text effect making it impossible to read what it was about except the title and hiding the crafting recipe. You can either chose a knowledge topic from the book or ask it to extract this much Warp or temporary Warp. Non-permanent Warp is less dangerous and doesn't destroy the jar over time, but is still susceptible to regular damage such as a firing arrow, explosion, or damage from mobs. Temporary Warp has the least dangerous effects on the player and can pretty much be filled to the top of a Warded Jar, making a great way of storing temporary Warp if need be. And for the transfer of Warp from one vessel to another... my first thought was to use Essentia Tubes, but they can hold liquids themself, which would work for the transfer of non-permanent Warp, but would break when transferring permanent Warp as that should only be quantized. So another 1x1x2 structure for the sole purpose of transferring Warp would be the way to go. An input of the old vessel and an output for the new vessel placed underneath it and executed when received a Redstone signal.

Technical ideas to implement something like this

Loading of chunks can be used to abuse the system, so I think the data storage should be on the player and not in the TileEntity. Let's put a date tag for when a vessel is going to break on the player, and when time has ran out the vessel has broken and transfer the knowledge back. If the vessel block is loaded it will be sent a data package to expire or will check if it has expired next time it's loaded. If the vessel block breaks it will behave as if has expired and send a data package to the player it has expired. Otherwise, send it to the world and save the ticket there, and when a player logs in and is that player whose vessel has broken, transfer that ticket to the player where it will handled. This messy and over-complicated system would remove the possibility of abusing this system of removing Warp permanently, and would work on servers as well.

TechnoMysterio commented 3 years ago

There's some interesting ideas here, although once again I'll have to preface my response with the usual comment that we're still discussing what to do with the mod going forward, so I don't know whether anything like this can actually be added or not. But aside from that, I'll cover my thoughts on this.

Firstly, you're not the first to come up with the idea of 'storing' warp as a means of getting out of the player's head. From TC4 mods I can think of two addons that did this: the first was Thaumic Exploration and its Soul Brazier, which held permanent warp in a bubble as long as the brazier was fed vis and essentia and the player did not go too far from it, also creating taint in the surrounding area as a side-effect. The second was Thaumic Horizons and its warp tumor self-infusion, which was a player infusion that gave them a warp tumor that could hold up to 50 points of permanent warp, remaining there as long as the player didn't die. I just wanted to cover these since it's often wise to look at how other addons did things as a point of reference and potential guidance.

Secondly, when it comes to storing warp I personally think that it should be limited to permanent warp only, since there are other methods for dealing with normal and temporary warp. Sanity soap removes all temporary warp and some normal warp for one, and Thaumic Wonders has a special bauble that removes normal warp over time. It would also help to streamline the design a little, and also match up better with the research obfuscation idea, since forbidden knowledge only gives you permanent warp, and thus it would make more sense for only permanent warp to removed if you 'forget' the forbidden knowledge.

Thirdly, most of your thoughts on storing it in jars, keeping the jars secure and doing most of the timing logic on the player all seem good, but as with any ideas they'd need to be thought over and tweaked so to make them reasonable/non-exploitable. But that's just the process of game design really.

Finally, unlearning research. If this were to be implemented I'm fairly sure Thaumcraft would present its usual suite of problems regarding crap APIs, dodgy code and general inflexibility, so I don't actually know if this would be possible outside of just coremodding the entirety of Thaumcraft to allow for it. However, the idea itself is OK (making the entry be obfuscated rather than set back to square one is a good thought, although there should probably be a way to learn it again if you get the warp back), and the specifics of the programming is more Codex's domain, so he'd have to be the one to confirm or deny my thoughts here.

Right, those are my thoughts on your ideas. They're rather interesting, but I haven't a clue as to whether anything like this can be added. Regardless, at the very least I can say that they can be kept in mind. Unless, of course, I hook up my brain to a big colander looking thing attached to a wheelchair and store all memory of this topic in a jar somewhere.

DoomRater commented 3 years ago

There's one more thing to mention in addition to everything already spoken for- there is a reason why permanent warp is desired above all other warp. It directly affects the vis discount for the Voidseer's Pearl. If a player eliminates permawarp, the bonus goes too. In fact, Wuss Mode already prevents the player from gaining permanent warp from learning forbidden researches. I'm in the strange position of actually needing the reverse- a way to obtain permanent warp in Wuss Mode.

TheCodex6824 commented 3 years ago

A lot of good stuff has already been said. As for the technical side of things, it will indeed be very messy doing it the way you described. Thaumcraft's research system (and especially the book part) is really not customizable pretty much at all, so it would require some hefty coremod additions to make that all work. I could definitely do it, but it sounds painful, to say the least.

Aside from technical issues, another concern is how useful removing research would be in a playthrough with Augmentation. In base TC, I could easily see a case for just making the armor and such and ditching the research, as that doesn't really need to be made more than once. But Augmentation has crafting components deep in the research path that people could feasibly need, like making more Impetus Relays or something.

Voidseer's pearl is also a thing to consider, but to be honest I barely find myself using it (part of why I made the pearl be in the void gauntlet recipe). It takes the same bauble slot as the sustainer charm, aka the thing that pretty much removes the hunger bar from the game, which I personally find more useful.