Jump to content

Vampire Powers - Big Problem


Galejro

Recommended Posts

So I am working on a big Tremere vampire mod (as I did in Oblivion) and I ran into a snag while making the mod lore friendly to Vampire; the Masquerade. The tremere mages are supposed not to have any ability to use human magic (that I can make), but in that stead they use blood as mana, so I figured out the only way to make my mod compatable with any vampire mod in the future is to make the spells cost health instead of mana.

 

So making the spells cost 0 mana was an easy job. But here is the problem, I can make a spell like a blood bolt to deal damage like a fire bolt but I can't make the spell also deal damage to the player.

 

Any Ideas on how to make a spell deal damage to both the target and the player regardless of the spell type and school?

 

(BTW if anyone can also tell me how to retexture a book so you can see that texture in the inventory I'd be glad).

Link to comment
Share on other sites

should be pretty easy to do (maybe...)

 

if you attach this script to your magic effect it should do the trick.

 

Scriptname Whatevs extends ActiveMagicEffect

int Property CasterDamage auto

String Health

Event OnEffectStart(actor akTarget, actor akCaster)

 akCaster.DamageAv(Health, CasterDamage)

EndEvent

then you just hook up your CasterDamage in the properties and you should be good

 

note: this will remove health from the player but only if the spell its attached to hits an actor

Link to comment
Share on other sites

How amazingly simple thx :biggrin:

 

Although I could use a short tutorial on this:

 

1. if my script name is "aaaPenalty1script" than that name replaces "Whatevas" right?

 

2. if I want the spell to deal 20 damage to the user than the second line from the end should look like like this?

 

akCaster.DamageAv (Health, 20)

 

3. this hooking up looks strange:

 

I add the script in the effect. Than go to "properties" on the right. Than in a new window (bottom left) I click add property.

 

what now, I got options and I don't know what to type (not speaking of the tick squares)

 

Type: I guess "int" should be there.

 

Name:

 

Initial value:

Edited by Galejro
Link to comment
Share on other sites

OK so I Kind of figured out most of the script and how to apply it

 

there is only one problem:

 

(9,28): variable CasterDamage is undefined

(9,10): type mismatch on parameter 2 (did you forget a cast?)

No output generated for aaaPenalty, compilation failed.

 

this error appiers when I try to save the script. When I replace the CasterDamage with 10 (the same number I type in Initial Value) The script can save error-free but then It doesn't work in the game.

Link to comment
Share on other sites

thats my bad, sorry.

 

the DamageAV function is looking for a float not an int.

Try this instead

Scriptname aaaPenalty1script extends ActiveMagicEffect

float Property CasterDamage auto

String Health

Event OnEffectStart(actor akTarget, actor akCaster)

 akCaster.DamageAv(Health, CasterDamage)

EndEvent

You shouldn't need to click add property. If you can get this to save/compile without errors, the property will be automatically listed when you click the properties button. Then you highlight the property and type the number you want it to be in the box to the right.

Test that out and if it still doesn't work we'll try to run down the problem.

Link to comment
Share on other sites

It did saved and compiled, I did entered the value properly, but it still doesn't work.

Maybe it has something to do with the very property or the target/caster relation, maybe just give me a script that will deal damage to the caster when just casting the spell. (It won't hurt me to make 5 to 10 identical scripts)

I tried to remove the property part and relied on "(health, 10)" in the script line instead of "(health, CasterDamage)"but it won't work as well.

Link to comment
Share on other sites

I did it ... I freakin DID IT :woot:

 

I figured out how to make a script to add an external self-damage dealing spell into the magic effect of the scripted spell

 

And it's all thanks to you :) big thx

 

Here if you ever need this

 

Scriptname aaaPenalty extends activemagiceffect  

float Property CasterDamage auto 
SPELL Property aaaPenalty1apell  Auto  

String Health 

Event OnEffectStart(actor akTarget, actor akCaster) 

 akCaster.addspell(aaaPenalty1apell) 

EndEvent

Event OnEffectFinish(actor akTarget, actor akCaster) 

 akCaster.removespell(aaaPenalty1apell) 

EndEvent

 

 

Oh and I think I found the initial problem with the very second script you gave me: string health doesnt do the job, it has to be set as a property ; string health auto

Edited by Galejro
Link to comment
Share on other sites

  • Recently Browsing   0 members

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