Aller au contenu

Photo

Multiple Summoned Creatures?


  • Veuillez vous connecter pour répondre
24 réponses à ce sujet

#1
Forever Sunrise

Forever Sunrise
  • Members
  • 4 messages

Over the years, I've seen several servers implementing systems which allow players to have more than one summoned monster active at a time. However, these have all been unique to the modules in question; I've never encountered any community content that enables them. I'd like to know if anybody out there has ever done a system that allows a caster to cast and control more than one summoned monster at a time, and if they wouldn't mind working with me to adapt that system to a module that I'm currently working on.

 

In addition to this, I'm also looking for any systems that allow a caster to choose between a variety of summoned monsters instead of the same one each time. I've seen this as well, either as an option in rest menus or set by the unique powers of certain inventory items. Can I get the details on how this was done?

 

Please note: this is all for NwN1.



#2
kalbaern

kalbaern
  • Members
  • 824 messages

Here's a link that allows Animate Dead to create multiple Skeletons and could be a good starting place: http://neverwinterva...-dead-spell-fix

 

Generally, multiple summons are handled either by adding them as a henchman instead, or creating the creatures and applying a domination effect to them.



#3
MagicalMaster

MagicalMaster
  • Members
  • 2 000 messages

I'd like to know if anybody out there has ever done a system that allows a caster to cast and control more than one summoned monster at a time, and if they wouldn't mind working with me to adapt that system to a module that I'm currently working on.

 

What Kalbaern said.  You technically cannot have more than one summon but you can "fake it."

 

In addition to this, I'm also looking for any systems that allow a caster to choose between a variety of summoned monsters instead of the same one each time. I've seen this as well, either as an option in rest menus or set by the unique powers of certain inventory items. Can I get the details on how this was done?

 

Simple way would be to make an item the PC can't get rid of (cursed) and store information on that.  Let's say you want to let the user choose what type of elemental to summon.  Have 0 represent Air, 1 Earth, 2 Fire, 3 Water.  Can have the item have a unique power to start a conversation and then in the conversation give dialogue options for each type.  When the user selects a type, set a local integer based on their choice (for example, could have the int be called "summontype" and if they select Earth from dialogue then you set the value to 1).

 

Finally, when the user casts the summon spell check the int on the item and summon the appropriate type.



#4
WhiZard

WhiZard
  • Members
  • 1 204 messages

What Kalbaern said.  You technically cannot have more than one summon but you can "fake it."

 

 

You can if the multiple summons are created in the same script.

 

I usually go for summon armies.  Create one summon as the leader and then create a large number of summoned followers attached to the leader.



#5
Shadooow

Shadooow
  • Members
  • 4 470 messages

my community patch has a module switch enabling this, see here

also as a player all you need to do to enable this in any module using default spells is to spawn PC Widget tool and enable this option in conversation


  • henesua et Kato - aiment ceci

#6
meaglyn

meaglyn
  • Members
  • 808 messages

You can do it differently. You can have more than one summon. The engine destroys the previous one when the new one is applied. But if you make the existing ones temporarily undestroyable they will stick around past that time.  It seems to work pretty well for me. 

 

Edit: What Shadooow said...



#7
Shadooow

Shadooow
  • Members
  • 4 470 messages

You can do it differently. You can have more than one summon. The engine destroys the previous one when the new one is applied. But if you make the existing ones temporarily undestroyable they will stick around past that time.  It seems to work pretty well for me. 

 

Edit: What Shadooow said...

yes, the only drawback of this method is that there is visible"unsummon" vfx when you summon new one, however if im not mistaken the summon of summon method will destroy all summons if the leader dies



#8
MagicalMaster

MagicalMaster
  • Members
  • 2 000 messages

You can if the multiple summons are created in the same script.

 

Interesting.  Clearly it'd be nice to be able to summon them sequentially versus one mass summon, though.

 

But if you make the existing ones temporarily undestroyable they will stick around past that time.  It seems to work pretty well for me. 

 

Any weird side effects with the AI?

 

however if im not mistaken the summon of summon method will destroy all summons if the leader dies

 

That *should* be correct, yes.



#9
meaglyn

meaglyn
  • Members
  • 808 messages

Any weird side effects with the AI?

 

I haven't noticed anything.  The creature still has master set correctly and the same AI scripts. This is the same method Shadooow is talking about using in CPP, btw. 


  • henesua aime ceci

#10
kalbaern

kalbaern
  • Members
  • 824 messages

I haven't noticed anything.  The creature still has master set correctly and the same AI scripts. This is the same method Shadooow is talking about using in CPP, btw. 

Do you have a code snippet to share? I'd like to do some experimenting as I have a few applications it could prove useful in.



#11
Shadooow

Shadooow
  • Members
  • 4 470 messages

Interesting.  Clearly it'd be nice to be able to summon them sequentially versus one mass summon, though.

 

undestroyable method allows that
 

Do you have a code snippet to share? I'd like to do some experimenting as I have a few applications it could prove useful in.

nw_ch_summon9:

 

 

    //1.71: multisummoning feature
    if(GetModuleSwitchValue("71_UNLIMITED_SUMMONING"))
    {
        int maxSummon = GetModuleSwitchValue("71_UNLIMITED_SUMMONING");
        int numSummon,nTh = 1;
        location lTarget = GetLocation(OBJECT_SELF);
        object oSummon, oPC = GetNearestCreatureToLocation(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,lTarget,nTh);
        while(GetIsObjectValid(oPC))
        {
            numSummon = 1;
            while(GetIsObjectValid(GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC,numSummon)))
            {
               numSummon++;
            }
            if(maxSummon == 1 || maxSummon >= numSummon)
            {
                oSummon = GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC,1);
                AssignCommand(oSummon,SetIsDestroyable(FALSE,FALSE,FALSE));
                AssignCommand(oSummon,DelayCommand(0.01,SetIsDestroyable(TRUE,FALSE,FALSE)));
            }
            oPC = GetNearestCreatureToLocation(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,lTarget,++nTh);
        }
    }


  • henesua aime ceci

#12
meaglyn

meaglyn
  • Members
  • 808 messages

What shadooow said... again :)

 

I do it the spell code right before applying the new summon effect to the caster. So the loop is a little different but the real code is the same. 



#13
Forever Sunrise

Forever Sunrise
  • Members
  • 4 messages

I take it the SetIsDestroyable command doesn't make the creature invulnerable in the process? Sorry, I'm rather new at Nwscript.



#14
kalbaern

kalbaern
  • Members
  • 824 messages

I take it the SetIsDestroyable command doesn't make the creature invulnerable in the process? Sorry, I'm rather new at Nwscript.

The command that makes them un-destroyable is reset a hundredth of a second later to make them destroyable.



#15
kalbaern

kalbaern
  • Members
  • 824 messages

Just wanted to say thanks for the code Shadooow. I doubt I'll allow my players to have multiple summons, at least not soon and with out some balancing testing, but I'm playing around with some NPCs and this has fit the bill nicely. I now have as one of my lower level "Boss" NPCs, a Xvart Rat Master who can summon small swarms of annoying little beady eyed rodents.


  • henesua et Kato - aiment ceci

#16
MagicalMaster

MagicalMaster
  • Members
  • 2 000 messages

at least not soon and with out some balancing testing

 

This is exactly what I was thinking, that it's a rather major balance change.  Summons are designed to be better than other spells precisely because only one can be active at a time.  99% of the time a level 6 wizard is going to get far more out of a Dire Wolf than out of a single Fireball.


  • kalbaern aime ceci

#17
kalbaern

kalbaern
  • Members
  • 824 messages

This is exactly what I was thinking, that it's a rather major balance change.  Summons are designed to be better than other spells precisely because only one can be active at a time.  99% of the time a level 6 wizard is going to get far more out of a Dire Wolf than out of a single Fireball.

On my own PW, there's an XP penalty, less than for respawning, if your familiar or companion dies. So to help folks treat them less like fodder and lessen the blow, all of our summons are custom and generally slightly better than the default ones. Another thing we have is options to choose unique summons, based on class, alignment, race, deity, at times. What I might play around with is allowing some of the higher level summoning spells create several lesser creatures instead of the normal single summons. Just something I'm deliberating for down the road. Right now, I'll keep it as something unique for a few of my "Boss" NPCs.



#18
WhiZard

WhiZard
  • Members
  • 1 204 messages

What I might play around with is allowing some of the higher level summoning spells create several lesser creatures instead of the normal single summons.

 

 

That is exactly how my summon armies work.  Summon a leader with many lesser followers.  If the leader dies, the army disappears.  If you summon something else, the army disappears.  Works well with PM feats to make the class more like a necromancer.


  • Terrorble et 3RavensMore aiment ceci

#19
Terrorble

Terrorble
  • Members
  • 194 messages

Just wanted to say thanks for the code Shadooow. I doubt I'll allow my players to have multiple summons, at least not soon and with out some balancing testing, but I'm playing around with some NPCs and this has fit the bill nicely. I now have as one of my lower level "Boss" NPCs, a Xvart Rat Master who can summon small swarms of annoying little beady eyed rodents.

 

That's very cool.  Consider this idea sto... borrowed.  ;)



#20
Renney77

Renney77
  • Members
  • 2 messages

Hey guys, the code that makes the summon temporarily undestroyable. Where does one insert that? I mean do you have to create a new script or do you copy it into an existing script? Also does it work for all summons or only for the spell summon creature?

Thanks to anybody who can get back to me on this.



#21
meaglyn

meaglyn
  • Members
  • 808 messages

Shadooow's code as he noted above goes in nw_ch_summon9 which is the spawn in script for associates/summons.  It should work for any creature that has that script as the onspawn handler in the blueprint.  I have all summon like spells going through a single routine so I do it in there instead. That has the same effect, but if you don't have that it would be easier (fewer places to change for example) to do it in nw_ch_summon9.



#22
Renney77

Renney77
  • Members
  • 2 messages

Thank you for your time Meaglyn, though I still can't get it to work. I'll just list what I've done to try and make it take effect in a custom module of mine and if you've got the time to read this and reply I'd greatly appreciate it.

 

Basicaly I load up the script nw_ch_summon_9 in the script editior, press ok to use script edition as module exclusive. Then I have tried pasting the code Shadooow showed into various parts of the script, inside the void main() and outside to no effect ingame when I run the module.

 

If that is enough detail, am I missing an obvious step or is this just a strange thing not to work?? 



#23
Shadooow

Shadooow
  • Members
  • 4 470 messages

Thank you for your time Meaglyn, though I still can't get it to work. I'll just list what I've done to try and make it take effect in a custom module of mine and if you've got the time to read this and reply I'd greatly appreciate it.

 

Basicaly I load up the script nw_ch_summon_9 in the script editior, press ok to use script edition as module exclusive. Then I have tried pasting the code Shadooow showed into various parts of the script, inside the void main() and outside to no effect ingame when I run the module.

 

If that is enough detail, am I missing an obvious step or is this just a strange thing not to work?? 

The code I pasted is for scripters and module builders who wants this feature and are too lazy to rip it off from my patch on their own. The code itself is dependant on a feature called module switch which builder have to turn ON. But any builder proficient in nwscript will not copypaste this and remove the initial condition for a switch and rewrite it on his own. What I offered there is a knowhow not the complete product.

 

If you are player, all you need to do is install my community patch, spawn PC Widget item via console and enable multisummoning feature. Thats it.


  • Squatting Monk aime ceci

#24
The Mad Poet

The Mad Poet
  • Members
  • 425 messages

 

 

On my own PW, there's an XP penalty, less than for respawning, if your familiar or companion dies. So to help folks treat them less like fodder and lessen the blow, all of our summons are custom and generally slightly better than the default ones. Another thing we have is options to choose unique summons, based on class, alignment, race, deity, at times. What I might play around with is allowing some of the higher level summoning spells create several lesser creatures instead of the normal single summons. Just something I'm deliberating for down the road. Right now, I'll keep it as something unique for a few of my "Boss" NPCs.

 

I know why people do this, but I hate penalizing players for class features. I only give a penalty when using a familiar because that isn't supposed to be a 'tank'. It's a small one at that.

 

It's like penalizing a fighter because they use full plate, a tower shield, and a bastard sword to amp their AC and dmg as high as possible. Just feels wrong to me.



#25
Supreme_Pizza

Supreme_Pizza
  • Members
  • 45 messages

Spell School - Conjuration

 

Looking for no HAK solution.

Basically looking to reward pure (single class) casters.