This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Tortuga/todo.txt
T
2014-06-15 22:24:50 +10:00

46 lines
1.6 KiB
Plaintext

TODO: rename restart scene to cleanup scene
TODO: encapsulate the data structures
TODO: Get the rooms working
TODO: Authentication
TODO: server is slaved to the client
TODO: I completely forgot about status ailments
TODO: Time delay for requesting region packets
TODO: command line parameters overriding config.cfg settings
--Battle System--
TODO
--Requirements--
The enemies need AI scripts
The scripts need to be able to generate other enemies (frog king).
The characters need a flag to show if they're in a combat instance or not, to signify of they should be unloaded client-side
On each game loop, the server should envoke each combat instance's update function
Each combat instance invokes each enemy's and character's update functions
These update functions increase the ATB guagues
if an ATB guage is full
than the stored command is executed
the players issue their commands during the build up
if there isn't a command ready, then the player is still choosing
for the enemies, the stored commands are driven by scripts, so when the enemies need to attack, their attached scripts are called.
after the commands are called, the ATB is reset to 0.
etc...
--Enemy API--
enemyTables -- The global store of enemy tables. Only accessed by C++ code (unless you want to break something).
enemy.new(parameters) -- return a new enemy object
table.logic: the AI logic. If null, do nothing
table.ref: reference to the enemy itself, for use by API functions, set by constructor?
combat -- the combat API
combat.new(mapIndex, x, y) -- return combat instance's index
combat.pushenemy(c, enemy) -- return the enemy's position
combat.popenemy(c, position) --