On Fri, Sep 30, 2011 at 1:11 PM, Mike Caron <[email protected]> wrote: > On 30/09/2011 4:05 PM, James Paige wrote: >> >> On Fri, Sep 30, 2011 at 12:46:49PM -0700, Adam Perry wrote: >>> >>> Oh shooooooot, I was thinking that "read attack data" was an actual thing >>> :( >> >> Nope, I was confused if I said it was. Read enemy data exists, but was a >> bad idea. >> >>> Can it be an actual thing? Please? I will implement it all by myself. >> >> No. a "read anything data" command of any kind is a bad idea, and I >> deeply regret any existing command that works that way. >> >> A command that loads a specific piece of data is tolerable, because the >> underlying data format can change without requiring the plotscripting >> command to do unfortunate backcompat mumbo-jumbo. > > Adam, just to clarify, the "read enemy data" command is the moral equivalent > of doing something like this: > > void* theEnemy = ...; > int enemyHP = *(((int*)theEnemy) + 23); //I know the HP is 23 * > sizeof(int) bytes in, and assume it will never change > > I think it seemed like a good idea at the time, but we all know that > hindsight is 20:20. > > To maintain compatability in the future, the command will have to change to > something like: > > IF index = 23 THEN > RETURN enemy.HP > ELSE IF index = 12 THEN > RETURN enemy.sprite > ELSE ...
We juggle live grenades here. It is what we do. >>> Anyway, the only actual "read enemy data" I am using is the command >>> list. >> >> The command list? >> Oh, the attacks that an enemy can do? >> >> Hrmm... That is going to change massively when I do >> http://rpg.hamsterrepublic.com/ohrrpgce/Plan_for_enemy_AI_improvements >> >>> I will expose enemy elemental resists via a separate command >>> altogether. >> >> Yeah, if it is a separate command it should be okay :) >> >> --- >> James >> >>> On Fri, Sep 30, 2011 at 11:39 AM, Adam Perry<[email protected]> wrote: >>>> >>>> Semi-relatedly, I'm also planning to add a command to expose elemental >>>> resistances for enemies. I'm trying to use >>>> http://hamsterrepublic.com/ohrrpgce/nightly/ohrrpgce-source-nightly.zip, >>>> though, and it doesn't actually have yesterday's changes. (I'd use SVN >>>> directly, but I'm running into proxy issues.) >>>> >>>> More relatedly, are there plans to change the inner workings of read >>>> enemy data? This doesn't matter too much for a potential "enemy >>>> elemental resist as int" implementation, which can be changed if the >>>> other is, but it might affect my plans for the script I'm working on. >>>> >>>> >>>> On Fri, Sep 30, 2011 at 9:23 AM, Adam Perry<[email protected]> wrote: >>>>> >>>>> On Fri, Sep 30, 2011 at 8:53 AM, James Paige<[email protected]> >>>>> wrote: >>>>>> >>>>>> On Thu, Sep 29, 2011 at 08:13:10PM -0700, Adam Perry wrote: >>>>>>> >>>>>>> On Thu, Sep 29, 2011 at 7:56 PM, Ralph Versteegen<[email protected]> >>>>>>> wrote: >>>>>>>> >>>>>>>> On 30 September 2011 08:34, James Paige<[email protected]> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> On Thu, Sep 29, 2011 at 11:55:26AM -0700, Adam Perry wrote: >>>>>>>>>> >>>>>>>>>> On Thu, Sep 29, 2011 at 11:26 AM, Adam Perry<[email protected]> >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> I'd like to add in a few more plotscripting commands, but I'm not >>>>>>>>>>> sure >>>>>>>>>>> what files need to be changed. The obvious one is plotscr.hsd, >>>>>>>>>>> and I'm >>>>>>>>>>> sure I can figure out what to do there, but what other files are >>>>>>>>>>> involved? >>>>>>>>>>> >>>>>>>>>>> I'm not looking to do anything complicated; just getters/setters >>>>>>>>>>> for >>>>>>>>>>> things like door position and enemy attacks. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Actually, some research shows that enemy attacks are already >>>>>>>>>> exposed >>>>>>>>>> (albeit via the arcane "read enemy data" command). So that's one >>>>>>>>>> down. >>>>>>>>> >>>>>>>>> Yes, the "read enemy data" commands are unfortunately arcane, and >>>>>>>>> will >>>>>>>>> be a backcompat pain in the future. >>>>>>>> >>>>>>>> I had been thinking recently: let's not support read/writeenemydata >>>>>>>> for anything other than the provided constants. If you haven't used >>>>>>>> them, and I haven't used them, and Mogri hasn't used them, then we >>>>>>>> can >>>>>>>> be nearly sure that noone has. >>>>>>>> >>>>>>> But I just wrote a script using them extensively... >>>>>> >>>>>> Did you use any data index numbers other than the 11 documented in >>>>>> >>>>>> http://hamsterrepublic.com/ohrrpgce/docs/plotdict.xml#about-readenemydata >>>>>> ? >>>>> >>>>> Here's the list of undocumented things I'm using so far: >>>>> 3, attackdata:target class >>>>> 4, attackdata:target setting >>>>> 12, attackdata:chain >>>>> 13, attackdata:chain rate >>>>> I am also likely to use several more since I'm essentially pulling in >>>>> attack data to use in a custom battle system. >>>>> >>>>> I'm okay rewriting this part if you have a somewhat immediate plan for >>>>> exposing attack data. >>>>> >>>> >>> _______________________________________________ >>> Ohrrpgce mailing list >>> [email protected] >>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >>> >> _______________________________________________ >> Ohrrpgce mailing list >> [email protected] >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org > > > -- > - Mike Caron > _______________________________________________ > Ohrrpgce mailing list > [email protected] > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org > _______________________________________________ Ohrrpgce mailing list [email protected] http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
