Wednesday, August 19, 2009

Status Report: Combat System

Not much to say right now. I've picked up the combat system and I have it about 10% complete. The data-handling step of the combat engine is a real doozey. For example, here's the print_r() output for $COMBAT["cohort"][0] for an example cohort:


            [0] => Array
                (
                    [id] => 1
                    [hp] => 30
                    [sp] => 10
                    [initiative] => 11
                    [type] => human
                    [attack] => SimpleXMLElement Object
                        (
                            [min] => 1
                            [max] => 4
                            [properties] => SimpleXMLElement Object
                                (
                                    [prop] => martial
                                )

                            [closerange] => 1
                            [midrange] => 0
                            [farrange] => 0
                        )

                    [stats] => SimpleXMLElement Object
                        (
                            [str] => 14
                            [dex] => 10
                            [con] => 12
                            [int] => 10
                            [wis] => 10
                            [cha] => 10
                        )

                    [friendly] => 1
                    [ident] => $GCHAR["d_data"]->cohort[0]
                    [flag] => 1
                )


Looks easy enough, but the fact that I had to generate an identifier (used in scripts ran via gfmodulec) should indicate how process-intensive this is going to be. The "flag" is used in generating the Target field for User Input; nothing more. The player has a flag 0, each cohort increases it by 1, and the enemies continue where the cohorts leave off. Friendly helps determine whether or not to let the player cast healing spells on the target.

And now I return to my text editor.

No comments:

Post a Comment