Jump to content

Summon Potions


theuseless

Recommended Posts

Hi. I have made potions which summon creatures regardless of the player skill. I wish to add an activator which will check for ingredients, in order to create the potions. All the potions are tested and work fine. I will make a message box to display the summon names.

 

What I want is ingredient requirements. I was thinking of making them all a generic base, such as Void Salts, Glow Dust, and Ectoplasm. You would then add Clanfear Claws to make the summon Clanfear potion, Fire Salts for the Fire Atronoch, etc. It would be nice to get away from a generic requirement, or make the generic requirement plant based.

 

If I get help here, I will publish the mod seperately as a modder's resource, rather than force people to reverse engineer it from my mod (which I allow).

 

Summon Potions:

 

Clanfear

Dark Seducer

Dremora Lord

Frost Atronoch

Flame Atronoch

Flesh Atronoch

Gloom Wraith

Lich

Ravenous Hunger

Sewn Flesh Atronoch

Spider Daedra

Storm Atronoch

Xivalli

 

With Summon Xenomorph and Xenomorph Clanfear potions on the way.

 

I use the potions as NPC additions. You can also loot/purchase them from the NPC's. I would love to see some ideas. There are so many things I need to finish still...

 

-edit-

I want to use Vanilla resources only. The mod is heavy as it is, without making dependencies.

Edited by theuseless
Link to comment
Share on other sites

I like the nirnroot idea. I might just try it. I forsee the potions being fairly hard to make, as they require rare ingredients which must be looted or purchased. Nirnroot doesn't really serve that great of a purpose in vanilla oblivion. I know there are mods out there which make it more available and more useful. I will look into these to see if I can balance the potions with it.
Link to comment
Share on other sites

Have you ever seen the Pitcher Plants in Oblivion? They are rare (except in certain areas - marshes), and have NO harvestable ingredient. You could make an ingredient of your own (Pitcher essence/oil?) and assign it to the generic Oblivion plant at suitable seasonal harvest rates, then make it one of your prerequisites.
Link to comment
Share on other sites

  • 3 weeks later...

Well, I have made the mod, but it doesn't seem to be uploading properly at the moment. I will post back here when I get it sorted out. The scripting works fine. Here are the two scripts I made, one for an activator, one for a quest. Potion bottle names are included as well.

 

 

 

scn xxxSummonStationScript

 

short ingredients

 

begin OnActivate

 

set ingredients to 0

set xxxSummonStationQuest.stop to 0

set xxxSummonStationQuest.pause to 0

set xxxSummonStationQuest.potion to 0

 

if player.getitemcount MS39Nirnroot > 0

if player.getitemcount GlowDust > 0

if player.getitemcount Ambrosia > 0

set ingredients to 1

else

set ingredients to 0

endif

else

set ingredients to 0

endif

else

set ingredients to 0

endif

 

if ingredients == 1

set xxxSummonStationQuest.stop to 1

set xxxSummonStationQuest.fQuestDelayTime to 0.1

startquest xxxSummonStationQuest

else

message "You lack the primary ingredients"

endif

 

end

 

Begin onLoad

 

set ingredients to 0

set xxxSummonStationQuest.stop to 0

set xxxSummonStationQuest.pause to 0

set xxxSummonStationQuest.potion to 0

 

end

 

 

 

 

 

scn xxxSummonStationQuestScript

 

short stop

short pause

short potion

short potion

float fQuestDelayTime

 

begin GameMode

 

if stop == 0

set potion to 0

set potion to 0

set pause to 0

set xxxSummonStationRef.ingredients to 0

stopquest xxxSummonStationQuest

return

else

 

if pause == 0

messagebox "Do you wish to make a potion?" "No", "Clannfear", "Daedroth", "Dark Seducer", "Dremora Lord", "Flame Atronach", "Flesh Atronach", "Frost Atronach", "Gloom Wraith", "...more choices...", "Lich", "Ravenous Hunger", "Sewn Flesh Atronach", "Spider Daedra", "Storm Atronach", "Xivilai"

set pause to 1

endif

 

if pause == 1

set potion to getbuttonpressed

if potion < 0

return

else

set pause to 2

endif

endif

 

if pause == 2

if potion == 0

set stop to 0

return

elseif potion == 1

if player.getitemcount ClannfearClaws > 0

player.removeitem ClannfearClaws 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonClanfear 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 3

endif

endif

 

if pause == 3

if potion == 2

if player.getitemcount DaedrothTeeth > 0

player.removeitem DaedrothTeeth 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonDaedroth 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 4

endif

endif

 

if pause == 4

if potion == 3

if player.getitemcount SEDBlackTar > 0

player.removeitem SEDBlackTar 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonDark 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 5

endif

endif

 

if pause == 5

if potion == 4

if player.getitemcount DaedraHeart > 0

player.removeitem DaedraHeart 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonDlord 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 6

endif

endif

 

if pause == 6

if potion == 5

if player.getitemcount FireSalts > 0

player.removeitem FireSalts 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonFatr 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 7

endif

endif

 

if pause == 7

if potion == 6

if player.getitemcount DarkHumanSkin > 0

player.removeitem DarkHumanSkin 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonFlatr 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 8

endif

endif

 

if pause == 8

if potion == 7

if player.getitemcount FrostSalts > 0

player.removeitem FrostSalts 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonFlrtr 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 9

endif

endif

 

if pause == 9

if potion == 8

if player.getitemcount Ectoplasm > 0

player.removeitem Ectoplasm 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonGWraith 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 10

endif

endif

 

if pause == 10

if potion == 9

messagebox "...more choices..." "Lich", "Ravenous Hunger", "Scamp", "Spider Daedra", "Storm Atronach", "Xivilai", "...previous choices..."

set pause to 11

endif

endif

 

if pause == 11

set potion to (getbuttonpressed + 10)

if potion < 10

return

else

set pause to 12

endif

endif

 

 

if pause == 12

if potion == 10

if player.getitemcount Bonemeal > 0

player.removeitem Bonemeal 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonLich 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 13

endif

endif

 

if pause == 13

if potion == 11

if player.getitemcount SEHungerTongue > 0

player.removeitem SEHungerTongue 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonRhunger 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 14

endif

endif

 

if pause == 14

if potion == 12

if player.getitemcount ScampSkin > 0

player.removeitem ScampSkin 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonScamp 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 15

endif

endif

 

if pause == 15

 

set pause to 16

 

endif

 

if pause == 16

if potion == 13

if player.getitemcount DaedraSilk > 0

player.removeitem DaedraSilk 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonSpiderD 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 17

endif

endif

 

if pause == 17

if potion == 14

if player.getitemcount VoidSalts > 0

player.removeitem VoidSalts 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonStAtr 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 18

endif

endif

 

if pause == 18

if potion == 15

if player.getitemcount DaedraVenin > 0

player.removeitem DaedraVenin 1

player.removeitem GlowDust 1

player.removeitem MS39Nirnroot 1

player.removeitem Ambrosia 1

player.additem xxxPotionSummonXiv 1

set stop to 0

return

else

message "You lack the secondary ingredient"

set stop to 0

return

endif

else

set pause to 19

endif

endif

 

if pause == 19

if potion == 16

set potion to 0

set pause to 0

return

endif

endif

 

else

return

endif

 

end

 

 

 

 

 

First you will need to make the objects, including the quest. You Have the potions themselves, the activator and the quest. I am assuming you know how to make these simple objects. You can make the Activator's Editor Id anything you wish. The part you need to name it at is called the "Reference Editor ID". You find this when you first double click the activator in the worldspace. Make sure the Activator is a Persistent Reference as well.

 

Change all instances of xxx to your own prefix. It should be fairly unique. You can do this by using a free program called Notepad++. It has a search and replace feature on the toolbar.

 

Quest name: xxxSummonStationQuest

Activator name: xxxSummonStationRef

 

Potion Bottle names:

 

xxxPotionSummonClanfear

xxxPotionSummonDaedroth

xxxPotionSummonDark

xxxPotionSummonDlord

xxxPotionSummonFatr

xxxPotionSummonFlatr

xxxPotionSummonFlrtr

xxxPotionSummonGWraith

xxxPotionSummonLich

xxxPotionSummonRhunger

xxxPotionSummonScamp

xxxPotionSummonSpiderD

xxxPotionSummonStAtr

xxxPotionSummonXiv

 

You will want to make them use the summon potion effect. Define it for as long as you want, make the potion valuable or not. I chose to make them 90 seconds, auto calculated value for the sample mod.

 

Next you will need to initialize the script variables. Simply copy the scripts below, again changing the xxx out for your prefix.

 

 

;----------------------------------------------

scn xxxSummonStationScript

 

short ingredients

;-----------------------------------------------

 

 

Save this script, then make the second one:

 

 

;----------------------------------------------

scn xxxSummonStationQuestScript

 

short stop

short pause

short potion

short potion

float fQuestDelayTime

;----------------------------------------------

 

Once you have copy/pasted these, you can save them. Make sure that the final script is saved as a quest script. You will now need to attach these to your base objects. Attach the first script to the Activator. The second one, the quest script, gets attached to the quest. Now make sure the quest is marked "Initially Disabled". Now you can make the scripts do things.

 

Copy the two scripts provided, in full. Make sure to alter the xxx out of them. You may choose not to, but any mods that use this would conflict with yours. It is considered rude to do so.

 

Simply copy the scripts and paste over the old versions of them. All the variables are the same. Once you have saved the full length scripts, you are done!!

 

 

 

As always, you should make the stuff unique, replace the xxx with the prefix of your choice. I spent a lot of time testing this on various computers with Xp and 7, all running different hardware. In other words, I extensively playtested it, re-writing scripting until it works on even the most basic computer. For some reason, it won't allow me to download the file after I upload it, so I set the original download as hidden until such a time that I can figure it out. The esp file works fine for me, the zip file works as expected. I just can't get it to d/l from the nexus...

Edited by theuseless
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...