Home > Suggestions

Darkness Domain Power

As far as I can tell, the darkness domain power should "technically" be blind fight as a granted feat. Previously, ultravision served just fine for the purpose of bypassing concealment (at least in darkness, which replaced obscuring mist in the darkness domain spell list, but nothing else), but now darkness works a lot more like obscuring mist, and ultravision serves very little purpose.

Since we now have scripts in place for skins (kobolds and goblins) it would be really nice if the darkness domain could trigger an onspawn to give a creature skin with the blind fighting feat on it or something like that. :D

In case it sounds like I don't know what I'm talking about, I might mean "creature hide" instead of skin? Maybe?

I've always been interested in Ultravision-buffing suggestions, which are more likely to be considered and easier to implement.

Dynamic adding of feats to skins is hell. I set it up for PRCs, and I can no longer toolset, so someone else will have to learn how I did it and add a check for domains (which will only be used by this one domain!) Assuming we even want this change.

Well, I dug and dug around in some code, and finally had something put together that I thought juuuust might do the trick in the starting/logon area.

I felt so smart.

Then I realized you actually can't add the blind-fighting feat as an item property. Bah. :P Does that mean blind-fight can't be granted through a creature hide at all? (I presumed so.) Edit: I see you can still do it through sub-races, just not dynamically with this method.

Oh well, in case someone wants to look at it, here it is, maybe it could be useful otherwise. (It compiled quite nicely, except for the FEAT_DARKNESS_DOMAIN_POWER of course, which would have to be changed to whatever EfU uses. Also, obviously and sadly, IP_CONST_FEAT_BLIND_FIGHT does not exist.

#include "x2_inc_itemprop"
void main()
{
    object oPC=GetEnteringObject();
    if (GetHasFeat(FEAT_BLIND_FIGHT, oPC)) return;
    if (!GetHasFeat(FEAT_DARKNESS_DOMAIN_POWER, oPC)) return;
    if (!GetIsPC (oPC)) return;
    string sRefHide;
    object oHide = GetItemInSlot(INVENTORY_SLOT_CARMOUR,oPC);
    if (!GetIsObjectValid(oHide))
    {
        sRefHide = "x2_it_emptyskin";
        oHide = CreateItemOnObject(sRefHide, oPC);
        SetIdentified(oHide,TRUE);
        AssignCommand(oPC,ActionEquipItem(oHide,INVENTORY_SLOT_CARMOUR));
    }
    itemproperty ipAdd = ItemPropertyBonusFeat(IP_CONST_FEAT_BLIND_FIGHT);
    IPSafeAddItemProperty(oHide, ipAdd);
}

Heh. In the domains.2da override, the second to last column is "GrantedFeat" and corresponds to the particular feats granted by the domain, currently 1124 for Darkness. (Darkness_Domain_Power)

Could it actually be done by changing this value to 408, which corresponds to the blind fight feat? (Naturally, CastableFeat would have to become 0.)

No, because then you don't get the Darkness Domain Feat!

ExileStrife No, because then you don't get the Darkness Domain Feat!

You mean unless the darkness domain feat was actually blind fight... or? :p

All existing Darkness Domain clerics would be invalidated and be forced to recreate. Also, I'm pretty sure it's possible to take Blind Fight normally, which could cause problems, especially if a cleric were to do it, because then they'd have three domains.

The login script needs to be kept as clean as possible. I made a PRC/feat-on-skin-adding "system" due to a DM's PRC-balancing request. I just don't see the merit of this vs. the trouble in either of your suggested implementations.