Aller au contenu

Photo

Need help/advice on applying curse to PC in my campaign


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

#1
dickel

dickel
  • Members
  • 72 messages
Ok this one is a tough one.
First the module/campaign I am currently making is designed using the soz party creation GUI, so that players can either start with 3 player made characters...or multiplayer up to 3 players.

Anyway, I was thinking i'd like to implement an effect to take place on the first PC of the party...a curse.
I'd like to somehow 'wildshape' the first PC in the party into a panther (no matter what class the player chooses), but to do this, I think they might need the feat wildshape....i'm not sure, because I really can't script for s$#t.
My idea is that, if the PC chooses a certain node in a conversation, they transform into a panther for 1 hour. The change is permanent for that time. (1 hour in game time)

Any thoughts on how best to go with this one?
Look forward to hearing your thoughts...

Peace.:wizard:

#2
Morbane

Morbane
  • Members
  • 1 883 messages
I have a module based on a similar and olde fashioned curse - lycanthropy. I basically scripted the entire thing myself and created custom feats and spellids to handle the scripts. From my experience there is no better way. To try to hotwire an existing spell/feat seems like more workarounds than necessary.

Time to break out the scripting tutorials dude. What you want to do is really not that complicated to do from scratch...

#3
Morbane

Morbane
  • Members
  • 1 883 messages
I will mention that Lilac Soul's Script Generator will do what you want - and even add sound effects and visual effects.

Then if you can sift through all of the oTarget references you will see it is not that bad to script something like a polymorph the catch is I dont know but a panther might have to be a custom polymorph shape - that is not too bad either - but no Lilac Soul's 2da editor ;)

#4
Morbane

Morbane
  • Members
  • 1 883 messages
/* Script generated by
Lilac Soul's NWN Script Generator, v. 2.3

For download info, please visit:
http://nwvault.ign.c...&id=4683&id=625 */

//Put this on action taken in the conversation editor
void main()
{

object oPC = GetPCSpeaker();

object oTarget;
oTarget = oPC;

effect eEffect;
eEffect = EffectPolymorph(POLYMORPH_TYPE_PANTHER);

eEffect = SupernaturalEffect(eEffect);

ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);

//Visual effects can't be applied to waypoints, so if it is a WP
//the VFX will be applied to the WP's location instead

int nInt;
nInt = GetObjectType(oTarget);

if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD), GetLocation(oTarget));

}
This script goes in a conversation node.

Bam! Just like that...

#5
Morbane

Morbane
  • Members
  • 1 883 messages
This is the shortened version that someone can do after reverse engineering the generated script:
void main()
{

object oPC = GetPCSpeaker();

effect eEffect = SupernaturalEffect(EffectPolymorph(POLYMORPH_TYPE_PANTHER, TRUE, FALSE));

ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC);

ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD), GetLocation(oPC));

}

I tested it and it works perfectly - plus the polymorph cannot be ended by right-clicking on the PC. The only way to end it I think is to sleep a full rest.

Modifié par Morbane, 10 mars 2011 - 09:24 .


#6
dickel

dickel
  • Members
  • 72 messages
Wow Morbane what an awesomely quick and detailed response. I'm adding your name to my list of people to thank for my module :D
Appreciate it dude.

ps-
Just tried it and it works nicely.
Only possible problem I forsee, is that I intend to use HCR2 rest system which might not remove curses and effects..im not too sure though, since I havent gotten around to looking at it all.

I tried the generic rest button and it didnt seem to remove the effect. I actually like the idea that the player needs to rest to remove it though.
What do you reckon?

Modifié par dickel, 10 mars 2011 - 11:03 .


#7
Morbane

Morbane
  • Members
  • 1 883 messages
Well if sleep is a suitable cure for the curse the maybe change SupernaturalEffect( to ExtraordinaryEffect(

That should do it.

#8
dickel

dickel
  • Members
  • 72 messages
legend. :)
Done like a dinner.

#9
Morbane

Morbane
  • Members
  • 1 883 messages
 i dont have much of an ego - but it is a bit bigger now   :P

how long until your beta comes out?

::it could be mentioned - that the panther is pretty weak considering if it got applied to a level 4 or higher PC - for my werewolf curse i had to create a new polymorph shape that would present itself as a noticably tougher than a 4th level PC so that being a werewolf would be a power rush and make it easier to tempt the PC to try to change form until the curse becomes permanent - you know what i mean? 'too much of a 'good'' thing makes a PC a ramdom killer instead of a LG paladin - hmm - i havent thought too much about cursing a paladin - i wonder if i should put in an alignment penalty for bloodlust ... my inspiration is resurfacing...

Modifié par Morbane, 11 mars 2011 - 08:34 .


#10
MasterChanger

MasterChanger
  • Members
  • 686 messages

Morbane wrote...

Well if sleep is a suitable cure for the curse the maybe change SupernaturalEffect( to ExtraordinaryEffect(

That should do it.


Nope, that's backwards. A Magical effect (the default) can be dispelled or removed by resting (a spell, for example). Extraordinary can't be dispelled but can be removed by resting (a physical injury, for example). A Supernatural effect can't be removed by dispelling or resting, only by the duration expiring (if it's temporary) or if it's specifically removed by another script.

I'm pretty sure this is in keeping with the 3.5 SRD. At any rate, I've tested it many times in NWN2 and it's the case.

#11
Morbane

Morbane
  • Members
  • 1 883 messages

MasterChanger wrote...

Morbane wrote...

Well if sleep is a suitable cure for the curse the maybe change SupernaturalEffect( to ExtraordinaryEffect(

That should do it.


Nope, that's backwards. A Magical effect (the default) can be dispelled or removed by resting (a spell, for example). Extraordinary can't be dispelled but can be removed by resting (a physical injury, for example). A Supernatural effect can't be removed by dispelling or resting, only by the duration expiring (if it's temporary) or if it's specifically removed by another script.

I'm pretty sure this is in keeping with the 3.5 SRD. At any rate, I've tested it many times in NWN2 and it's the case.


What you just explained is exactly what I was trying to impart - he wanted sleep to dispell the 'curse' so I suggested he make it Extraordinary instead of Supernatural:blink:

Modifié par Morbane, 12 mars 2011 - 07:11 .