Tribal Shaman idea

Hello, mid week, new questions :slight_smile:

Again, this is just idea generation currently, I have no scripts to base / show from yet.

So the world I’m working on is very low-magic, gritty etc blah blah.

With 2da changes, I currently have 4 classes; Archer (Ranger -spell-less, some extra feats), Skald (Bard -spell-less, toughened up), Fighter and Berzerker (Barbarian - unlimited raging).

I want to introduce a shaman type as a spell-using option. I was working with Druid and have removed all healing spells etc.

The big thing I’d like to create is a “Shaman” type feel, so that the more players in the shamans tribe(party), the stronger they become.

Not sure best route to achieve this? What are peoples thoughts?

My initial thoughts are to have an item on the Shaman PC that checks amount of PCs in party, or checks for “InTribe = 1” or something, and grants Spell Slots - This wouldn’t work however, as people leaving or joining etc the Shaman’s spells would constantly be getting un-memorised and empty spellbook slots.

Second thought is to just boost Wisdom per tribal member, but I don’t feel this is very exciting or achieves much power, assuming 2-5 people in party max.

So I’ve arrived at the idea of granting infinite cast spells which grow in power the more party members. I’m not sure how to go about this, I know the Arelith server has infinite-cast spells but I have no clue how these are scripted, a rather rudimentary method would be to have a PC Item on the Shaman which allows them unlimited/day castings of a spell, but only usable if variables are met “NumberOfTribeMembers=2”.

Another Idea, on the Isle of Thain server, there is a necklace that converts all Healing Spells into Area of Effect spells which hit all party members. Again no idea how this is achieved mechanically, but maybe this would be a cooler, thematic option, other than infinite spells? The Shaman won’t have cure spells, maybe they could cast Mass Bull’s Strength, Mass Barkskin etc.

What are peoples ideas on the easiest / most effective solution to implement this? (Sorry this is a massive ramble I think!)

Thanks,
Roaringthing

:thinking:

You could modify the standard spell scripts to apply effects to all PC party members in range if the caster has levels in shaman(/druid).

if (GetLevelByClass(CLASS_TYPE_DRUID, oPC))
    {
    }

Area of effect spells that only hit party members of the caster can be set up like this:

    object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(oPC));
    while (oTarget != OBJECT_INVALID)
        {
        if (GetFactionEqual(oTarget, oPC))
            {
            // Do things.
            }

        oTarget = GetNextObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(oPC));
        }

A function to count total PC party members would look like this:

int CountPlayersInParty(object oPC)
{
    int nPlayers;

    object oTarget = GetFirstFactionMember(oPC);
    while (oTarget != OBJECT_INVALID)
        {
        nPlayers++;

        oTarget = GetNextFactionMember(oPC);
        }

    return nPlayers;
}

Found something on unlimited spells:
https://neverwintervault.org/forums/neverwinter-nights-1/nwn1-custom-content/unlimited-spells

1 Like

@TheBarbarian I literally want to be inside your brain, it would be so useful! Thank you as ever!!!

This is perfect, lots to work with here and experiment with! =)

Roaringthing

1 Like

I will expand on that.

Without NWNX there is just one option - grant spells as feats - feats then can have unlimited number of uses. ForceRest is not an option as it does much more than you want and it would be problematic to restore other PC characteristics to what they were pre-forcerest, although it might be doable just very ugly and clunky.

I was on Arelith only for a short while when we were testing NWN:EE before release and I didn’t see that functionality so I don’t know how exactly they do that, but either they grant spells as feats as well or they are using NWNX function to increment spel uses (still not clean but doable).

The only real infinite spellcasting is in my nwnx_patch and nwncx_patch plugins. You can make any spell level of any spellcaster unlimited. So you can grant wizard/sorcerer unlimited cantrips as in DnD 5.0 or you can make all spells to be unlimited for custom spellcasters such as warlock. Here is a screenshot from Warlock class from PRC Lite:

If the question isn’t how to do it but what should I choose my class to do I agree with barbarian, make the shaman to apply buffs on all allies.

2 Likes

@Shadooow Thanks for this extra info!

This project of mine is a slow burner, building and writing as I have time - eventually I’d like to bring on board someone to work on server stuff - My MySQL knowledge is completely void (as opposed to a rather rudimentary understanding of NWScript ;p)

Anyway, current aims are to keep the game completely vanilla* without relying on NWNX yet. So I think I am going to be playing with Mass Group Buffs etc.

Although the Warlock unlimited casting from your nwnx_patch looks absolutely spot on! I’d love to grant something like for every tribe member in the Shaman’s party, they get an extra spell level of unlimited spells. So with 3 extra players in their group, they’d have up to 3rd level spells unlimited for example.

I’ll keep this in my notes :smiley:

Thank you!

*besides the 2da changes.

well that wouldn’t be possible though

my nwnx patch allows a lot, however this feature is not dynamic, it is controlled by 2da

in the 2da you can make each spell level to be cast as unlimited spells for each level of that class but thats it, further conditions are not possible, making this dynamic is bit problematic because this feature is coded in both server and client - and thus if this was made dynamic, the new values would have to be sent to the client, I suppose it would be doable in the end, however very problematic and supsceptible to issues hence why I did it 2da based only

still, quite nice feature

To do it the way you want, it would be better not to replace druid but use new ID and make it custom class, grant him spells as feats and then restore feat uses to 1 anytime player uses the feat. That would be lot of work though…

1 Like