headrush46n2 Posted June 13, 2011 Share Posted June 13, 2011 hi all, im looking for a mod that will allow me to add multiple summons in custom spellmaking, i already have OOO and supreme magicka, and they allow for multiple summons, and i can even buy special spells that will summon little hordes for me, but i wanna create my own horde spell...any help? Link to comment Share on other sites More sharing options...
David Brasher Posted June 13, 2011 Share Posted June 13, 2011 I suspect that Oblivion is not hardcoded correctly for creating this type of spell at the spell-making alter, since it would use custom script effects. So you might have to have something like a menu-box option dialog activated by something like a custom spellmaking alter that only does the custom conjuration spells or else you could change the standard spellmaking alter to ask you a question about which mode you want to go into before using it. Behind all of this would be a ton or prep work and a ton of pre-made creatures for summoning from their various custom holding cells. Lots and lots of repetitive and tedious secretary work. it would probably be more economical to just construct a mod that made the particular multiple summon conjuration spell you want. Link to comment Share on other sites More sharing options...
fg109 Posted June 14, 2011 Share Posted June 14, 2011 I don't think that it'll take too much repetitive work, just a lot of scripting. You'll need a quest script to store some variables, a configuration script for the "summon spell making altar", a spell script, and a script for the summoned creature(s). Quest script: scn questscript array_var spells array_var duration array_var types array_var amount array_var summon Begin GameMode if (spells == 0) let spells := ar_Construct Array let duration := ar_Construct Array let types := ar_Construct Array let amount := ar_Construct Array let summon := ar_Construct Array let spells[0] := spell00ID let spells[1] := spell01ID let spells[2] := spell02ID ; and so on until you feel that's enough spells endif End The spells array is to store the object IDs of all the custom spells. The duration array will store a number that represents the duration of the spell (eg duration[x] represents the duration of spell x). The types array should store a number representing the number of types of creatures you want your summon spell to summon, with type[x] being the number of types you want the spell X to summon . The amount array would be used to store the number of each type of creature to be summoned. So amount[x][n] would be the amount of the nth type of creature that you want spell x to summon. (The nested array should be initialized in the configuration script for the altar.) The summon array is used to store the object IDs of the creature to be summoned. So summon[x][n] would be the object ID of the nth type of creature that you want spell x to summon. (Again, the nested array should be initialized in the configuration script for the altar.) Spell script: scn spellscript ref spellref ref objectref ref tempref ref scriptref short spell short tempshort1 short tempshort2 Begin ScriptEffectStart let spellref := GetPlayerSpell let spell := ar_Find spellref quest.spells let scriptref := SummonedCreatureScript while (tempshort1 < quest.types[spell]) while (tempshort2 < quest.amount[spell][tempshort1]) let objectref := quest.summon[spell][tempshort2] let tempref := Player.PlaceAtMe objectref tempref.SetScript scriptref tempref.ModDisposition Player 100 tempref.AddScriptPackage SummonFollowPlayer let tempshort2 += 1 loop let tempshort2 := 0 let tempshort1 += 1 loop End The "spellref" variable is going to store the spell ID of the summon spell. The "spell" variable will determine which spell the spell is (so what "x" should be in the previous code). Nested while loops are used to summon the creatures via the PlaceAtMe command. Creature script: scn SummonedCreatureScript ref spellref short spell short limit float timer Begin GameMode if (timer == 0) let spellref := GetPlayerSpell let spell := ar_Find spellref quest.spells let limit := quest.duration[spell] endif let timer += GetSecondsPassed if (GetDisabled || timer >= limit) Disable DeleteReference endif EndOnce the creature dies or else the spell reaches its duration, the creature will disable itself. Hopefully the use of the DeleteReference function will prevent save game bloat. The hard part will be scripting the configuration menu... I have an idea that it would be huge and I'm too lazy to try it. Link to comment Share on other sites More sharing options...
schijnn Posted June 14, 2011 Share Posted June 14, 2011 Actually, there might be a simpler way to do this. If you don't mind creating a different spell for every different combination of creatures you want to summon, all this really should require is the ability to add multiple 'summon creature' effects to the same custom spell, just like adding fire, frost, and shock damage effects to a single spell. Unfortunately, I don't usually use conjured creatures, so I couldn't tell you if this is possible in the original game, through Supreme Magicka, or with any other mod. Link to comment Share on other sites More sharing options...
fg109 Posted June 14, 2011 Share Posted June 14, 2011 (edited) OK, even though I said I was too lazy I made this anyway. It works just fine, except I need a good formula to determine how much magicka the spell should cost, how much gold to create it, and what mastery level it should be. Any ideas? Right now I'm thinking about just setting the magicka cost as the sum of the levels of all summoned creatures (using 15 as the level for player offset creatures) with a 0.3 multiplier for seconds of duration, creation cost as double the magicka cost, and mastery level as the magicka cost / 4. EDIT: I don't think it's good enough to upload onto the nexus, so it's on mediafire. You can find the conjuration altar in the arch-mage's quarters of the mages guild. http://www.mediafire.com/?7ayijsvsqct9b82 Edited June 15, 2011 by fg109 Link to comment Share on other sites More sharing options...
Recommended Posts