Tetra

Tetra

12M Downloads

Modular crossbow

mickelus opened this issue ยท 27 comments

commented

Caveats, suggestions, bugs etc related to the crossbow, gathered in one place while it's work in progress. Comment on this issue for anything crossbow related instead of creating a new issue.

Known issues:

  • incorrectly positioned while loaded
  • does not point at target in 3rd person
  • renders above the camera in 1st person while reloading
  • it's not possible to apply enchantments
commented

Crossbow modification/addon propositions:

1.Crank - you can make the crossbow automatic by the cost of less power, but not being able to use scope mod/addon

2.Flywheel(crank required) - it would make the crossbow speed up as you fire allowing for higher speeds than with just a crank, but making it break(durability) faster or jam at some point and make you slower

3.Magazine that stores the arrows

I took a loot of inspiration from the hobbit battle of five armies repeating crossbow

commented

So I recently had a possible idea for crossbows;

Perhaps a grappling hook addon? It would require a pickaxe of any type to craft, sacrificing it's ability to be a weapon. It could work similarly to how Grappling Hook mod handles their grapples. In theory, you could swing are obstacles. The type of pickaxe used could also determine the quality of the grappling hook, where the lowest quality of pickaxe would have the least range and could ungrapple easily. Contrast to this, netherite or greater would have the most range and would never ungrapple.

commented

I did not read through to see if this is suggested yet, but I'd like to see telescopes as a mod material item to allow a zoom function for crossbows and bows

commented

I did not read through to see if this is suggested yet, but I'd like to see telescopes as a mod material item to allow a zoom function for crossbows and bows

I agree with this. The sight module for the bow could also have a sight GUI with somewhat accurate adjusted pins image
but instead of yards a rough estimate where it would land in blocks(meters)

commented

Alright, this here's damn near an essay, but bear with me. Some concepts for crossbow modifications have occurred to me recently, so I figured I may as well share them, and wagered that a good place to start was with the ever-present idea of a grappling hook. Obviously, for the crossbow, some differentiation from the capabilities of bows is needed, and the utility direction is an excellent one to take; but, it's also important to avoid making the crossbow so powerful in this regard that it becomes an obligatory addition to one's arsenal, or else it may reduce the metagame of play from experimentation to stale repetition. So, then:

Grappling Hooks & Pitfalls

Although it is a frequent suggestion both here and in the discord server, I wouldn't advise the grappling hook option - or at least, not as a traversal tool. Generally speaking, there are two ways to handle grappling hooks as a form of movement: If it's the sort of grappling hook which can reel the player towards wherever they shoot, it trivializes most forms of climbing, and makes it incredibly easy to escape hairy situations while exploring caves and the Nether; yet, it also makes it incredibly frustrating to scale up onto ledges, as the sharp, perfectly aligned cubic edges of environmental blocks and the player's collision box mean that there's no leeway for fenagling around blocks that are in the way of pulling yourself vertically - if your collision box is even slightly underneath a ledge that's in your way, you can't rise past it at all, unlike a capsule collider which would at least have some ability to slide over to a better position. Meanwhile, if it's the sort of grappling hook which simply allows the user to swing around at whatever length the cord has at the time that the grapple connects, then it would offer very little in the overworld outside of structures made for swinging, then spike up to being highly valuable in the Nether where harsh cliffs and moderate-height overhangs to swing off of suddenly become plentiful, and then finally offer almost nothing in the endgame, as a swinging grapple doesn't really do much that can't be achieved with an Elytra. Even beyond that, the mere existence of the Multishot enchantment makes coding a terrain-grappling system onto the crossbow far more troublesome, not to mention the additional headache of working out how it might handle things like the cord wrapping around blocks, or how it may interact granularly with other movement options that have lingering effects, such as active Elytra, and the hover ability of the Belt's Booster module. Simply put, Minecraft's world generation makes for a troublesome usefulness curve with regards to grappling hooks as a traversal option, and the preexisting mechanics of the crossbow and of player movement in general make for a troublesome path to implementation.

Grappling Hooks & Possibilities

That said, grappling hooks as a combat tool, presented as somewhat of a spin on the fishing rod's ability to hook and pull mobs, shows more promise in terms of both game balance and coder practicality. In vanilla Minecraft, the fishing rod offers in-game precedent for the ability to pull targets closer, even if it's in a clumsy, early-game sort of form; but, it's hard to justify keeping a rod in your limited hotbar while exploring dangerous areas, especially when the other ranged options on offer are leagues more consistent, both in their ease of aim and in their ability to actually deal direct damage on their own. Despite these troubles, however, the appeal in pulling enemies closer is clearly there - being able to reel in enemies which try to keep some distance, such as skeletons and pillagers, offers a benefit which melee-focused players may be interested in dipping into ranged weaponry for. It allows for a means of more quickly closing the gap, particularly one which demands greater player involvement and practice than simply boosting one's own movement speed or melee weapon reach. Fights where a large pit exists between the player and a ranged enemy, such as skeletons perched up on the shady upper ridges of an underground ravine, would have a somewhat rare, but far more satisfying conclusion, if only one could simply pull the offender forwards with their bow or crossbow, rather than knocking them back against the wall. Right now, what makes these possibilities non-viable in the base game is little more than the fishing rod's unreliability as an actual combat tool - so, by wrapping that utility into a crossbow modification, particularly one which sacrifices some of the crossbow's raw damage output in favor of adding some tempered form of the rod's situational utility, we can make it far more viable for players to tap into the combat options and playstyles that the fishing rod's pull could offer.

As for the particular mechanics of this pull for the crossbow, there are a couple options that I've considered, but the simplest (and, I would wager, the best) is to start from the basis of mirroring the fishing rod's pull as closely as possible. In this version, projectiles fired from the modified crossbow would start out with a visible tether leading from themselves to the player. Upon hitting a targetable entity and sticking in it (such that arrows fired by a piercing crossbow will only activate on a hit that exhausts their piercing capability), the projectile's end of the tether is transferred to that target. Regardless of whether or not the projectile(s) have landed yet, from the moment the shot is fired, swapping to another slot in the hotbar will break the tethers; but more importantly, beginning to reload the crossbow will sharply tug any tethered entities slightly upwards and towards the player, breaking the tethers in the process. This way of handling the grapple offers many notable advantages:

  • Player intuition - Does not add new inputs, nor vastly change the pattern of player inputs necessary to use the crossbow effectively
  • Player intuition - Closely mimics known behavior and controls of the fishing rod, offering a reference point for the ability's behavior and usage
  • Heightened skill cap - If the fired projectiles themselves are treated as something that can be "pulled" for as long as they have yet to transfer their tether, this allows for trick-shots: An arrow/firework/etc. which is fired in one direction before being pulled mid-flight to redirect its trajectory, an arrow which is shot into the ground and then pulled back out with the tug in order to hit a passing target as a manually-triggered trap, etc. (Theoretically, one might even be able to do things like deflect a ghast fireball with an arrow, tether it in the process, and then dive past another enemy and yank it towards them; options are plentiful for over-the-top, stylish maneuvers)
  • Risk/reward - Pulling mid-flight projectiles back towards yourself naturally poses a risk, but one that can be mitigated with careful movement and timing, and even leveraged to one's advantage in ways that few other weapons can manage
  • Endgame versatility - The additional movement option of Elytra can combine with the tug's direction-lock towards the player in order to allow for highly nuanced pull directions
  • Endgame versatility - The ability to craft tipped arrows after the Ender Dragon fight lends the winch some additional utility, as an arrow tipped with a positive effect can be quickly yo-yo'ed into the user, sacrificing some health in order to trade the wait of actively drinking a potion for the freedom to reload at some other, more convenient time
  • Balance point - Locking together the pull's activation and the start of the crossbow's reload will limit spam of the ability, prevent one from building up too large a number of simultaneous tethers, and offer an additional tactical component/balance point, as waiting for the perfect moment to pull the line back will cost the player time they could spend reloading or using other items
  • Material compatibility - This implementation leads to only one new crossbow variable which is visible to the user (the impulse of the pull), which makes for relatively simple material-to-item-stat conversions, and offers the user a more intuitive understanding of the effect different materials will have on the module's effectiveness
  • Ease of code production - Does not add extra states to the crossbow (empty/loading/loaded); just adds behaviors/coroutines to the preexisting states

I think that's about all I've got in me right now, but if anything else occurs to me on this particular topic, I'll be sure to add it, and if anyone has thoughts to share, I'd be happy to hear them. Apart from that, I've got a fair few other ideas floating around for crossbow modules in general, so chances are high I'll swing by with another unrequited essay some time in the future.
Cheers, y'all.

commented

Dropping by to drop some thoughts about what else to stick in each module slot:

Staves:

  • Standard Stave: Worth mentioning, even though it's the defaults.
  • Double Stave: Counterpart to the Long Stave for the bow. Draw time is worse, but velocity and damage are improved. (May give armor piercing?)
  • Compound Stave: Counterpart to the Recurve Stave for the bow. Dramatically faster draw time and slightly better velocity, but integrity usage is worse and damage is reduced (making it more useful for utility builds). Requires a schematic.
  • Short Stave: For quiet takedowns on distant targets Whoops, this isn't Deus Ex ๐Ÿ˜œ. The Short Stave is an early-game option for fast draw on the crossbow, with reduced damage and accuracy. Like the Compound Stave, it's more useful for utility builds. Not as integrity-hungry as the Compound Stave, either.

Stock

  • Standard Stock: As with the Standard Stave, this would be the default.
  • Repeater Stock: The cooler Standard Stock. Loads multiple arrows, firing one with each click. Requires a schematic. Suffers from increased spread. Flexibility reduces the cooldown between shots, Hardness increases capacity (so that you can build for one or the other, but not both).
  • Grapple Stock: Features a rope and winch assembly for yanking yourself or others in new directions. No major stat changes from the Standard Stock, other than a slight integrity penalty.
  • Potion Launcher: Flings potions instead of arrows! Much less accurate than the standard stock. Damage and velocity are also lower, but not so low that the launcher is less effective than your hands.

Stirrup

  • Standard Stirrup: As normal.
  • Bayonet: The crossbow deals damage equivalent to a Shortblade with a blade of the bayonet's material on swinging it at someone. Can be serrated or tempered as well, but can't be given a hook, can't be used to Jab, and can't receive any of the other upgrades that other parts of a shortblade might get.
  • Decocker: Shift-clicking with the Crossbow unloads it without consuming durability or firing the loaded shot. Useful for potion launchers and tipped arrows.

Accessory

  • Potion Reservoir: Automatically tips any standard arrows you load into the crossbow. Costs a Potion of whatever type you intend to dip the arrows with. Not sure if it should run out or not; potions are a pain in the ass to craft, and tipped arrows doubly so, which makes me lean toward "infinite" just because the relative cost of making potions is a thing I love to complain about. Not compatible with the Potion Launcher.
  • Torch Planter: Converts the crossbow into a torch launcher, letting it load torches in place of arrows. (Possible interaction with Potion Stock: potions are placed as landmines?) Firing a Chthonic Extractor with this upgrade places it instead of mining with it. Alternatively, this upgrade could simply make the crossbow load any block, which could have some fun interactions...
  • Loading Crank: Costs a lot of Integrity, but makes reloading considerably faster. Flexibility increases the reload speed bonus but reduces damage output.
  • Scope: Self-explanatory, would function just like the Bow's Sights mod.
commented

As for how to handle the grappling mechanics, there's a whole other mod that has you covered, complete with wrapping around terrain.

commented

Compatibility with Crossberverhauls ammo types and/or stat changes?(https://www.curseforge.com/minecraft/mc-mods/crossbowverhaul)

commented

crossbow might benefit most from a scope

commented

I could see something similar to the Rattler in Horizon Zero Dawn come in to play here.

Stave: Boltcaster
= Arrows loaded instead turn into a magazine of Bolts which shatter on hit
-- Semiautomatic fire: amount of arrows scales with level
-- Bolts deal lesser damage, Tipped potion applications are the same
-- The crossbow fires faster, but new bolts cannot be loaded until the magazine is expended
-- Crossbow can no longer load fireworks

This would take a middle-ground between tipping arrows infinitely, adding magazine modules and other things. The boltcaster stave could be utilized by an Alchemist to apply potion effects multiple times. This would come especially handy with arrows of harming or healing when fighting various mobs. Being able to reapply statuses like slowness / weakness to a singular target while fighting in melee combat could also have its uses.

commented

I typically run something like NoDamI alongside Tetra specifically to get rid of Minecraft's soft i-frames. They're mainly a holdover from when combat was purely click-spamming anyway.

I don't recall everything about bow scaling, unfortunately, so I don't remember if flexibility is just draw speed, or if it also affects damage.

commented

Re: the Boltcaster, I'd have the amount of bolts scale with either hardness or density--similar to my repeater magazine concept, I think you should be able to build for speed or capacity, but not necessarily both without high-tier metals.

commented

@Derpford I mostly agree.

I'm not sure about how speed scaling would work, since Minecraft has invincibility ticks which might prevent too much rapid fire from dealing damage. But I feel like some analogy would work here. (increased magazine capacity could come with reduced damage)

When thinking about the idea, I imagined that the boltcaster would have a magazine capacity between 3 to 5, since it would increase the amount of tipped arrow application per craft from 8 to 24~40. Basically I feel that the boltcaster should act as a tipped arrow application utility, rather than pure speed or damage machine (unless youre using harming / healing arrows)

commented

Idea re: the previous idea of modifying it into a traversal tool
different materials for strings/ropes for using it like a grappling hook, I'll leave the stats up to your discretion:
String (vanilla), Rope (support for modded ropes from several mods, such as Farmer's Delight and Supplementaries), Dragon sinew, Twisting vines and Weeping vines (vanilla)
Possibly could require upgrading the rope to make it longer, as well as possibly adding wool to decorate it (similar to handle wraps)

commented

would having a sort of conversion for the crossbow into more of a travel tool/hookshot/a modification to change it into more of a tool and less of a weapon? (unless having it still damage and pull enemys to the player is a cool enough concept)

commented

I definitely want the crossbow to be more technical and focus more on utility compared to the bow.

commented

hmm torch and end rod shooting for placing lights plus some cool effects? shoot blaze rods like the crossbow in hl2 shoots heated rebar?

I'm guessing for larger long things that are not arrows (like torches and grapple hook harpoons) it would be better to have a large crossbow variant?

commented

Recently noticed the Rope Bridge mod over on Forge. I am not suggesting cloning it's behavior in the slightest, but I think that kind of utility would be a good direction to lean into for the crossbow as a tool.

Ex. 1. To place ziplines that the crossbow can then click to ride? Similar to Immersive Engineering's skyhook but less easy to die on. Or use it to shoot an arrow with a rope 'tied' to it, as kohlth noted with 'grapple hook harpoons'.

Ex. 2. Use it to lob offensive potions at targets at a greater distance. This also creates a new use for the potion storage attachment on the belt, as it could store the ammo effectively.

commented

Might I recommend changing the way in which material properties affect the arms of a crossbow? Historically, metal arms were used for crossbows as soon as steel became widely available, but due to the way flexibility currently affects the weapon (increasing strength, rather than reducing it as it should), that's not really the best or even a viable choice in Tetra. To add on to that, one of the upgrades for the "attachment" slot could be a winch to facilitate drawing crossbows with otherwise untenable draw times, much like actual heavy crossbows.
Also, purely semantic, but the "stave" portion should probably be called the "prod" on the crossbow.

commented

Some firework crossbow-related stuff

Currently, dunno if this a bug or not implemented yet (my bet is latter one), but Tetra crossbows do not work with fireworks rn, which is a vanilla crossbow feature. While this most likely will get added in future, it might be interesting to create several types of crossbow, such as:

  • Basic Crossbow Groove (Arrows + ?Rods/Torches?)
  • Wide Crossbow Groove (Rockets + ?Grappling Hook?)
  • Basket Groove (?Potions?)

This is definitely not final, but the idea is there.

commented

One could add a bayonet slot with the crossbows, allowing you to decently melee attack with it (think it as shortsword damage) while having the utility of the long range crossbow.

I believe the big issue with crossbow is as follows: It fills the same niche as the bow, although inverted, as a long range weapon option; and there is not enough accessible specialized niches or ammunition types to make it unique enough as worthwhile in comparison to the bow.

My suggestion would be having dedicated ammunition. Armour piercing bolts (Lower damage than arrows, but higher penetrative power, hardness and flexibility synergy?), Torch bolts (When an arrow hits the target block, it creates a torch, Blaze Rod stock module synergy?), Teleporting shots (When an arrow hits the target block, it teleports the player. End rod stock module synergy?).

Tetra's bolt ammunition could have dedicated durability, which can be replenished (repaired) by the use of the materials its made out of.

commented

Repeating crossbow my idea is load two arrows load one first and its inactive untill load a second arrow and the first arrow fires at the end of the second load each time you load an arrow it fires the other arrow effectively letting you hold down right click fireing arrow after arrow perhaps you can expand this idea to you own discretion

commented

A scanner bolt ammo type could be really neat. in a radius around where the bolt lands, it would ping ores, containers (chests), and/or mobs within a given radius around it with icons showing what they are.

commented

The scanner bolt wouldn't be unique to crossbows however; I don't see why it should be exclusively for crossbows at least.

commented

roller wheel limbless crossbow

commented

One thing I really loved about how SilentGear implements crossbows is the ability to tweak both the draw-time, arrow speed and arrow damage. I think it might be a good addition to the tetra crossbows if you could increase arrow speed or decrease draw-time at the cost of durability or maybe even arrow efficiency (using more arrows than you shoot, but firing more rapidly and dealing more damage for example)

commented

Maybe like bows, you can modify it with an extra, optional module that you can either add a scope, a limb adjuster, a stock (to increase movement speed while loading up) and a rotating barrel chasis (to increase damage dealt but decreases durability)