Proposal for new events and conditions!

Avatar

By bitcraft 7 Jul 2016 21:29

Champion · 167 comments

Hi everyone.  I hope you've noticed the new battle system, and the fact that items are working.  Soon it will be possible to target individual items and monsters.  In preparation for new functionality, I'm going to be opening issues on the github for new events to use.

For anybody interested in making maps and campaigns, this is an opportunity to speak up and give suggestions about what would be useful to you.  If you want an action to shoot fireballs, then let use know!  Or how about flying?  (I'm not serious about those, btw).  If you can, open an issue on the github page, or feel free to discuss it here.  One of the github members can open it for you.  If you are not on github, you don't need permission on open an issue: join github and open an issue on the Tusemon page.

For programmers, or those who want to learn while working on Tuxemon, there will be a nice list of smallish issues to be completed.  For the .5 release, I'd like to see more events for scripters, map makers, and programmers to use to extend Tuxemon and make it more interactive.

I realize that there is maybe no ideal place to just get started, so I invite you to checkout the wiki and watch some of ShadowApex's videos on Tuxemon development.  I'm also open to setting up a live stream or google hangouts if people want to join and ask me questions or do some pair programming.  I've worked on much of the inner workings and might be able to help you out if you need some pointers or just want to ask a question and get an answer in real-time.  I live in USA, and I've available generally between 5-12 CST.  If the community (or individuals) want to chat with me, let me know and we can arrange something.

Finally, just for your consideration, here are some ideas I have for events.  If you don't know about them, events are a part of the game engine that can be invoked from anywhere, even from the map.  Adding tuxemon and opening dialogs are some example events.  Conditions are checked once per frame and you can use them to determine when to execute actions.

Be sure to check out the links at the bottom of this post, and feel free to discuss them here, or open issues on github, or lend a couple hours and program them.  big_smile


Proposals for Actions:
* modify_npc_amount(npc, attribute, value): increase or decrease an attribute
* change_npc_amount(npc, attribute, value): set the attribute to something
* modify_npc_percent(npc, attribute, value): modify by a percent
* change_npc_percent(npc, attribute, value): set value to percent of original value
* apply_status(npc, status): poison, etc
* remove_status(npc, status)
* use_technique(source, target): use some technique on an npc
* use_item(npc, item): use an item and remove it from the inventory
* swap_monster_order(monster1, monster2): change places between these monsters
* move_monster_front(monster): move the monster to the front of the order

For more useful dialogs:
* change_text_color(color)
* add_option(label): options will be added to a list and give player chance to pick them inside dialog

Proposal for Conditions:
* has_item(item): check if npc has some item
* combat_won: if last combat was a win
* combat_lost: if last combat was a loss
* captured_monster: if a monster capture device worked
* inventory_full: if a npc/player inventory is full
* monster_faint: when a monster faints


Glossary:
attribute: HP, and other stats
npc: all "players", including NPC and the human players


In the next couple weeks, I will begin to collect input and start adding these features as issues on github for myself and others to implement, program, and add.  I'm looking forward to your comments.


Links:
https://www.youtube.com/channel/UC6BJ6H … 8wzcYhDU3w

https://github.com/tuxemon/tuxemon/wiki

https://docs.tuxemon.org/core.component … submodules

https://docs.tuxemon.org/core.component … tions.html

Avatar

By xirsoi 10 Jul 2016 13:45

Champion · 66 comments

This is awesome. I've felt very intimidated by the whole project and have found it difficult to wade into any of the issues given. Bite-size things to tackle sound like a great place to get started!


Avatar

By ShadowApex 12 Jul 2016 20:01

Lead Developer · 374 comments
bitcraft wrote

I'm also open to setting up a live stream or google hangouts if people want to join and ask me questions or do some pair programming.  I've worked on much of the inner workings and might be able to help you out if you need some pointers or just want to ask a question and get an answer in real-time.  I live in USA, and I've available generally between 5-12 CST.  If the community (or individuals) want to chat with me, let me know and we can arrange something.

I would also be willing to host a Google Hangout or live stream with bitcraft if anyone is interested to join.