Skip to content
This repository has been archived by the owner on Oct 27, 2022. It is now read-only.

Abilities #20

Closed
Byteron opened this issue Oct 16, 2018 · 8 comments
Closed

Abilities #20

Byteron opened this issue Oct 16, 2018 · 8 comments
Labels
proposal Proposal for new features or implementation changes topic:gameplay
Milestone

Comments

@Byteron
Copy link
Contributor

Byteron commented Oct 16, 2018

Discussion and implementation of abilities like healing, curing, regenerating and such for units.

I would approach it similar to the current implementation of attacks.
We have a base Ability Scene (plain Node with Script). For a new Ability, you add a new Node to the Abilities Node in UnitType and attach a script that holds the logic of the wished ability.
New abilities would be script only, extending from a base Ability.gd script to ensure basic functionalities/structure.

@Byteron Byteron added this to the 0.1 milestone Oct 16, 2018
@Byteron Byteron added discussion Things to be discussed feature labels Oct 16, 2018
@Pentarctagon
Copy link
Member

Will this allow more than just an ID? Or would I need to also define separate abilities for healing 8, 12, 16, etc?

@GregoryLundberg
Copy link

What about custom abilities? With custom attributes?

@Byteron
Copy link
Contributor Author

Byteron commented Oct 18, 2018

@Pentarctagon This would require to define new abilities for heal 8, 12, 16, etc.

@GregoryLundberg you could of course define custom abilities in a new yaml files.

An ability might look like this:

id:  custom_ability
name: custom
effects:
  - {
      sub: 1
      apply_to: damage 
      affect_self: false
      affect_enemies: true
    }

this would require some "effect" class / structure, but I don't see why that would not be possible.

@YeldhamDev
Copy link
Contributor

About yaml, here's a Godot asset to parse and read them: https://godotengine.org/asset-library/asset/254

@zozer
Copy link
Contributor

zozer commented Mar 19, 2019

We are aware of that library and have been using it. Its not in the master for a now since we are experimenting with a different approach right now and we are updating the scripts to godot 3.1 features

@Byteron
Copy link
Contributor Author

Byteron commented Mar 19, 2019

YAML was originally planned to be used for UMC, but when we use the godot engine for mod creation (which is the new plan) then I think of a simple inheritation approach.
Say, having a base Ability that a script can inherit from, and have UMC creators overwrite virtual functions in which the logic and values.

@Byteron
Copy link
Contributor Author

Byteron commented Apr 12, 2019

Updated, as YAML is ruled out.

@Byteron Byteron added topic:gameplay proposal Proposal for new features or implementation changes and removed feature discussion Things to be discussed labels Apr 22, 2019
@Byteron
Copy link
Contributor Author

Byteron commented Jun 7, 2020

Abilities are supported now.

@Byteron Byteron closed this as completed Jun 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
proposal Proposal for new features or implementation changes topic:gameplay
Projects
None yet
Development

No branches or pull requests

5 participants