Kids/Traps/Quest Mod - (Beta version)

Discussion in 'General Modification' started by Livonya, Feb 8, 2005.

Remove all ads!
  1. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    hmmm...

    I will check that tonight when I get home. The version I am posting is slightly different than the one I am running, so sometimes I miss something in the translation.

    My mod is coming along nicely. Last night I added Skeleton Mages to the game, and am now vastly improving the AI (if you can call it that) of the casters in the game. It looks like I can get all casters to use 5-foot step when needed, and also they will start using better spells. The spell sellection the game currently uses it just sad, but once the enemy casters start using decent spells such as Charm, Burning Hands, etc then the casters actually start being dangerous.

    My hope is to drastically improve the AI and it seems very possible at this point. Creating an entirely new AI routine was not too hard, so now I just need to modify the others to add more complexity.

    Livonya
     
  2. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Personally I prefer enemy spellcasters casting enlarge on ranged combatants. ;)
     
  3. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    Okay, I fixed those errors... hopefully this works better now....

    Livonya

    PS: Yeah, the spellcasters behave like morons, I think I can fix that. We will see.
     
  4. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Livonya, are you sure the 8 PC failsafe isn't still in there? I'm still getting normal results with 7 PCs and no-more-Kent results with 8.

    Update: Deleted all the files Morpheus listed again and tried with 1 PC - still no Kent. Brother Smythe still offers the giant head quest.
     
    Last edited: Feb 19, 2005
  5. Morpheus

    Morpheus Mindflayer Veteran

    Joined:
    Nov 11, 2003
    Messages:
    539
    Likes Received:
    1
    Livonya: If you used Agetian's Mod Studio for your new spawning method, then you should also post the .mob file that is needed by the spawing script. It is supposed to be in the hommlet map folder.
     
  6. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    Morpheus -

    Ugh. You are right. Duh.

    I will fix that on Sunday, can't do it earlier.

    Livonya


    PS: Last night I fixed the enemy cleric AI so the clerics now heal injured friends. Before the enemy clerics would just wander around doing nothing most of the time, but now they actually cast their heal spells. Much improved! Also, it appears that I have fixed the enemy mage/cleric AI so they no longer cast beneficial spells on your party. These simple fixes made the enemy casters into actual threats. Now I just need to add a few new AI scripts so that every enemy caster in the game doesn't behave exactly the same. Fun! I should have a finished beta of this very soon.
     
  7. Morpheus

    Morpheus Mindflayer Veteran

    Joined:
    Nov 11, 2003
    Messages:
    539
    Likes Received:
    1
    Your AI fixes sound fantastic. The enemy AI or lack thereof, especially with spellcasters, has always annoyed me.

    For one of the challenges in my Arena mod, I had thought about an epic battle against all the heroes that have fought there and failed - i.e., a horde of skeletons crawling out of the ground of the Arena, the fallen adventurers cursed to fight in the Arena forever. Your skeleton mages are of course a welcome addition to the whole scenario. :)
     
  8. Kalshane

    Kalshane Local Rules Geek

    Joined:
    Aug 6, 2004
    Messages:
    1,653
    Likes Received:
    4
    Weird thing is, back around official patch 1, I recall (in addition to the moronic things like casting Enlarge person on PCs) the enemy wizards and sorcerers would actually cast attack spells. I know the first time I fought Hendrack the sorcerers in the back opened up with Fireballs on my party, which really, really sucked. Now every enemy spellcaster I fight just casts defensive spells on themselves (with the exception of the occaisional Bane). Not sure where the casting of attack spells got taken out of the AI.
     
  9. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    Kalshane -

    The way the current AI is set up the casters will generally ONLY cast fireball after they have used all their other spells... it is the last item in their to-do-list.

    I have been using that opening room in the Temple... (the side entrance) as my test room. In that room there are 2 Witches (level 6 clerics) and one Wizard (level 5 wizard), plus a bunch of brigands.

    At first I made the wizard open with a fireball. But it makes the room really, really hard. Your mages will die almost instantly if you don't come in expecting a major fight. Finding the right balance is difficult. I also tried having the clerics open with Silence, but that made it pretty hard too...

    I also tried having them use Deep Slumber, Charm, and Stinking Cloud. Charm is really, really brutal. Stinking Cloud is also really hard to deal with... if the clerics open with silence and the mage opens with stinking cloud then you are pretty much dead meat. The brigands block you from leaving the area and they slowly pick you off with arrows and offensive spells. If you have plenty of potions you can make it through, or if you have a caster that can cast spells silently.

    Searing Light is a great spell for clerics to use, but it is hard on the party. A level 6 cleric casting Searing Light can do 6d8 damage on a critical hit, which is instant death in most cases.

    At the moment I have the clerics casting prayer, shield of faith, bless, bane, divine favor, hold person, cure light wounds, cat's grace, bull's strength, cure moderate wounds, and spiritual weapon. And the wizard is using mirror image, shield, hold person, Melf's Acid Arrow, slow, ray of enfeeblement, daze, and if he runs out of spells he uses Fireball. The mage also takes 5 foot steps if he needs to. This is a MUCH harder fight than it was, but it isn't impossible.

    Right now there are 2 different AI scripts for Mages and 2 for clerics (1 for level 5 and 1 for level 10). I intend to make it so there are at least 4 for mages and 4 for clerics so that their will be more variety. I might actually do more than that, as it is really easy once you learn the tricks, and already I have 4 or 5 variations that seem to work without glitches.

    The real trick at this point is learning how the AI works. I have managed to come up with some new control words (ones that weren't in the old AI but do work) and I did discover some control words that are used in the AI but simply do not work (which is why the enemy was using beneficial spells on their enemies). It is amazing how poorly tested this game was. I love TOEE but it is really pathetic how poorly it was tested.

    What kind of spells do you think the enemy mages/clerics should be using?

    The only spells that do not work properly (or at least as far as I can tell) are Magic Missile (this works, but only fires 1 missile regardless of level, so pretty stupid), Lightning Bolt (this one just doen't work at all) and Burning Hands (can only target a single person). I am sure there are others that don't work, but those for sure are not good choices.

    Also, I am getting rid of my Skeleton Mage, and instead going with a Skeleton Cleric because there are some awesome spells for them to use like Desecration... I need to work it out, but it seems to work well so far.

    Livonya
     
  10. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    I spent Sunday night working on my AI.

    I have completely finished the Skeleton Priest.

    The only thing that was strange was that it was impossible to get him to heal himself with Inflict Wounds (actually I discovered an error in one of the Inflict Wounds spells where if was not reducing the damage on a successful will save, so I fixed that too). For some reason if one of my party casts Inflict Moderate Wounds on him he is healed, but if he casts it on himself nothing happens... hmmm.

    Anyway, he is done.

    I also added an entire new AI to skeletons, which makes them a bit more of a challenge.

    The only problem I am having right now is with factions. Has anyone been able to look at the mob files of the creatures? I can't figure out what the faction is of the undead in Emiry Meadows, and when I add my own undead to the area they will fight with each other.

    I am left with two choices:

    1) replace all the undead on their first heart-beat with an exact copy that way they won't fight with each other

    or

    2) figure out what their faction is set to in Emiry Meadows.

    Maybe I can toy around with it some more tonight....

    Livonya
     
  11. dulcaoin

    dulcaoin Established Member Veteran

    Joined:
    Mar 10, 2005
    Messages:
    213
    Likes Received:
    0
    Skeleton Faction

    I was inspired to dig by your mentioning of factions, and I don't think Skeletons have one.

    Column 154 in proto.tab seems to be the faction indicator. It's a list (so it can contain more than one at once, for instance the 13{Brother Member} 's are also 10{Nulb villager}'s

    None of the skeletons has an entry, tho.

    -- d
     
  12. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    D -

    You are correct, column 154 is the faction entry.

    The problem is that the protos does not always alter creatures/items already in game. Sometimes it does, and sometimes it doesn't. It depends on the situation and I assume this is a feature controled by the mob files which I don't know how to edit or read.

    So the undead in Emiry Meadow have a different faction than what is listed in the protos. The proof of this is that if you create new undead and add them to Emiry Meadow they will fight with the undead that are already there... even if they are the exact same creature. Now if you just create a whole bunch of undead they will not fight with each other unless you change their faction.

    This can cause severe problems if you are trying to add new creatures or change existing features...

    To give you an example:

    No gnolls have damage resistance in the protos. However 2 of the 5 types of gnolls in the game have damage resistance. It doesn't matter what you do to the protos you can't alter these gnolls that are already in the game. Now if you replace these gnolls with exact duplicates (from the protos) they will start fighting with the other gnolls. If you add new gnolls to the gnoll area then the old ones fight with the new one.

    The only way to make the gnolls not fight with each other is to replace every single gnoll. If you do that then it all works okay.

    What I really need is a way to determine the faction of pre-existing creatures. For instance if someone could figure out the faction of the Gnolls then I could get rid of the damage resistance without replacing them all.

    Sometimes it is really weird how the protos works. I spent 2 days toying with the gnolls.

    They are really weird. As I said there are 5 different kinds. The protos is more restricted with 2 kinds than the other 3. For instance with 1 kind every change you make to the protos will effect the pre-existing gnolls. With 2 kinds only a few protos columns will actually change the gnolls. They are really, really frustrating to work with. They are the only creatures I have discovered so far that have parts of their protos locked. I am sure there are others, but those are the only ones I know.

    - Livonya
     
  13. dulcaoin

    dulcaoin Established Member Veteran

    Joined:
    Mar 10, 2005
    Messages:
    213
    Likes Received:
    0

    I was doing some experimentation earlier today with .critter_flags_get(obj_f_npc_faction), and getting strange results.

    I didn't actually go to the trouble of approaching actual creatures (I haven't figured out a "clean" way to pick up their data structures in the console; which unfortunately isn't very full featured even as a Python console), so I applied it to my party. For all the PCs, it returned 0, for the two NPCs (including Lareth), it returned negative numbers (which show up as very large numbers).

    It might be worth experimenting with.

    -- d
     
  14. dulcaoin

    dulcaoin Established Member Veteran

    Joined:
    Mar 10, 2005
    Messages:
    213
    Likes Received:
    0
    Now that I've done some more looking, this would be better expressed as

    .npc_flags_get(obj_f_npc_faction)

    You should get an obj handle to a skeleton, and then see what obj.npc_flags_get(obj_f_npc_faction) returns.

    -- d
     
  15. Livonya

    Livonya Established Member

    Joined:
    Sep 25, 2003
    Messages:
    773
    Likes Received:
    0
    D -

    Just so you know .npc_flags_get(obj_f_npc_faction) does not return consistant results.

    In many cases it returns 258 instead of the proper faction. I'm not quite sure why, but it simply isn't reliable... sort of like has_spell_effects I guess...

    - Livonya
     
Our Host!