Icewind Dale: ToEE - Total Conversion

Discussion in 'Icewind Dale Total Conversion' started by Allyx, May 7, 2016.

Remove all ads!
  1. ineth

    ineth Member

    Joined:
    May 15, 2016
    Messages:
    52
    Likes Received:
    4
    @Shiningted

    I think these are all the talking NPCs you can encounter on the way to Kuldahar (i.e. Kuldahar Pass + side maps):
    • Ghereg (DOGRE.DLG) - an ogre with a side-quest
    • Crazy Goblin Marshal (DGOBLINC.DLG)
    • Uligar (DORCCHIE.DLG) - an Orc chieftain
    • Jermsy (DJERMSY.DLG) - a child from Kuldahar
    In Kuldahar itself, there are a whole bunch of NPCs. Here are some interesting ones:
    • Arundel (DARUNDEL.DLG) - the quest giver for the main plot of the next few chapters
    • Orrick (DORRICK.DLG) - a shopkeeper who sells a different set of items depending on how far you've advanced in the game, and also gives a fetch quest
    • Aldwin (DALDWIN.DLG) - innkeeper, and main subject of an optional side-quest. Gives different inn prices based on you if/how you concluded the quest.
    • Amelia (DAMELIA.DLG) - barmaid who initiates the Aldwin side-quest
    Tell me if you need more.
     
  2. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Right so I have Hrothgar start dialogue when you enter the game - Snowdrift Inn, say his bit and run off (vanish) Grisella and the townspeople seem to be working ok, Fruella is now a dwarf - only Dwaven women in ToEE don't have beards :confused: I remember someone made a beard item... did they upload the files?
     
  3. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    BTW, regarding runoffs... I recently found out that you should avoid setting the runoff destination spot too far away. It jams up the animation slot state machine and can lead to a crash (this is why it sometimes crashes after the Bethany encounter).
     
  4. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    I guess I'll leave his 'stand there and vanish' run off as is for now then.

    I'm trying to add the containers to Hrothgar's house, but can't seem to find the full array of chests in World ed, any tips?
     
    Last edited: Jul 9, 2016
  5. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    You can just add a beard from a script.

    Here's a little hairstyle function I made a while back to change any ones hairstyle at any time. The beard only appears on the male hairstyle, but the good news is you can give a male hairstyle to a female character. Some don't line up exactly, so experiment.

    Code:
    
    #------------------------------------------------------------------------------------
    # Hair Style
    # color: 0=black, 1=blonde, 2=blue, 3=brown, 4=light brown, 5=pink, 6=red, 7=white
    # style: 0=Long f   4=Medium f   8=Pigtails f   12=Mohawk f
    #        1=Long m   5=Short m   9=Mullet m   13=Mohawk m
    #        2=Ponytail f   6=Topknot f   10=Braids f   14=Ponytail (really long) f
    #        3=Ponytail m   7=Topknot m   11=Bald m   15=Medium m
    # beard: 0=no, 1=yes
    # race:  0=human, 1=dwarf, 2=elf, 3=gnome, 4=half-elf, 5=half-orc, 6-halfling, 7=bearded
    #------------------------------------------------------------------------------------
    def hair_style_set (npc, color, style, beard=0):
       if color not in range(0,8) or style not in range(0,16) or npc == OBJ_HANDLE_NULL:
         return
       color_adj = color * 128
       style_adj = style * 8
       if beard == 1:
         race = 1
       else:
         race = npc.obj_get_int(obj_f_critter_race)
       hair = color_adj + style_adj + race
       npc.obj_set_int( obj_f_critter_hair_style, hair)
       npc.obj_set_int( obj_f_animation_handle, 0)
    
    bearded dwarf.jpg
     
    Last edited: Jul 10, 2016
    Allyx likes this.
  6. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Oh that is beautiful... can't wait for the alcohol and tiredness to pass before trying this out :D but how would I get that to trigger? I have set her san_first heartbeat script in protos.tab and don't know what to put in the script to make it work.
     
  7. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Ok, I've added the (fire) beetles, and Grisella's quest is working properly! I've also been fiddling in Hrothgar's house, added the chest at the end of the bed (had to make it larger to cover the painted on chest) and altered the cupboard image to show the shelves inside rather than closed doors, then added openable doors to it, and put in the shortbow and arrows that are contained within, the loot had to have the z axis altered so the loot was not on the floor in front of the doors but behind the doors (which themselves were reduced to 40% of their regular size).

    I am going to need to make those doors and the chest locked, but what DC should I set the lock at? 5? IIRC ToEE always takes 20 for pick locks outside of combat, I'm unsure if you can pick locks while IN combat though. I also need to figure out what I'm doing wrong as my attempts to get the doors to lock in game so far have failed.
     
    Last edited: Aug 3, 2017
  8. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    Yes, you can open a lock during combat, which I didn't discover until I tried it just now. :D It will make the d20 roll during combat, and as you said it takes 20 outside of combat.

    If you want to lock a chest or door and set the DC on the fly, this should do it:

    Code:
    # lock a chest and set the DC
    chest.container_flag_set(OCOF_LOCKED)
    lock_dc = 13
    chest.obj_set_int (obj_f_container_lock_dc, lock_dc)
    
    # lock a door and set the DC
    door.portal_flag_set(OPF_LOCKED)
    lock_dc = 13
    door.obj_set_int (obj_f_portal_lock_dc, lock_dc)
    
    This assumes you have the object handle of the chest from calling game.obj_list_vicinity (game.leader.location,OLC_CONTAINER) or however you find it.
     
  9. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Meh I can do that with world ed or world builder...

    @marc1967 would you be able to supply me a san_first heartbeat script for the beard thing mentioned above?
    Also I'm trying to add doors to the main Easthaven map I can't figure out how block the door with the scenery - IE the door opens into the building but the animation is overlaying the roof rather than being obstructed by it... is there a way to fix that? or should I just set the doors to open outwards instead?

    Oh great, now I've broken World editor *sigh*
     
    Last edited: Jul 9, 2016
  10. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    Code:
    def san_first_heartbeat (attachee, triggerer):
            hair_style_set (attachee, 1, 3, 1)  # blonde, ponytail, beard
            return RUN_DEFAULT
    I can't quite visualize what you are asking, I think I would need a picture. :(
     
  11. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Put a clipper over it in WorldEd.
     
  12. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    Hmm, I thought I'd tried that but it didn't seem to work...

    You posted in another thread about removing beams @marc1967 what I meant was I need to figure out how to add clipping data (like for the beams) to block parts of the 3d door images placed on the map as a number of the buildings have overhanging porch rooves.
     
  13. marc1967

    marc1967 Established Member

    Joined:
    Jan 19, 2014
    Messages:
    578
    Likes Received:
    60
    Do the Icewind Dale maps folders have clipping files in the same format as ToEE? If so, they should just lay over it automatically and block the scenery. If not, you'll have to use existing clipping files from ToEE that match the artwork as closely as possible, which can be impossible if the shape does not exist.

    Does WorldEd let you create custom clipping files? I've never used it.
     
  14. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,001
    Likes Received:
    250
    No, Ted sectored the maps for the first area, but I wanted to add openable doors to the main outdoor map to hide the map transition icons.
    It does, though I haven't found out how to clip visibility yet, the doors overlay the scenery objects instead of the other way around.

    I've tried the VX and VE buttons to paint around the door frames with the intent of clipping the door from those sections, neither worked. :(
     
  15. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,655
    Likes Received:
    352
    Yeah, I did mention that some form of door frame (or in the wider sense, roofing, eaves etc) would be the main deal with clipping to stop things like this happening.

    It's very tricky since you essentially have to make your own 3d clipping files in 3ds max or wherever to get it exactly right, or fiddle around with the existing stuff.

    I have nowt pressing to do, Al, if you want me to give it a go and see if I have any luck? Door frames are about the only thing I added in KotB* in a few places and I had mixed results, but I can give it a try.

    *any nice clipping in KotB is either from the original game, eg the Druidic shrine, or was done by Gaear, eg the Outer Bailey.

    EDIT: VX and VE are purely for sector visibility, they grey out the model and prevent you seeing into areas you shouldn't, ideal for most scenarios where a model runs 'behind' the background but NOT the same as clipping the model, alas.
     
Our Host!