Author Topic: new summoning script  (Read 4505 times)

Darkelf30420

  • Outlander
  • **
  • Posts: 80
new summoning script
« on: January 06, 2011, 01:06:40 PM »
Okay so I come from another server. And I'm loving this one more and more, but summoning seems to be very generic. Standard NWN for everone. There is a special summoning theme in the old server I played on and it allowed different people to use different summons. So it made each caster a bit more unique.

Quote
//::///////////////////////////////////////////////
//:: Summon Creature Series
//:: NW_S0_Summon
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/**
 ** Carries out the summoning of the appropriate creature
 ** for the Summon Monster series of spells I to IX
 **
 ** Since the summoned creatures are added as henchmen, you need to modify
 ** the module OnRest event to remove all summoned creatures (unless that
 ** behavior is intended)
 **/
#include "x0_i0_common"
#include "x2_inc_spellhook"

//creatures for each themes are listed in this file
#include "cs_summon__inc"

void main()
{
    if (!X2PreSpellCastCode())
    {
        // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
        return;
    }

    //** the spellcaster
    object oPC = OBJECT_SELF;
    //** the spell ID
    int nSpellID = GetSpellId();
    //** this will store the resref of what is summoned
    string sSummon = "";
    //** the duration in round/level can be changed here
    float nDuration = IntToFloat(GetCasterLevel(OBJECT_SELF)) * 1.0;
/*
You should change the duration to what fits your seting
*/

    //** make metamagic check for extended spells
    int nMetaMagic = GetMetaMagicFeat();
    if (nMetaMagic == METAMAGIC_EXTEND)
    {
        nDuration *= 2.0;
    }

    //** determine which visual effect I should use.
    int iVFX;
    //** the level of the summon is stored here
    int iLevel = 0;
    switch(nSpellID)
    {
        case SPELL_SUMMON_CREATURE_I:
            iLevel = 1; iVFX = VFX_FNF_SUMMON_MONSTER_1; break;
        case SPELL_SUMMON_CREATURE_II:
            iLevel = 2; iVFX = VFX_FNF_SUMMON_MONSTER_1; break;
        case SPELL_SUMMON_CREATURE_III:
            iLevel = 3; iVFX = VFX_FNF_SUMMON_MONSTER_1; break;
        case SPELL_SUMMON_CREATURE_IV:
            iLevel = 4; iVFX = VFX_FNF_SUMMON_MONSTER_2; break;
        case SPELL_SUMMON_CREATURE_V:
            iLevel = 5; iVFX = VFX_FNF_SUMMON_MONSTER_2; break;
        case SPELL_SUMMON_CREATURE_VI:
            iLevel = 6; iVFX = VFX_FNF_SUMMON_MONSTER_2; break;
        case SPELL_SUMMON_CREATURE_VII:
            iLevel = 7; iVFX = VFX_FNF_SUMMON_MONSTER_3; break;
        case SPELL_SUMMON_CREATURE_VIII:
            iLevel = 8; iVFX = VFX_FNF_SUMMON_MONSTER_3; break;
        case SPELL_SUMMON_CREATURE_IX:
            iLevel = 9; iVFX = VFX_FNF_SUMMON_MONSTER_3; break;
    }

    // By default, reagents are used unless it's turned off somehow
    int iDoNotUseReagents = GetLocalInt(oPC, "iDoNotUseReagents");

    // Determine What I Summon Here!
    // Let's see if I used a reagent that overrides my normal summons.
    if (sSummon == "" && iDoNotUseReagents == 0)
    {
/*
You'll have to use something similar to the PC mode switch on Arabel to make this work properly by targeting items and runing a script.
*/




        object oObj = GetLocalObject(oPC, "oLastTargettedItem");
        if (GetIsObjectValid(oObj) && GetItemPossessor(oObj) == oPC)
        {
            // Get the tag of the targeted item and determine what it would summon
            string sTag = GetTag(oObj);
            if (sTag == "ReagentTagForTheme1") {            // summon theme 1
                sSummon = GetSummonResRefTheme1(nSpellID);
            } else if (sTag == "ReagentTagForTheme2") {     // summon theme 2
                sSummon = GetSummonResRefTheme2(nSpellID);
            } else if (sTag == "ReagentTagForTheme3") {     // summon theme 3
                sSummon = GetSummonResRefTheme3(nSpellID);
            }
/*
You can add more reagents if you want
I strongly suggest you give better names to GetSummonResRefTheme# and the reagents tags
Those I wrote here are just to keep the example generic
*/
            if (sSummon != "")
            {
                SpeakString("*magical energy courses from your hands to the " + GetName(oObj) + " in your pack*", TALKVOLUME_WHISPER);
                DestroyObject(oObj);
            }
        }
    }

    // Let's see if I have a summoning book or item that overrides my normal summons.
    if (sSummon == "" && iDoNotUseReagents == 0)
    {
/*
You'll have to use something similar to the PC mode switch on Arabel to make this work properly by targeting items and runing a script.
*/
        object oObj = GetLocalObject(oPC, "oLastTargettedItem" );
        if (GetIsObjectValid(oObj) && GetItemPossessor(oObj) == oPC)
        {
            // Get the tag of the targeted item and determine what it would summon
            string sTag = GetTag(oObj);
            if (sTag == "BookTagForTheme1") {            // summon theme 1
                sSummon = GetSummonResRefTheme1(nSpellID);
            } else if (sTag == "BookTagForTheme2") {     // summon theme 2
                sSummon = GetSummonResRefTheme2(nSpellID);
            } else if (sTag == "BookTagForTheme3") {     // summon theme 3
                sSummon = GetSummonResRefTheme3(nSpellID);
            }
/*
You can add more reagents if you want
I strongly suggest you give better names to GetSummonResRefTheme# and the reagents tags
Those I wrote here are just to keep the example generic
*/
        }
    }

    // Let's see if I have a custom theme
    if (sSummon == "")
    {
/*
I completely removed this portion since it's really specific to CoA, but basically, it would look like
the two sections above except instead of checking if they have reagents or books, you will check if they
have a deity, a classe, a race, a feat, an alignement or anything special that would grant them a special
summoning theme.
It's really up to you to determine who will have access to which theme in your module and the main default
ones that work without reagents or books should be defined here.
I'll just leave an example
*/
        //I have no regeants, so continue.
        if (GetDeity(oPC) == "DeityTheme1") {             // summon theme 1
            sSummon = GetSummonResRefTheme1(nSpellID);
        } else if (GetRacialType(oPC) == RACIAL_TYPE_2) { // summon theme 2
            sSummon = GetSummonResRefTheme2(nSpellID);
        }
    }

    //** in case I could not determine anything, fall back on the old functions
    if (sSummon == "")
    {
        sSummon = GetSummonResRefDefault(nSpellID);
    }

    //** here I will store the summoned creature effect
    effect eSummon;

    //** if it's not a PC
    if (!GetIsPC(OBJECT_SELF))
    {
        //** NPCs do not have henches
        eSummon = EffectSummonCreature(sSummon, iVFX);
        ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), RoundsToSeconds(FloatToInt(nDuration)));
    } else {
        //** here I will store the summoned creature object
        object oSummon;
        int iMaxSummons = 1;

        //** Mages specialising in conjuration will have special perks, as in
        //** having the summons longer and being able to summon more at the same time.
        if (GetHasFeat(FEAT_SPELL_FOCUS_CONJURATION))
        {
            iMaxSummons = 2;
            nDuration *= 1.25;
        }
        if (GetHasFeat(FEAT_GREATER_SPELL_FOCUS_CONJURATION))
        {
            //** does iMaxSummons ++; twice since taking GSF CONJ removes SF CONJ
            iMaxSummons = 3;
            //** this might have to be increased too, not sure?
            nDuration *= 1.25;
        }

        //** count the henchmen the PC has, and how many of them are summons
        int iCount;
        int iSummonCount = 0;
        object oHench;
        for (iCount=1; iCount<99; iCount++)
        {
            oHench = GetHenchman(OBJECT_SELF, iCount);
            if (oHench == OBJECT_INVALID)
            {
                break;
            } else if (GetLocalInt(oHench, "iIAmASummonedCreature"))
                iSummonCount++;
        }

        //** prepare the unsummon effect
        effect eUnsummon = EffectVisualEffect(VFX_IMP_UNSUMMON);

        if (iSummonCount >= iMaxSummons)
        {
            //** the guy has more than he can hold, unsummon the first summons
            int i0;
            for (i0=1; i0<iCount; i0++)
            {
                oHench = GetHenchman(OBJECT_SELF, i0);
                if (GetLocalInt(oHench, "iIAmASummonedCreature"))
                {
                    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eUnsummon, oHench, 6.0);
                    DestroyObject(oHench, 2.5);
                    i0 = 999;
                    break;
                }
            }
        }

        //** create a new summons with some nice effects
        eSummon = EffectVisualEffect(iVFX);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eSummon, GetSpellTargetLocation());
        oSummon = CreateObject(OBJECT_TYPE_CREATURE, sSummon, GetSpellTargetLocation());
        if (oSummon == OBJECT_INVALID)
        {
            WriteTimestampedLogEntry( "BUG: Unable to create summon with resref " + sSummon
                + " for " + GetName(oPC) + " and spell ID " + IntToString(nSpellID));
            SpeakString( "BUG: Unable to create summon with resref " + sSummon
                + " for " + GetName(oPC) + " and spell ID " + IntToString(nSpellID));

        } else {
            //** buff the summon if he has the animal domain and used his default summons
            if (GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER) && sSummon == GetSummonNatureAllyResRef(nSpellID)) {
/*
I'll let you decide what to apply here, you can also move this elsewhere if you want the effect to be summoning a more powerful creature
*/
            }

            //** dispel invisibility if everything worked and the caster is invisible
            effect eEff = GetFirstEffect(OBJECT_SELF);
            while (GetEffectType(eEff) != EFFECT_TYPE_INVALIDEFFECT) {
                if (GetEffectType(eEff) == EFFECT_TYPE_INVISIBILITY) {
                    RemoveEffect(OBJECT_SELF, eEff);
                    break;
                }

                eEff = GetNextEffect(OBJECT_SELF);
            }
/*
Up to you to leave the invisibility dispel in. Multiple summon with invisibility is very powerful however.
*/

            AddHenchman(OBJECT_SELF, oSummon);

            //** mark us as summons to make a distinction to other henchmen
            SetLocalInt(oSummon, "iIAmASummonedCreature", 1);
            SetLocalInt(oSummon, "iIGiveNoXP", 1);
/*
You'll have to edit your XP script so that when a creature is marked iIGiveNoXP, it does
not give any. Otherwise, people can summon allies and kill them to make XP which is lame.
*/

            //** after the duration, play the Unsummon VFX and destroy the henchman, dropping all gear he has
            DelayCommand((RoundsToSeconds(FloatToInt(nDuration))-2.5), ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eUnsummon, oSummon, 6.0));
            DestroyObject(oSummon, RoundsToSeconds(FloatToInt(nDuration)));
        }
    }
}


Quote
Lastly, make an include file (or define the function in the same script?) that will define each GetSummonResRefTheme# functions. They will look like this, but you can add even more diversification on what is summoned based on alignement, deity or even randomness!

Quote
Code:
// cs_summon__inc made by Mr.Moloch, modified by SFP and Snowstorm

// Function declarations
string GetSummonResRefDefault(int nSpellID);
string GetSummonResRefTheme1(int nSpellID);
string GetSummonResRefTheme2(int nSpellID);
/*
You can add more function for new themes of course...
*/

// Default theme
string GetSummonResRefDefault(int nSpellID)
{
/*
I'll leave it blank here, but don't forget to make a great default theme.
The one we use on CoA gives different creatures depending of the caster's alignement.
*/
}

// Theme1
string GetSummonResRefTheme1(int nSpellID)
{
    string sSummon;

    switch (nSpellID) {
    case SPELL_SUMMON_CREATURE_I:
        sSummon = "Resref_Level1_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_II:
        sSummon = "Resref_Level2_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_III:
        sSummon = "Resref_Level3_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_IV:
        sSummon = "Resref_Level4_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_V:
        sSummon = "Resref_Level5_Summon_Theme1";
        break;
    case  SPELL_SUMMON_CREATURE_VI:
        sSummon = "Resref_Level6_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_VII:
        sSummon = "Resref_Level7_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_VIII:
        sSummon = "Resref_Level8_Summon_Theme1";
        break;
    case SPELL_SUMMON_CREATURE_IX:
        sSummon = "Resref_Level9_Summon_Theme1";
        break;
    }
    return sSummon;
}


// Theme2
string GetSummonResRefTheme2(int nSpellID)
{
    string sSummon;

    switch (nSpellID) {
    case SPELL_SUMMON_CREATURE_I:
        sSummon = "Resref_Level1_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_II:
        sSummon = "Resref_Level2_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_III:
        sSummon = "Resref_Level3_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_IV:
        sSummon = "Resref_Level4_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_V:
        sSummon = "Resref_Level5_Summon_Theme2";
        break;
    case  SPELL_SUMMON_CREATURE_VI:
        sSummon = "Resref_Level6_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_VII:
        sSummon = "Resref_Level7_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_VIII:
        sSummon = "Resref_Level8_Summon_Theme2";
        break;
    case SPELL_SUMMON_CREATURE_IX:
        sSummon = "Resref_Level9_Summon_Theme2";
        break;
    }
    return sSummon;
}

/*
You can add more function for new themes of course...
*/

/*
This one may be useful if you take alignement in consideration to determine what will be summoned.
/*

//  LG=0   NG=1   CG=2
//  LN=3   TN=4   CN=5
//  LE=6   NE=7   CE=8
int DNDAlignment(object oPC);
int DNDAlignment(object oPC)
{
  int i;
  if(GetAlignmentGoodEvil(oPC)==ALIGNMENT_GOOD) {
    switch(GetAlignmentLawChaos(oPC)) {
      case ALIGNMENT_LAWFUL:    i=0;                             break;
      case ALIGNMENT_NEUTRAL:   i=1;                             break;
      case ALIGNMENT_CHAOTIC:   i=2;                             break;
    }
  }
  if(GetAlignmentGoodEvil(oPC)==ALIGNMENT_NEUTRAL) {
    switch(GetAlignmentLawChaos(oPC)) {
      case ALIGNMENT_LAWFUL:    i=3;                             break;
      case ALIGNMENT_NEUTRAL:   i=4;                             break;
      case ALIGNMENT_CHAOTIC:   i=5;                             break;
    }
  } else if(GetAlignmentGoodEvil(oPC)==ALIGNMENT_EVIL) {
    switch(GetAlignmentLawChaos(oPC)) {
      case ALIGNMENT_LAWFUL:    i=6;                             break;
      case ALIGNMENT_NEUTRAL:   i=7;                             break;
      case ALIGNMENT_CHAOTIC:   i=8;                             break;
    }
  }
  return i;
}



Now mind you I'm don't fully understand everything here, nor do I know if this is possible on this server. Just something I would like to see implimented.

Darkelf30420

  • Outlander
  • **
  • Posts: 80
Re: new summoning script
« Reply #1 on: January 28, 2011, 10:25:17 PM »
Bumping this.

This is for the few mages and clerics I've come across, and something I would like seen done.

Examples are a L.G mage casts summon 3 and instead of calling a dire wolf, you call forth a lantern archon. If said mage was L.E. he/she would call forth a fiendish wolf/panther.  Its a lovley system, and only slightly bugged. Biggest issuse is makeing the monsters corectly from playing on my module. If you have spell focus (conjuration) you at lvl 4/5-ish would be able to summon two creatures. Level 8/9-ish and great focus would give you acess to three summons.

Miuo

  • Guest
Re: new summoning script
« Reply #2 on: January 29, 2011, 12:50:17 AM »
I agree, i'm from a server with such as well. I find the generic summon system a bit boring. But i'm happy either way ^-^.

Ophie Kitty

  • Inactive - Quit
  • Dark Power
  • ******
  • Posts: 1201
Re: new summoning script
« Reply #3 on: January 29, 2011, 05:14:38 AM »
I've actually experimented with multiple summons at the level range of PotM, and I highly recommend -not- including that, unless the summons were to be nerfed even further.

The issue, if I recall correctly, is the fact that the server is pushing beyond its limits for resources, and each summon theme would require nine creatures (one for each level of the spell) on the palette. I'm pretty sure you snagged that from CoA's forums, and of course it wouldn't transfer directly into PotMs systems.

I do agree however, it would be nice to at least see some more ravenlofty summons rather than badgers, wolves, bears, and elementals. (And maybe better choices for planar binding spells)

Emomina

  • Dark Power
  • ******
  • Posts: 2645
Re: new summoning script
« Reply #4 on: January 29, 2011, 05:16:18 AM »
(And maybe better choices for planar binding spells)
I love slaadi
I survived the Blue Water Inn Massacre and all I got was this t-shirt.

Ophie Kitty

  • Inactive - Quit
  • Dark Power
  • ******
  • Posts: 1201
Re: new summoning script
« Reply #5 on: January 29, 2011, 05:25:49 AM »
Lawful Neutral summoning beings of chaos. :(

HellsPanda

  • Dark Power
  • ******
  • Posts: 6598
Re: new summoning script
« Reply #6 on: January 29, 2011, 05:27:48 AM »
makes sense!, where else would Slaadi go except to spread chaos around the lawfull?

Geiger

  • Guest
Re: new summoning script
« Reply #7 on: January 29, 2011, 03:19:46 PM »
I think what needs to be done is that there be some flavor summons that are balanced/made useful for each level and maybe creating a difference in summons between a wizard/sorc/bard, cleric, and ranger/druid.

IE: Wizard/Sorc/Bard would summon magical creatures from like Tressyms, goblins, and all the way to Unicorns lawl
Clerics: Similar with above, but maybe alignment based, or just make them like the above.
Druids/Rangers: Summon powerful and mortal creatures.


I'd also like to see the Planar Binding spells, as well as Ally, when used, for them to be Representative of alignment, as well as after the spell is over having the monsters become hostile or at least annoying as if you gate beings in from outside the plane, or even within, they don't go away they are stuck here and now have a phylactery.  So if you summon a Pitfiend, it is going to kill you after the summon is up because you just ruined his day. lawl

Miuo

  • Guest
Re: new summoning script
« Reply #8 on: January 29, 2011, 05:04:02 PM »
Didn't think of all the work involved, the though is nice but i suppose that would be pushing it quite a bit then. :o!

 

IE: Wizard/Sorc/Bard would summon magical creatures from like Tressyms, goblins, and all the way to Unicorns lawl
Clerics: Similar with above, but maybe alignment based, or just make them like the above.
Druids/Rangers: Summon powerful and mortal creatures.


I want a pretty pink unicorn summon! I will names her skittles!

respawnaholic

  • Dark Lord
  • *****
  • Posts: 796
Re: new summoning script
« Reply #9 on: January 29, 2011, 05:55:28 PM »
I want an armored war-pig.

Threefold

  • Dark Lord
  • *****
  • Posts: 638
Re: new summoning script
« Reply #10 on: January 29, 2011, 07:08:02 PM »
Level 20 Druid summons C'thulu.

Miuo

  • Guest
Re: new summoning script
« Reply #11 on: January 29, 2011, 07:11:23 PM »
I want to summon Morticia :D!

HellsPanda

  • Dark Power
  • ******
  • Posts: 6598
Re: new summoning script
« Reply #12 on: January 30, 2011, 03:24:15 AM »
you would need to summon a level 20 monk... so you can summon Bolo?

Miuo

  • Guest
Re: new summoning script
« Reply #13 on: January 30, 2011, 01:14:43 PM »
I dunn wanna summon a monk >: / I want to summon a spell using vampire to eats all the baddies >: D!  Or, i want to summon Jadow (nod nod) Let him slaughter everything in sight for me ^-^

Jadow_Valroth

  • Undead Slayer
  • ***
  • Posts: 240
    • My facebook
Re: new summoning script
« Reply #14 on: January 30, 2011, 02:17:15 PM »
[Jadow, slaughtering the minions of the Invidian camp when suddenly.]  :shock: [He appears before Miuo in a cloud of smoke.]

"Oh...So this is what it feels like.."
Jadow Valroth - Fighter/Rogue
Chanler Dermar - Cleric of Pelor
Ravish Yale - Wizard
Victor Malvaious - Paladin
Kaliev Valen - Druid
Jerrick Malas - Fighter/WM
Myth Valandil - Bard

Miuo

  • Guest
Re: new summoning script
« Reply #15 on: January 30, 2011, 02:37:50 PM »
(puts a pretty pink sparky collar on Jadow and attaches it to a matching leash, before telling him to "sick" those who appose the mighty Miuo)

Bluebomber4evr

  • Head DM, Developer and Ravenloft Trivia Guru/Community Council
  • Administrator
  • Dark Power
  • *
  • Posts: 20622
    • http://www.nwnravenloft.com
Re: new summoning script
« Reply #16 on: January 30, 2011, 05:38:56 PM »
I do have plans to one day update the summons to be more random, so that when you cast the spell it would randomly pick from a list of six creatures, as well as giving more options for the planar ally spells, but they are on the back burner for now, until we sort out the various palette issues we have.

Bluebomber4evr: The Justice, not you, since 2002

Shadowthrone

  • Guest
Re: new summoning script
« Reply #17 on: January 30, 2011, 05:45:39 PM »
Would a possible solution to palette issues be to have the spells summon creatures already in the module?

I don't really know how it works.

EO

  • Assistant Head DM/Developer
  • Head DMs
  • Dark Power
  • ******
  • Posts: 22469
  • The one and only, the one everyone wants to be!
Re: new summoning script
« Reply #18 on: January 30, 2011, 05:51:00 PM »
Would a possible solution to palette issues be to have the spells summon creatures already in the module?

I don't really know how it works.

No. You need to create custom creatures because of the scripts they need to run and the faction they need to be in.

Bluebomber4evr

  • Head DM, Developer and Ravenloft Trivia Guru/Community Council
  • Administrator
  • Dark Power
  • *
  • Posts: 20622
    • http://www.nwnravenloft.com
Re: new summoning script
« Reply #19 on: January 30, 2011, 05:52:09 PM »
Would a possible solution to palette issues be to have the spells summon creatures already in the module?

I don't really know how it works.
No, that's actually the problem, there's too much stuff in the module. We can remedy this by putting the creature blueprints into a hak, but there still needs to be a lot of work done on cleaning up the palette that should be done first, regardless.

Bluebomber4evr: The Justice, not you, since 2002

Norture

  • Still noobin' it up.
  • Dark Power
  • ******
  • Posts: 3516
  • ???
Re: new summoning script
« Reply #20 on: January 30, 2011, 08:13:38 PM »
I do have plans to one day update the summons to be more random, so that when you cast the spell it would randomly pick from a list of six creatures, as well as giving more options for the planar ally spells, but they are on the back burner for now, until we sort out the various palette issues we have.

!
So summon creature 1 could summon random forest critters? Like minks or raccoons? If so, could summon creature 1 be made to last a lot longer than it currently does so I could have a mink pet to RP with? It sounds like it could be fun!   :D

Badelaire

  • Guest
Re: new summoning script
« Reply #21 on: January 31, 2011, 06:47:28 AM »
I do have plans to one day update the summons to be more random, so that when you cast the spell it would randomly pick from a list of six creatures, as well as giving more options for the planar ally spells, but they are on the back burner for now, until we sort out the various palette issues we have.

!
So summon creature 1 could summon random forest critters? Like minks or raccoons? If so, could summon creature 1 be made to last a lot longer than it currently does so I could have a mink pet to RP with? It sounds like it could be fun!   :D

Remember in Ravenloft that summoning is altered so that whatever gets summoned to the demiplane from an outside source stays there. It doesn't vanish after a time as the spell still does. Now, imagine that Balor/Death Slaad/Archon you just yanked from their home realises they're stuck here and you're to blame for it. I think miffed wouldn't quite cover their reaction.

Ternce

  • Undead Master
  • ****
  • Posts: 385
  • Ye be naught but a worm.
Re: new summoning script
« Reply #22 on: January 31, 2011, 07:39:28 AM »
I think I might be the single voice to vote against this.  On other servers where I've seen scripts like these, the summoned creatures were ridiculously overpowered, and as a result of them being in the module, low level encounters were balanced around them, thus ruining the server forever.

If it were only an aestethic skin you got from the summon, I'd say take the ball and run as far and as fast as you could go, but I know that people would want the summoned creatures to have authentic stats relevant to the summon.  While other overpowered summons would be a good alternative to every mage taking the assassin imp, I'd really rather just see the assassin imp and other powerful summons removed (or the imp's damage reduction reduced to 5/+1 which would later increase to its natural 10/+2 at around level 5) to force mages and clerics to make friends during the early levels before they transcend to godhood and can get away with being something silly like a melee wizard (which are surprisingly abundant and effective).

This is really just my opinion, and I'm not saying it wouldn't be cool, because it would, but in terms of gameplay balance, I don't like it. 

Norture

  • Still noobin' it up.
  • Dark Power
  • ******
  • Posts: 3516
  • ???
Re: new summoning script
« Reply #23 on: January 31, 2011, 01:05:14 PM »
I do have plans to one day update the summons to be more random, so that when you cast the spell it would randomly pick from a list of six creatures, as well as giving more options for the planar ally spells, but they are on the back burner for now, until we sort out the various palette issues we have.

!
So summon creature 1 could summon random forest critters? Like minks or raccoons? If so, could summon creature 1 be made to last a lot longer than it currently does so I could have a mink pet to RP with? It sounds like it could be fun!   :D

Remember in Ravenloft that summoning is altered so that whatever gets summoned to the demiplane from an outside source stays there. It doesn't vanish after a time as the spell still does. Now, imagine that Balor/Death Slaad/Archon you just yanked from their home realises they're stuck here and you're to blame for it. I think miffed wouldn't quite cover their reaction.

Can summon creature 1 get turned into conjure critter then? :(

Threefold

  • Dark Lord
  • *****
  • Posts: 638
Re: new summoning script
« Reply #24 on: January 31, 2011, 01:32:56 PM »
HORDES UPON HORDES OF BADGERS