Jump to content

selective freezing spells


firepower02

Recommended Posts

Ok I have looked at the script it looks like this:

 

Event OnEffectStart(Actor Target, Actor Caster)
Victim = Target
Timer = 0
If Caster.GetLevel() == 1
Bonus = 10
Else
Bonus = 5*(Caster.GetLevel() + 1)
Endif
If Target.GetLevel() > Caster.GetLevel()
StopTimeMod = (Target.Getlevel() - Caster.Getlevel())*2
Else
StopTimeMod = 0
Endif
StopTime = Bonus - StopTimeMod
If StopTime > 0
bKeepUpdating = True
SpellWork = True
Victim.EnableAI(false)
Victim.BlockActivation(True)
RegisterForSingleUpdate(1.0)
Else
FailMessage.Show()
Endif
EndEvent

 

I don't know what part to edit, where is the initial freeze time, and the time added if of higher level?

And the part of the script which controls the time reduced if they get hit:

 

Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
StopTime = StopTime - 3
EndEvent

 

I'm assuming it's the line StopTime = StopTime - 3, right?

 

There are two types of them, BlSnFreezeTimeArea01Effect and BlSnFreezeTimeArea02Effect. First one is for npcs, and the 2nd is for animals, correct? So I have the option to have different durations for animals or npcs, right?

 

Also you said dragons won't freeze, is it ok that they still get affected 5 secs tops, regardless of any conditions.

Link to comment
Share on other sites

 

if it just ice form spell, it would not be so complicated. firepower wants a spell which freeze target in the similar manner of slow time shout but only affect specific targets.

Ah I see then where it would get complicated. really cool idea though, if you guys need any help I'd be willing to help out if needed, but looks like you guys are pretty far along and almost done.

Link to comment
Share on other sites

Based on that script example the initial freeze looks like it comes at

 

If StopTime > 0
bKeepUpdating = True
SpellWork = True
Victim.EnableAI(false)
Victim.BlockActivation(True)
RegisterForSingleUpdate(1.0)
Else
FailMessage.Show()
Endif

And these two conditionals deal with the level differences:

If Caster.GetLevel() == 1
Bonus = 10
Else
Bonus = 5*(Caster.GetLevel() + 1)
Endif
If Target.GetLevel() > Caster.GetLevel()
StopTimeMod = (Target.Getlevel() - Caster.Getlevel())*2
Else
StopTimeMod = 0
Endif

 

It looks like the whole second event controls the reduce duration upon being hit.

If you did want dragon's effected, you'd have to deal with them floating in the air which can get kinda buggy, and probably the reason BlSN left them out (which isn't indicated here, so its either a keyword counter or conditional set up in the effect), I would recommend forcing the dragons to land before having the effect effect them, which could be "role played" as a special resistance or such to the effect that dragons would have.

 

All in all if this is both scripts, then they definitely aren't bloated which is nice.

Link to comment
Share on other sites

Hi SerephimKensai, thanks for joining us! I am currently studying the Target Condtions. I think one of the reasons why characters suddenly become intangible is because they get frozen again while still frozen. I have tried the freeze non-hostile, which when recast unfreezes all non hostiles, did not cause characters becoming intangible, or very rarely happens. Maybe if I can put in the freeze hostile's conditions that if they are already frozen, they won't be affected by it.

 

And no, characters in the air don't really get buggy, I have used it on falling characters, and they freeze in the air just fine. I think the reason he left that out is because, "dragons are too powerful" for the spell, and didn't want it to be like a cheaty spell.

 

edit:

 

If I understood it correctly, the intangiblity issue is similar to the characters randomly teleporting. That is why they become intangible and can't be hit, because the real character has been teleported. It's true, it happens more often in four legged animals and lower lower characters. The chances of it also happening is not because of recasting it on frozen characters, but from it's initital casting. I tried casting the AoE freeze hostile just once and went near the enemy to see if I pass through, and I did not. Waited a little longer without casting the spell, and my character passes through.

 

Also, the AoE freeze hostile spell, when recast on frozen enemies, it will make them move slightly. I added a condition that if subject HasMagicEffectKeyword BISnFreezeTimeKeyword, they won't be affected, and it works. However if I use telekinesis on enemy (custom spell) on them, they will be flung and regain their mobility, when I recast it, they won't freeze again, because the game thinks they still have the HasMagicEffectKeyword on them. Is there a different solution to stop them from moving again if they are already frozen?

Edited by firepower02
Link to comment
Share on other sites

ah, well i'm wrapping up a move so alas I'm replying via my tablet and haven't been able to check out the mod you guys have so far

 

as far as the characters getting frozen multiple times, how does the effect end? because looking at the scripts you pasted I don't see anything to revert the effect or reset the StopTime variable upon the effect finishing. That may cause the script to always make the StopTime variable higher than 0 thus triggering your effect. Perhaps another variable "Effected" which can be set to 1 during the activation of the effect, so if you recast there can be a conditional statement before the effect trigger to check if Effected = 1 then StopTime = -100 (so it can't get higher than 0 to fire true, making it not trigger a second time on the same target).

 

then once the effect finishes, which I'm not sure how you have it set up you can make it set Effected = 0 which would fire a conditional to make StopTime = 0 again, allowing you to retrigger the effect on the target.

 

Mind you I'm unable to test all this and it would look prettier if I was able to (at least I think so anyways)

Link to comment
Share on other sites

ah, well i'm wrapping up a move so alas I'm replying via my tablet and haven't been able to check out the mod you guys have so far

 

as far as the characters getting frozen multiple times, how does the effect end? because looking at the scripts you pasted I don't see anything to revert the effect or reset the StopTime variable upon the effect finishing. That may cause the script to always make the StopTime variable higher than 0 thus triggering your effect. Perhaps another variable "Effected" which can be set to 1 during the activation of the effect, so if you recast there can be a conditional statement before the effect trigger to check if Effected = 1 then StopTime = -100 (so it can't get higher than 0 to fire true, making it not trigger a second time on the same target).

 

then once the effect finishes, which I'm not sure how you have it set up you can make it set Effected = 0 which would fire a conditional to make StopTime = 0 again, allowing you to retrigger the effect on the target.

 

Mind you I'm unable to test all this and it would look prettier if I was able to (at least I think so anyways)

That because firepower only pasted part of the script, those pieces are the one I told him to take a look at if he wants to change the duration of the effect.

 

 

 

Also, the AoE freeze hostile spell, when recast on frozen enemies, it will make them move slightly. I added a condition that if subject HasMagicEffectKeyword BISnFreezeTimeKeyword, they won't be affected, and it works. However if I use telekinesis on enemy (custom spell) on them, they will be flung and regain their mobility, when I recast it, they won't freeze again, because the game thinks they still have the HasMagicEffectKeyword on them. Is there a different solution to stop them from moving again if they are already frozen?

Is that telekinesis spell from mod? Do you know what script function it uses?

Link to comment
Share on other sites

Ah, that makes sense because the part of the script linked looked like a fragment to me without the end of the effect.

 

I'm without my gaming rig and internet until Wednesday sometime, but once my interwebz gets installed and I am able to unpack my rig and boot up I'll download the mod and take a look at the script in full if you guys don't have it all not figured out by then.

Link to comment
Share on other sites

It's nice that I can look at it with CK, there are many interesting things I learn. It would be great if the randomly teleporting, or intangibleness of the npcs could be solved, I've looked but I can't find where the part of it that controls it. Also, up close when freezing a talking character, they would carry on their dialogue, and upon unfreezing they would move their lips even though their dialogue has already played. It's not that bad from afar, I think it's something how the game is made, because pressing Esc key while some npc are talking, they would still continue to talk.

Link to comment
Share on other sites

Hi blacksupernova, can I make one last request? I tried adding the spells to my follower, but only the aimed version worked. The AoE versions make my game crash. I think followers will only use spells that are aimed, not on self. I don't know, maybe the aimed spell that spreads out, kinda like the pacify spell might work. Can you make a version only for the freeze all hostiles, since it would be pointless for a follower to freeze my own character or my other followers. There is no unfreeze, and those that have the MagicEffectKeyword won't be affected as well. Can you pls make it a seperate file as I will using it for the follower only, not my character.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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