Teardown

Teardown

40 ratings
Enchanter
2
   
Award
Favorite
Favorited
Unfavorite
Type: Global
Category: Tool
File Size
Posted
Updated
1.515 MB
28 Sep @ 9:55am
4 Oct @ 10:47am
4 Change Notes ( view )

Subscribe to download
Enchanter

In 1 collection by Geneosis
Geneosis' Creations
26 items
Description
Apply and dispel enchantments on any object.

Now in v1.1.1! (see full patch notes)

- Merlin, is that you?
- Nah, I defeated him a while ago...

TOOLS
- Enchantments: You have the ability to enchant objects.

KEYBOARD CONTROLS
- [LeftClick]: Enchant target.
- [MiddleClick]: Disenchant target (hold for all).
- [K]: Clear current enchantment (hold for all).
- [T]: Change enchantment (hold).
- [X]: Add/remove to selection (hold for many).
- [Shift]+[Scroll]: +/- 1 enchantment level.
- [Ctrl]+[Scroll]: +/- 0.1 enchantment level.
- [O]: Open options menu.

CHARACTERISTICS
- Different enchantments can be applied to the same object.
- Some enchantements have a configurable level which determines how strong it is.
- Applying the same enchantement on an object twice will only update its level.
- When multiple targets are selected, the next enchantment/disenchantment action will apply to all of them.
- Each enchantment has its own effect:
-- Unbreakable: The object is immune to any kind of damage.
-- Explosive: The object will explode if broken and lose explosive. Level scales explosion radius.
-- Fragile: The object will break on movement or damage and lose fragile.
-- Decaying: The object will slowly deteriorate. Level scales destruction area.
-- Slow: The object will slow down more than usual. Level scales slowness intensity.
-- Charmed: The object will move torward the player. Level scales how close it will stay.
-- Feared: The object will move away from the player. Level scales how far it will start to flee.
-- Petrified: The object cannot move.
-- Wet: The object cannot catch on fire and put out fire on objects close by or below.
-- Iced: The object is slippery.
-- Ignited: The object will catch itself and nearby objects on fire.
-- Bouncy: The object will bounce on impact. Level scales bounce factor.
-- Attractive: The object will attract nearby objects. Level scales attraction radius.
-- Repulsive: The object will repel nearby objects. Level scales repulsion radius.
-- Gravity: The object will have a custom gravity. Level scales the gravity.
- Some enchantments may lag if applied to too many objects (attraction/repulsion especially).
- Bouncy and Iced effects work better if you enchant both the object and the floor below it.
- Unbreakable + Decaying:0.4 + Attractive:10 = Your own little black hole! (you my want to add Petrified...)
- Petrifying a wall and then disenchanting it will make it a movable object... It also works with the ground, try not to abuse that ;)
- For gravity a value of 1 is regular earth gravity, any other value is a multiplier of that, negative goes up.

KNOWN BUGS
- Applying explosive to a broken object may explode it immeditely: this behavior is from the main game, so i can't help it.
- Decay gets really slow if you apply it to many objects: this is intended as a way to reduce lag.
- You might get launched by attracted/repulsed objects: be careful near them.
- The object you enchanted got launched into oblivion? You can still use the clear button to remove its enchantments.

DEV NOTES
Originally posted by About this mod:
Well it's been a while since my last TD mod, I was hoping the multiplayer update would be out by the time I started this mod, but it turned out it was still relevant even without it, so here we are :)
The core idea I had for this mod was to basically rely on tags to apply various kind of effects to objects in the game (and potentially to players as well, but I skipped that part for now).
As you may have noticed this mode reuse a lot of things from a lot of me earlier mods, and tries to make them a bit more user friendly.
As you probably know unbreakable and explosive are native tags handled by the game itself, so that part was pretty straight forward.
In the same vibe ignite use the existing function to spawn fire all around the object with some custom particle effect and petrified use the native function to set objects static.
The ice and bounce effects are actually features from the game engine now, I just had to set the appropriate property to get them to apply to any object.
You may recognize a few features from the Singularity mod that you can now stick onto existing objects instead of having to bring the Singularity bubble with you.
One of the most unique features here would be the decay one, still I believe people on the workshop already made similar interactions ans it is mostly using the MakeHole function to slowly grind at one object in particular.
Fragile was also a bit tricky to implement as I wanted to make the object break when you touch the object, or when you hit it with a weapon that is not strong enough (eg: hammer on a wall), sadly there is no real way to detect this kind of interaction in the game :/ So I had to fallback to a less satisfying but still good enough detection method using either the object movement or the destruction of any voxel of the object as a trigger.
Another part was a bit of a headache: the ability to apply enchantements to building (static objects). It may sound a bit technical but the way the object are structured in the game make it so that the "body" of all static objects is the "world body", and as I wanted to attach my enchantement tags to a body in order to be able to move it around for some of the features, I could not possibly apply them directly to the world body as it would affect the whole map at once!
Hopefully I rememberd that I had to deal with that kind of stuff when I worked on the Blight Gun mod: in that mod I keep moving shapes from one body to another in order to make the blight "move" and stick to other objects. So I was able to reuse part of that code in order to give a brand new "body" to any building element you try to enchant: this way it is possible to enchant even static objects without breaking the game ;)
25 Comments
goga736 6 hours ago 
i like your mods!!!
TylrJsphSmth 5 Oct @ 5:12pm 
Fair enough! your DBZ mods are amazing too. Hopefully we get a beerus one someday
Creeperneekio111 5 Oct @ 10:26am 
The group selection is really good! Now I can make an entire house of bouncy objects! :steamthumbsup:
Portal Hollow 5 Oct @ 9:03am 
Bindings are well strange.... and hard to set up
Geneosis  [author] 5 Oct @ 1:54am 
@TylrJsphSmth: I'm pretty sure we have a bunch of those mods already ;) Here I wanted to focus on abilities you can attach to objects ^^

@Portal Hollow: Do my bindings not work with controller buttons? (I honnestly didn't have a chance to test them) You should be able to rebind anything from the mod section of the main menu.
Portal Hollow 4 Oct @ 3:27pm 
Controller support would be a nice touch
TylrJsphSmth 4 Oct @ 3:02pm 
Honestly you should just go all in and make like a Wizard spell mod
Geneosis  [author] 4 Oct @ 10:27am 
Mod updated! Now with a brand new Wet enchantment for those who prefer to stop fires ;)
Also added a group selection so that you can enchant/disenchant multiple targets at once!
see full patch notes
Geneosis  [author] 4 Oct @ 8:49am 
@AntonisPallas: Ignited will keep the fire going on the object you put it on for sure! (until it's consumed). But keep in mind that the game has a global limit on fires so even if you put Ignited on many things only a few may get big fires...

@Creeperneekio111: That makes a lot of sense, I can probably add that.
PowerHail426776 4 Oct @ 6:44am 
yeah