From 2e8a47479263a9abc4e9fe5ef293e40bee4e571b Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Thu, 29 May 2014 00:30:25 +1000 Subject: [PATCH] Committing todo.txt --- todo.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 todo.txt diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000..f03386a --- /dev/null +++ b/todo.txt @@ -0,0 +1,39 @@ +TODO: I need to keep the documentation up to date. Namely, the GDD is getting out of date. +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) -- +