[DISCUSSION] Python Development

Discussion in 'General Modification' started by Elphaba, Oct 1, 2003.

Remove all ads!
  1. Elphaba

    Elphaba Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    ok. just looking through the negative energy plane, saw there was a possible need for a python programmer? well, i am unemployed and a programmer in perl, python, and various other stuff. don't know much of the guts of this game, though.

    is there someplace for me to start? is there anything still needed?
     
    Last edited by a moderator: Oct 1, 2003
  2. Sol Invictus

    Sol Invictus Beholder Watcher Veteran

    Joined:
    Aug 25, 2003
    Messages:
    325
    Likes Received:
    0
    Yeah. I think we need to get a bug list posted up and stuff we need to change - we'll start from there.

    We could use your talent with some of the spells, items and so on (Chris Wood is doing all the work, poor guy) so stick around.
     
  3. Elphaba

    Elphaba Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    okeydokey:

    just expanded/extracted the dat files. wow, big. on to finding the *.py files. neat the way the devs used python. everything is pretty straight forward.

    is there a to do list with the spells and whatnot? i don't want to do doublework that Chris has fixed or what-have-you ...
     
  4. Sol Invictus

    Sol Invictus Beholder Watcher Veteran

    Joined:
    Aug 25, 2003
    Messages:
    325
    Likes Received:
    0
    Entangle, Web, Grease and Soften Earth & Stone are bugged. You can't 'break free' from them and some of them have spell effects which occasionally last forever.

    Magic weapon/Greater Magic Weapon/Magic Vestment/Keen Weapon are permanent. They shouldn't be.

    All the touch-based spells such as Chill Touch, Ghoul Touch, Vampiric Touch and Shocking Grasp stay on your character forever - until they're used. Chill Touch is bugged with a spell.duration, spell.duration thing which should say spell.duration, 0 - this means you can use this spell and it'll never wear off.

    I fixed that but I still can't get the spell to wear off in the 'instant' duration setting like it's supposed to. Check them out.
     
  5. Elphaba

    Elphaba Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    well, SRD says about Chill Touch

    "You can use this melee touch attack up to one time per level."

    my guess is that the "duration" property for the spell is being abused here and being treated as the number of "touch attacks" the spell caster has left.

    within:

    target.obj.condition_add_with_args( 'sp-Chill Touch', spell.id, spell.duration, spell.duration )

    do you know exactly what the difference is between the last and second to last arguments are to the function "condition_add_with_args"? Handing it zero might not yield the desired effect. While this is what Ghoul Touch does do, it is a "use once" spell, not having multiple charges.

    is there a known definition for this function? like the argument lists?

    sorry if these are dumb questions. feel like i showed up late at the cocktail party and i am rehashing the first conversations ...
     
  6. Sol Invictus

    Sol Invictus Beholder Watcher Veteran

    Joined:
    Aug 25, 2003
    Messages:
    325
    Likes Received:
    0
    I'll wait for Chris Wood to respond on this. Anyway, could you do soemthing about Ghoul Touch or the others? They don't wear off like they're supposed to even after months of resting.
     
  7. Nomad_Wanderer

    Nomad_Wanderer Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    305
    Likes Received:
    0
    I've been talking with *V* about this. After the first public release, I'm going to hand off the release manager role to him.

    I'm going to need to start learning Python.. (already know java, perl, shell, vb) We need more python ppl.. The rest of the modding is starightforward once we have a toolset in place (for some things it's straightforward without a tool).

    Are one issue is with the API. AFAIK, there is no reference material at all.

    I posted a bug in the atari forums about
    "condition_add_with_args" not working correctly, and it was quickly deleted. I then recieved a PM from the bug list maintainer that I was not allowed to know functions, it was against the EULA or something..

    That's not true, but I didn't want to debate him.
     
  8. Ares

    Ares Member

    Joined:
    Sep 26, 2003
    Messages:
    8
    Likes Received:
    0
    A more general question concerning python :

    Has anyone figured out, how the *.py scripts are called
    in the game? There has to be any trigger or something similar.
    At the moment we can just edit the existing python scripts, but it would be great if we could create our own, e.g. for the whole area-pop-up Project.
    I don't know, if it's hardcoded, but maybe can a python programmer enlighten us.

    ~Ares
     
  9. Vaevictis666

    Vaevictis666 Established Member

    Joined:
    Sep 25, 2003
    Messages:
    114
    Likes Received:
    0


    Yeah, I'm gonna be putting some effort into tweaking the install script, and probably putting together a tool to merge dat files without conflicts - that should keep me occupied for a while :p

    Bwahahahahaha that's good :D but yeah I'm sure somewhere in the eula it says something about no reverse engineering - poking the the data files is a grey area but anything inside the exe is technically evil.
     
  10. Nomad_Wanderer

    Nomad_Wanderer Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    305
    Likes Received:
    0

    We do not need to go into the exe to know function names... If you read the eula carefully, (I included it in the Fixes readme). It says stuff about modding the game.

    I think we are still well in those bounds.
     
  11. Elphaba

    Elphaba Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    **edit for head up #ss **

    my guess is pyToEE22.dll is a library that contains a python glue code, or the functions and structs/objects that aren't defined anywhere else. i can do that in perl, so i imagine that the supergeniuses at Troika can do that with python. plus, they have the python22.dll, which i believe is the runtime libraries for python.

    i think that finding where the dll's are used would require some .exe decompiling, which would cause problems with Atari and Troika.

    there are limits with what we can do with the python scripts. without the API, we can hack / guess what the objects have. we can change which particle efffects the spells have. we can change the effective "spell duration", but not how the spell object, ie entangle_obj, deals with the number we pass it.

    just my guess.
     
    Last edited: Oct 1, 2003
  12. Elphaba

    Elphaba Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    kids

    has anyone noticed the script py00228kids_off.py?

    it sets some flag:

    attachee.object_flag_set(OF_OFF)

    i wonder what would happen if this was changed?
     
  13. Xma

    Xma Member

    Joined:
    Sep 27, 2003
    Messages:
    31
    Likes Received:
    0
    Re: kids

    Uh, strange that nobody noticed that earlier ???

    Well, let's take a look...
     
  14. Xma

    Xma Member

    Joined:
    Sep 27, 2003
    Messages:
    31
    Likes Received:
    0
    Nothing seems different... (and , as supposed, still no kids ;))
     
  15. indio

    indio Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    18
    Likes Received:
    0
    Re: kids


    i think it means offense off so they can't attack
     
Our Host!