Skip to content

Wand Focus: Isolation#30

Open
Midnight145 wants to merge 7 commits intomasterfrom
stabilizerfocus
Open

Wand Focus: Isolation#30
Midnight145 wants to merge 7 commits intomasterfrom
stabilizerfocus

Conversation

@Midnight145
Copy link
Owner

No description provided.

Copy link
Contributor

@koolkrafter5 koolkrafter5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few other misc things:
Isolated nodes can still be victims of node bullying. It could be a cool way to make node bullying easier to set up but it seems weird.
Jarring a node does not keep the Isolated tag. You'll probably also need to mixin Automagy for its advanced jar if you want to fix this for the pack.
Holding a thaumometer when looking at an isolated node should probably show "Isolated" along with the types and modifiers like Sinister or Unstable.
Nodes seem to do their offline regeneration the moment they are un-isolated if the player logged out and back in while the node was isolated. This is controlled by the catchUp flag in TileNode.


import org.lwjgl.opengl.GL11;

public class StabilizedNodeRenderer {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be renamed to IsolatedNodeRenderer to match the focus name

Comment on lines +137 to +138
-2,
-3,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is currently in the same spot as the Ethereal Bloom research. Moving it here seems like a nice spot:

Image
Suggested change
-2,
-3,
-4,
-3,

remap = false)
private boolean preventBreakIfFocusActive(EntityLivingBase entityLiving, Operation<Boolean> original,
@Local(name = "focus") ItemFocusBasic focus) {
if (focus instanceof ItemIsolationFocus) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe you could also check for the Purity focus here and remove ItemPurityFocus::onFocusBlockStartBreak.

@Override
public AspectList getVisCost(ItemStack itemstack) {
AspectList cost = new AspectList();
cost.add(Aspect.ORDER, 20);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.2 Ordo seems way too cheap. Not using terra or aer when those are the aspects used to craft it also seems odd. Maybe 100 (for 1 vis) Terra and 50 (0.5 vis) Aer would be a bit better. It should also probably be configurable.

import thaumcraft.client.renderers.tile.TileNodeRenderer;

@Mixin(TileNodeRenderer.class)
public class MixinTileNodeRenderer {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is rendered even without Goggles of Revealing. Was that intentional?

public ItemIsolationFocus() {
setUnlocalizedName(BlightBuster.MODID + "_" + BBStrings.isolationFocusName);
GameRegistry.registerItem(this, BlightBuster.MODID + ":" + BBStrings.isolationFocusName);
setCreativeTab(CreativeTabs.tabMaterials);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other BB items are in Thaum's creative tab.

Suggested change
setCreativeTab(CreativeTabs.tabMaterials);
setCreativeTab(Thaumcraft.tabTC);

}

@Override
public int getActivationCooldown(ItemStack focusstack) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still triggers the cooldown for every left click, even when not actually used to isolate a node. I thought maybe adding WandManager.setCooldown(player, 500) to onEntitySwing after node.setIsolated would work, but it seems to only apply the cooldown for 1 tick before it is overwritten by something else, so I'm not sure what the best way to solve this would be.

@Override
public FocusUpgradeType[] getPossibleUpgradesByRank(ItemStack itemstack, int rank) {

return new FocusUpgradeType[0];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No Frugal?


tc.research_name.ISOLATIONFOCUS=Wand Focus: Node Isolation
tc.research_text.ISOLATIONFOCUS=Keeping nodes safe!
tc.research_page.ISOLATIONFOCUS.1=You have created a focus that can isolate aura nodes, protecting both the node and the surrounding environment. The node will be immune to the effects of taint, and the environment will be immune to any of the node's special effects.<BR>You will be unable to draw vis from the node while it is isolated, so it is not a permanent solution.<BR>Left-clicking a node with a wand equipped with this focus will toggle the isolated effect.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
tc.research_page.ISOLATIONFOCUS.1=You have created a focus that can isolate aura nodes, protecting both the node and the surrounding environment. The node will be immune to the effects of taint, and the environment will be immune to any of the node's special effects.<BR>You will be unable to draw vis from the node while it is isolated, so it is not a permanent solution.<BR>Left-clicking a node with a wand equipped with this focus will toggle the isolated effect.
tc.research_page.ISOLATIONFOCUS.1=You have created a focus that can isolate aura nodes, protecting both the nodes and their surrounding environment. Isolated nodes will be immune to the effects of taint, while the environment will be protected from any of the node's special effects.<BR>Isolated nodes will also be cut off from the local aura, preventing their regeneration and wands' ability to draw vis, so it is not a permanent solution.<BR>Left-clicking a node with a wand equipped with this focus will toggle the isolated effect.

.setPhase(Phase.LATE)
.addMixinClasses("MixinTileNodeRenderer")
.setApplyIf(() -> true)),
ADD_NODE_STABILIZER(new Builder("Add node isolation functionality").addTargetedMod(TargetedMod.THAUMCRAFT)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably also be renamed to match the focus's actual name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants