Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Dark Dreams of Furiae - a new module for NWN:EE! Buy now
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Drow Race: Questions

Okay, I know this is much-requested and, lets be frank, a bit of a hot button topic.

But Drow as a playable race. Bearing in mind that all the original mod content I've written is one NPC with no banters, quests or dialogue, I am to understand that you can't add a new race to the game, because the total number of races is hardcoded in. But you could edit a race, and make it something completely different, ne?

So, lets say Gnome - could we turn the Gnome race into Drow? Would that effect every gnome in the game, or just the PC gnomes? Would, say, Quayle then become a Drow?

Second - how would one go about adding encounters or editing dialogue that only comes up if the character is a Drow? Would it be as simple as setting the Drow race as a trigger?

Forgive my ignorance - I'm kind of new to the whole thing. I'm more used to just playing other people's mods that trying to make my own. But I would be very interested in playing a Drow, fantastical racism and all, so if you could answer my questions, I'd appreciate it.



  • DungeonnoobDungeonnoob Member Posts: 315
    Just paint the elf char blue/grey or black and make it evil,my 2 cents.What we need is a Duergar mode:P,while we are at it.
    "Shouts" CREVS:).
    Sorry for my noobish answer..

  • CrevsDaakCrevsDaak Member Posts: 7,152
    If you edit an entire race every creature in the game will be affected, but not all might get the bonuses, since they're only adjusted at level up or character creation.

    I've tried adding a new race but back then I didn't have the modding skilz I have today. A good idea is to do what Dungeonnoob suggests, just editing the character you want with EEKeeper and use the Elf race as Viconia or Baeloth have.

    The races are entries on a file that links the name to a number (if two names share the number the one at the most top of the file is used at decompiling, but both are checked when compiling a script. If a name is shared between two different numbers then something bad probably happens), and is listed as an unsigned char (single byte), so the maximum amount of working races is 256 (0 to 255). Adding a new one would automatically allow it's use on a script trigger or action, and since TobEx/Enhanced Edition/tob_hacks you can add strings for the races (so the new races' names show up in the Record page, and not only the vanilla playable races).

    My suggesting is using a WeiDU script like this:
    BACKUP "add_drow_race/backup"
    AUTHOR CrevsDaak
    VERSION v1.0

    BEGIN "Add Drow race" DESIGNATED 200
    REQUIRE_PREDICATE FILE_EXISTS tobex.dll || GAME_IS "bgee bg2ee iwdee eet" "This mod requires either TobEx or an Enhanced Edition game."

    OUTER_FOR (i=10; i < 255; i += 1) BEGIN
    APPEND race.ids ~%i% 7C_DROW~ UNLESS ~7C_DROW~
    APPEND racetext.2da ~7C_DROW %i% replace_7c_drow -1 replace_drow_7c -1~ UNLESS ~7C_DROW~
    COPY_EXISTING racetext.2da override
    SET drow_1 = RESOLVE_STR_REF (~Drow~)
    SET drow_2 = RESOLVE_STR_REF (~DROW~)
    REPLACE_TEXTUALLY ~replace_7c_drow~ ~%drow_1%~
    REPLACE_TEXTUALLY ~replace_drow_7c~ ~%drow_2%~
    OUTER_SET i = 256

  • AquadrizztAquadrizzt Member Posts: 999
    edited January 2015
    I've looked into this a decent amount for other projects; here is some of the stuff I've gathered on this.

    Adding new races to character creation is impossible. There is no way around this, short of an .exe patch and/or an externalization, but I wouldn't hold my breath on either of those.

    Changing one of the races present in character creation (e.g. gnomes -> drow) would mess up not only all gnome NPCs in the game, but also screw up all gnome triggers. From a modding perspective, this would also render the mod incompatible with almost all mods and the required compatibility checks would be several hundred times longer than the mod itself. So this is also not really a feasible option.

    Having non-standard races that display as such in the character creation panel is tricky but doable (see Haer'Dalis and Hexxat). So the question remains one of how to get the change initiated. There is a subraces mod kicking around here that lets you talk to a shady figure in Candlekeep who "reveals" your true race, but all that does is change your colors and apply "racial features" through a spell. That could be your starting point. Alternatively, you could add a spell to all clabs that gives Elves the ability to enter dialogue to select a subrace upon creation. (I've done something like this for several other features in some of my in-development mods.)

    If you were to introduce a drow race, you could also consider updating all of the drow NPCs in game to use the new value in RACE.IDS. (They are currently identified as elves.) You would also probably want to include checks for the handful of existing drow NPC mods. The existing drow already have whatever "drow" features they would have applied to them (i.e. spell resistance), so you would only need to worry about applying such features to player characters.

    After you've done all of this, adding reactivity is just a matter of adding interactions in dialogue/scripts where you would like them.

  • GriffithGriffith Member Posts: 2
    Thanks, that was actually way more informative than I was expecting. I've checked out the sub-races mod you mentioned - it's the one Corsymyr is working on, ne? It's a good start and it seems to do it's job pretty well, but what I have in mind is a little more narrowly focused, with a heavier emphasis on roleplaying and immersion as a Drow character. Ideally, my mod would make playing as a Drow a different experience than playing as a vanilla elf, even one with black skin and white hair. :o)

    I like the idea of an NPC that effects the change, or possibly a dialogue to toggle Drow after creation. Clearly, I was barking up the wrong tree with my first ideas, though. It wouldn't have been very elegant anyway - in fact, it was clumsy and sort of dumb. Other self-recriminations.

    For now, though, I'm just going to focus on getting the initial work done - getting the race name to display, and adding Drow racial abilities to the PC.

  • kotekokoteko Member Posts: 179
    If I understand you well, you don't care about the drow characteristics but about the reactions from other NPCs, quest rewards etc, right? If you want to focus more on the RP side of things (what would ACTUALLY make you gameplay drowish), then you can postpone messing with actual new races and do the following:

    - use the Subrace mod as a starting point. You will have the "race-changing character" ready, and you'll be able to tweak the drow characteristics to your liking, but in addition you should modify the dialogue so that it adds a Global variable "telling the game" you are a Drow.
    - then, and here comes the longest and most difficult part, you need to produce content. Which NPCs should act differently if CHARNAME is a Drow? Will Firebeard be suspicious of you instead of helpful? Will Viconia be happy or angry and attack you? Will the Thief Guild treat you with more respect? Write down ALL NPCs you want to behave differently, write a sketch of the kind of behaviour you would expect from them, then use weidu to get their dialogue file and modify it by checking the "Drow variable" set at point 1. You'll be essentially "hijacking" the existing NPC dialogues with ones made by you, but only if CHARNAME is a drow.
    - Only after you've done all basic dialogues, and effectively created a "Drow feel" to the game, you may want to add special quests, new encounters, new NPCs, new areas etc.

    These are my two cents. Doing it in this way AND order is also a good way to learn BG modding:

    - with the first point you learn to use Weidu by modifying an already existing mod (always easier than starting from scratch). This will require googling, reading tutorials, but the learning curve is much smoother than without a mod ready for you to use.
    - with the second point, you realise better the scope of your first "rough idea" and decide if you want to keep going or not. Also, you will see that modifying dialogues with simple conditions is pretty simple, but you still can do a lot of things: can create/destroy objects, modify the journal, add XP and more.
    - when you have done all dialogues, you'll feel more motivated to do more "practical" stuff like scripted encounters, new NPCs etc. They will be the icing on the cake - good, but not necessary for other people to enjoy the best part.

    Hope this helps a bit, not only to you but to all aspiring modders with "big ideas" :)

Sign In or Register to comment.