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

Reply via email to