Player Resource Consortium

 

Author Topic: Shifter (PNP) improvements  (Read 16624 times)

0 Members and 1 Guest are viewing this topic.

July 06, 2009, 05:40:58 PM
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

I have a series of changes I made to the Shifter (PNP) class that, in my opinion, make it smoother to play, without changing it substantially. I think all of the changes are compatible with PnP and with the original goals of the PRC implementation. I'd like to test some last-minute improvements a little more before uploading a patch, but it would be great (if the changes prove acceptable, of course) if they could make it into the 3.3g release so other people can try them out. Let me know if this is at all likely and I'll try to upload the patch sooner.

First of all, I hope I'm not going about this the wrong way or stepping on the toes of anyone who "owns" this class by making these changes; if I am, I apologize.

The changes are:

1) I added a workaround so that abilities, bonuses, etc. are not lost after sleeping, leveling up, etc. [technical details: I add the item properties to a creature weapon rather than to the creature hide, which is scrubbed too often; if the form I'm shifting into doesn't have a creature weapon, I create and equip a dummy one that holds the properties but is never used to attack with].

2) Wildshape now heals just before shifting instead of just after to prevent the Shifter from dying due to loss of HP when temporarily shifting back to true form. You can still die if you just shift back to your true form because that isn't suppose to heal you.

3) I changed the Wildshape healing amount so that the Shifter is healed all of the way instead of only most of the way. Perhaps the amount should actually be conditional on the PRC variable that controls how much healing a full sleep should cause (I think I saw one), since that's the amount of healing Wildshape is supposed to do. For now, though, it heals completely.

4)  I re-enabled Wildshape to use the feats of the form you shift to. This had been removed with the comment "@todo Re-enable once it is known whether this is the cause of the lag"; as best I can tell, the lag (which I well remember from an older version of the PRC) is gone, so it makes sense to add back the feature.

5) I unlinked temporary HP from other effects to that the other effects aren't removed when the temporary HP is used up (I posted a patch for this previously).

6) When shifting into a form, information about what you gain is dumped to the log window (STR, DEX, CON, immunities, bonuses, penalties, feats, skills, etc.). It seems to me that if you can turn into it, you should be able to know what it does.


July 07, 2009, 04:58:11 AM
Reply #1

Quote
3) I changed the Wildshape healing amount so that the Shifter is healed all of the way instead of only most of the way. Perhaps the amount should actually be conditional on the PRC variable that controls how much healing a full sleep should cause (I think I saw one), since that's the amount of healing Wildshape is supposed to do. For now, though, it heals completely.

A full-night's rest is supposed to give you back hitpoints equal to your character level. Not sure how racial hit die are calculated with that, but it should be very easy to heal the player its PnP amount of hit points whenever (s)he shifts. It should also be like that with polymorph and druid wild shape (possibly others, didn't check).
Quote
6) When shifting into a form, information about what you gain is dumped to the log window (STR, DEX, CON, immunities, bonuses, penalties, feats, skills, etc.). It seems to me that if you can turn into it, you should be able to know what it does.

Seems pretty useful I guess. Then again, part of the exitement of shifting into a new form is not knowing how good it'll be.


July 07, 2009, 10:23:04 AM
Reply #2
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: Onisuzume

Quote
3) I changed the Wildshape healing amount so that the Shifter is healed all of the way instead of only most of the way. Perhaps the amount should actually be conditional on the PRC variable that controls how much healing a full sleep should cause (I think I saw one), since that's the amount of healing Wildshape is supposed to do. For now, though, it heals completely.

A full-night's rest is supposed to give you back hitpoints equal to your character level. Not sure how racial hit die are calculated with that, but it should be very easy to heal the player its PnP amount of hit points whenever (s)he shifts. It should also be like that with polymorph and druid wild shape (possibly others, didn't check).


I'm changing this so that it heals completely by default (since this is the normal rule for a night's rest in NWN), but it heals 1 hitpoint per character level if the PRC_PNP_REST_HEALING variable is set (I only just discovered this variable's existence recently--yesterday, I believe).

Quote

Quote
6) When shifting into a form, information about what you gain is dumped to the log window (STR, DEX, CON, immunities, bonuses, penalties, feats, skills, etc.). It seems to me that if you can turn into it, you should be able to know what it does.

Seems pretty useful I guess. Then again, part of the exitement of shifting into a new form is not knowing how good it'll be.


For me, part of the fun of a Shifter is that it gives me something to collect besides loot (i.e., new forms). Also, it's fun to choose the right form for each situation, and knowing what the forms do helps with this.


July 08, 2009, 07:34:53 AM
Reply #3

That is a heck of a lot of what I call nice changes!

Thanks for the work.


July 10, 2009, 01:22:17 PM
Reply #4

hello.

i vote this changes to be in 3.3g. ( can i vote? :P)


July 10, 2009, 03:27:57 PM
Reply #5
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: WebShaman

That is a heck of a lot of what I call nice changes!

Thanks for the work.


Quote from: FazliAmri

hello.

i vote this changes to be in 3.3g. ( can i vote? :P)


Thanks, both.

I should have the patch ready soon. I have one other change that I'm working on, a change to the Shifter conversation where you choose shapes. Instead of listing all the shapes at once, you first get to pick the racial type of the shapes you want to look at. E.g., when you pick "Change Shape", you first get a list that has "Animal", "Construct", "Humanoid", "Undead", etc., then you get a list of the shapes you know of the type you choose. You can also still get the full list of all the shapes if you want.

I'm hoping this will make the list of known shapes more manageable; I'm seeing how it works out in actual use right now.


July 13, 2009, 12:05:16 PM
Reply #6

The healing will be limited to 1 per level + 1 per point of con, as per pnp resting. I am not having a class that gives out infinite free self healing.

Aside from that, the changes look good. Send them over when ready.
« Last Edit: July 13, 2009, 12:06:16 PM by Stratovarius »
That is not dead which can eternal lie.
And with strange aeons even death may die.


July 13, 2009, 05:31:00 PM
Reply #7
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: Stratovarius

The healing will be limited to 1 per level + 1 per point of con, as per pnp resting. I am not having a class that gives out infinite free self healing.


I understand. Just a couple of comments:

1) Incidentally, it's healing more than 1 hp per level + 1 per point of con now, before my changes: currently, it heals you (number of hit dice * d4) hit points every time you wildshape. Not sure where this formula came from.

2) The point of my fix isn't actually to change the healing amount, it's to prevent you from dying due to the loss of total hit points when you change from a high CON shape temporarily back to your lower CON true shape on the way to changing to another (possibly also high CON) third shape. This makes sense because, in the PnP rules, you don't really change back to your true shape when shifting from one shape to another--that's just an implementation detail of the Shifter (PnP) class. Maybe I could heal fully, do the wildshape, then unheal part of the way? If that sounds reasonable, I'm not sure what formula to use to determine how much unhealing to do (haven't thought about it much); any suggestions?

Quote
Aside from that, the changes look good. Send them over when ready.


Will do. Soon, I hope, after I deal with the healing issue and finish my testing.


July 13, 2009, 07:14:56 PM
Reply #8

Actually, in PnP its perfectly possible to die from changing Con. Barbarians have to watch out for it from Rage and so on.
That is not dead which can eternal lie.
And with strange aeons even death may die.


July 13, 2009, 10:19:33 PM
Reply #9
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: Stratovarius

Actually, in PnP its perfectly possible to die from changing Con. Barbarians have to watch out for it from Rage and so on.


Right, I don't have a problem with that, either. The problem for me is dying from a change of CON that shouldn't actually be taking place: it's an implementation artifact. If I change from a high CON shape to a low CON shape and die, that's my fault. If I change from high CON shape A to high CON shape B, I shouldn't die because the implementation forces me to do so by first resuming my low-CON True Form. It should act as if I shifted directly from A to B, and that's what I'd like my fix to accomplish.


July 15, 2009, 08:55:12 AM
Reply #10
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: CapnQ

Maybe I could heal fully, do the wildshape, then unheal part of the way?


This is what I ended up doing, and it works pretty well: no full healing, but  no more dying unless you're actually supposed to. However, it won't work so well if the form I shift to has resistance or immunity to the type of damage I use to do the unhealing. Is there a standard way of dealing with this? What's the best damage type to use?

Quote from: Stratovarius

The healing will be limited to 1 per level + 1 per point of con, as per pnp resting.


What I ended up doing is, if the PRC_PNP_REST_HEALING variable is set, wildshape heals 1 hitpoint per hit die + 1 hit point per point of CON, just as you said. If PRC_PNP_REST_HEALING is not set, the healing amount is doubled to account for the fact that NWN heals more than PnP in a night's rest. If you think that's still too much, let me know and I'll change it--although it's often already less than the current implementation, which always heals d4 hitpoints per hit die.

A question: when healing "1 hit point per point of CON", is this the CON of the shape you're shifting from, the shape you're shifting too, or your true shape? Should it include CON from items? From other sources? I'm currently using the CON of the shape I shift to and ignoring CON from items and so on.


July 15, 2009, 09:02:03 AM
Reply #11

Magic damage is the best type to use, in general, almost nothing resists it.

For the Con, just leave it as is, I'm not sure either and that choice works.
That is not dead which can eternal lie.
And with strange aeons even death may die.


July 15, 2009, 02:17:39 PM
Reply #12
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

So, if attachments work for me this time, here's the patch. A summary of what it changes:

1) Abilities, bonuses, etc. are no longer lost after sleeping, leveling up, etc.

2) Wildshape now heals just before shifting instead of just after to prevent the Shifter from dying due to loss of CON when temporarily changing back to true form on the way to shifting to another form.

3) I changed the Wildshape healing amount to be more in line with PnP. If PRC_PNP_REST_HEALING is set, wildshape heals 1 hitpoint per level + 1 hit point per point of CON. If it's not set, twice that amount is used.

4) When you wildshape, you get (some of) the feats of the form you shift to. It used to work this way, but the feature was removed because it caused long delays when shifting. The delays seem to be gone, so I put the feature back.

5) Temporary HP is unlinked from other effects to that the other effects aren't removed when the temporary HP is used up.

6) When shifting into a form, information about what you gain is dumped to the log window (STR, DEX, CON, immunities, bonuses, penalties, feats, skills, etc.).

7) The Shifter conversation  for choosing new forms has been enhanced. The list of known forms can now be viewed in either forward or reverse order, and you can filter the list by racial type.


July 15, 2009, 02:23:19 PM
Reply #13
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: CapnQ

So, if attachments work for me this time, here's the patch.


Drat, I don't see the attachment. I'll try it again, zipped, and if that doesn't work find a way to send a link

BTW, note that, in addition to modifying existing files, the patch also adds a new 2da file.


July 15, 2009, 02:27:42 PM
Reply #14
  • Developer
  • ***
  • Posts: 220
  • Karma: +0/-0
    • View Profile

Quote from: CapnQ

Quote from: CapnQ

So, if attachments work for me this time, here's the patch.


Drat, I don't see the attachment. I'll try it again, zipped, and if that doesn't work find a way to send a link

BTW, note that, in addition to modifying existing files, the patch also adds a new 2da file.


Here's the link: http://s3.amazonaws.com/NWN/pnpshifter.patch