Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a crossbow or similar ranged item #2570

Closed
rzats opened this issue Oct 25, 2016 · 4 comments
Closed

Implement a crossbow or similar ranged item #2570

rzats opened this issue Oct 25, 2016 · 4 comments
Labels
Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Good First Issue Good for learners that are new to Terasology

Comments

@rzats
Copy link
Member

rzats commented Oct 25, 2016

Description

Terasology has a railgun item that allows players to destroy the environment in a series of over-the-top explosions! The goal of this issue is to create a smaller-scale version of the railgun potentially allowing players to destroy environmental objects as well as NPCs.

Definition of 'Done'

A crossbow item is added to the game's Core module, building off the existing railgun while adding the following:

  • An appropriate icon. Instead of a crossbow you can use any ranged weapon of your choosing - longbow, sling or something even more creative 🙂
  • A maximum range for the crossbow's projectile.
  • A crafting recipe or quest to create the crossbow - this could be as simple as gathering a few resources and having them in your inventory.
  • [Optional] An ammo system - the crossbow uses projectiles from the player's inventory to fire and can't be used if none are available. The projectiles will also need to be created from a crafting recipe.
  • [Optional] Allow the explosion effects from the crossbow to hit NPCs and other non-block entities. This is the trickiest part and fairly low-priority, so it can be completed separately.

In the future, the crossbow may need to be integrated with the physics-based combat system (see #2072) - however, until that's finalized, it can remain a standalone item along with the railgun and TNT.

Required skills

The issue involves working with the game's codebase and requires intermediate level Java skills. Some knowledge of Terasology's asset system is helpful but can be learned as you go along.

Where to start?

  • Review the Add New Item tutorial for information on how to add new items and test them in-game.
  • As mentioned previously, the crossbow should be based on the existing railgun item. Any additional in-game logic will need to be added to the org.terasology.logic.actions package in the Core module.
@rzats rzats added Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Good First Issue Good for learners that are new to Terasology Hacktoberfest labels Oct 25, 2016
@rzats rzats added this to the Alpha 6 milestone Oct 25, 2016
@rzats rzats removed this from the Alpha 6 milestone Oct 25, 2016
@nickdex
Copy link

nickdex commented Oct 26, 2016

Hey, I would love to work on this. This is my first time contributing to a project so I might fumble with things a bit.
For the issue please check the checklist below

  • Fork the repository to local machine.
  • Follow steps from this link to add a new item.
  • Base its charecterstics on Railgun.
  • Create a crafting recipe for it.
  • Do the optional steps.

Any links to helpful pages are appreciated.

@skaldarnar
Copy link
Member

Hi @nickdex the checklist looks good for a start. With the tutorial on creating a new item and the railgun prefab at hand you pretty much have everything you need.

You can start working on it in your fork and open a PR whenever the first steps are done, e.g., you've created a new item based on railgun. Look at other assets for items and tinker around with it. You can update a PR whenever you want, and it's a great place for discussion.

A crafting recipe or quest would likely be integrated with an existing module, e.g., Equipment, GooeysQuest, or Josharias Survival. Start simple, we'll come this later :-)

@nickdex
Copy link

nickdex commented Oct 26, 2016

That would be pretty good, I didn't know that I could update PR later. Thanks for the info :)

@rzats
Copy link
Member Author

rzats commented Dec 13, 2016

(Belatedly) closing as completed by #2640!

@rzats rzats closed this as completed Dec 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Good First Issue Good for learners that are new to Terasology
Projects
None yet
Development

No branches or pull requests

3 participants