Jump to content

Unable to rest for only 8 hours


plainab

Recommended Posts

:)

Well, at least I did think of the use of RestParty().

IF

/*some check for no hostiles around might go here*/

Hotkey® // or any other trigger

Time(%i%)

THEN

RESPONSE #100

DayNight(%j%)

RestParty() // or should it be six Rest()s for each one?

ApplySpell(Player1,HEAL_ONE_HP)

ApplySpell(Player2,HEAL_ONE_HP)

ApplySpell(Player3,HEAL_ONE_HP)

ApplySpell(Player4,HEAL_ONE_HP)

ApplySpell(Player5,HEAL_ONE_HP)

ApplySpell(Player6,HEAL_ONE_HP)

END

Link to comment

I don't know - I have seen modders specifically script individual rests (as does BioWare ) in Tutu/BG2 modding - presumably because cutscenes may or may not get all people... we would have to research this and see why folks are not always just doing RestParty().

Link to comment

The individual rests are probably just to make sure that in whatever circumstance the given creature has all spells available.

 

IESDP is way off in this regard...

96 Rest()

This action applies the benefits of resting (i.e. healing, restoring spells and restoring abilities) to the active creature. The action does not play the rest movie or advance game time. The example script is from cut28a.bcs.

 

IF

True()

THEN

RESPONSE #100

CutSceneId(Player1)

StorePartyLocations()

FadeToColor([30.0],0)

Wait(1)

Rest()

ActionOverride(Player2,Rest())

ActionOverride(Player3,Rest())

ActionOverride(Player4,Rest())

ActionOverride(Player5,Rest())

ActionOverride(Player6,Rest())

(cut short for brevity)

 

230 RestParty()

This action duplicates the effects of resting. Such resting is not interruptible, and functions even if enemies are nearby.

 

This is what is should be based on my experience:

Rest() allows the active creature to renew used spells. It does not advance game time. It does not heal any hit points. It does not utilize the area's rest interruption information. It can be used with enemies around.

 

RestParty() allows the players party to renew used spells and heal 1 hit point as needed. It does advance game time by eight hours and it utilizes the area's rest interruption information.

 

I've not tried RestParty() around enemies, I can give it a try though. I've got a feeling that it won't work.

Link to comment

Further testing with RestParty()

 

I had to remove my party ai script and put this block in the dplayer3.bcs. The party ai script was keeping my party members busy with after rest spells and such and so the hot key wasn't always being recognized.

IF
HotKey(D)
THEN
RESPONSE #100
RestParty()
END

RestParty() does indeed work when enemies are around. I rested a few times in a row then got a monster spawn. While my party was standing there getting pummeled, I attempted to rest again and got a second monster spawn. Attempted to rest again with at total of 8 newly spawned Yetis, I was successful. All 8 Yetis just disappeared into thin air...

 

So for RestParty() to work properly we need at least two blocks...

IF
HotKey(S)
Detect([ENEMY])
THEN
RESPONSE #100
FloatMessage(Player1,16500) // You cannot rest; there are monsters nearby.
END

IF
HotKey(S)
!Detect([ENEMY])
THEN
RESPONSE #100
RestParty()
END

 

EDIT: Information on RestUntilHealed()...

RestUntilHealed() so far appears to not allow the monster interruptions. It is possible that memorized healing spells were taken into account. Initial rest took 16 hours. With RestParty() and usage of memorized spells via script the party was fully healed after 24 hours, but that is because of the scripted percentage of hit points the damaged player must be under. I'm sure it would have only taken 16 if the spells were allowed to be cast no matter what the hit point percentage...

 

So with this information in hand, I could script RestUntilHealed() in place of the Rest() and have the ability to have monster interruption as well as utilizing memorized healing spells when resting. Then I could use RestParty() and have standard monster interruption for just resting 8 hours whenever that is wanted...

Link to comment

Further testing with RestUntilHealed() gives the same results as the standard rest button

 

Some things that seem interesting...

The healing spells are taken into consideration but only cleric/druid spells. The paladin spell lay on hands is not considered. Innate spells may not be considered either.

 

A level 1 paladin with a lay on hands amount of 2 and a current hp of 1 and a max of 10 would be completely healed in 3 days and 16 hours

 

How?

Start at 1 hp

Rest 8 hours gain 1 hp new total at 2 hp

Rest 8 hours gain 1 hp new total at 3 hp

Rest 8 hours gain 1 hp new total at 4 hp

End Day 1

Rest 8 hours gain 1 hp new total at 5 hp

Rest 8 hours gain 1 hp new total at 6 hp

Rest 8 hours gain 1 hp new total at 7 hp

End Day 2

Rest 8 hours gain 1 hp new total at 8 hp

Rest 8 hours gain 1 hp new total at 9 hp

Rest 8 hours gain 1 hp new total at 10 hp

End Day 3

Rest 8 hours renew all spells

 

A level 1 thief with current hp of 2 and max hp of 8 and a fellow cleric with 3 cure light wounds memorized will be healed in 16 hours

 

How?

Start at 2 hp

Rest 8 hours gain 1 hp new total at 3 hp

Hidden cast of Cure Light wounds for 8 hp new total 11 hp

Since max is at 8 hp total is reduced to 8 hp

Rest 8 hours renew all spells

 

Without the fellow cleric it would take about 2 days and 8 hours.

 

How?

Start at 2 hp

Rest 8 hours gain 1 hp new total at 3 hp

Rest 8 hours gain 1 hp new total at 4 hp

Rest 8 hours gain 1 hp new total at 5 hp

End Day 1

Rest 8 hours gain 1 hp new total at 6 hp

Rest 8 hours gain 1 hp new total at 7 hp

Rest 8 hours gain 1 hp new total at 8 hp

End Day 2

Rest 8 hours renew all spells

 

Since the game engine does not look at current spell status prior to resting, it is best for the player to self cast healing spells beforehand. Also, there is always a final rest to renew spells even if no spells were 'cast' during rest or if there are no spells in the party at all...

 

The quickest rest solution would then be to...

 

Cast ALL possible healing spells despite hp level

Use RestParty() to rest for only 8 hours and renew those spells

 

Using the quick solution with the above thief and cleric scenario it would only take 8 hours

 

How?

Start at 2 hp

Cast 1 Cure Light Wounds for 8 hp - total at 10hp - max forces it to remain at 8 hp

Rest 8 hours and renew spells

 

Using the quick solution on the paladin above it would only take 24 hours to get completely healed and have all spells renewed.

 

How?

Start at 1 hp

Cast Lay On Hands for 2 hp - total at 3 hp

Rest 8 hours gain 1 hp -total at 4 hp

Cast Lay On Hands for 2 hp - total at 6 hp

Rest 8 hours gain 1 hp - total at 7 hp

Cast Lay On Hands for 2 hp - total at 9 hp

Rest 8 hours gain 1 hp - total at 10 hp

 

The only caveat about the "quick" solution is that monsters can interrupt the rest at each point. So then it becomes possible that the standard button or RestUntilHealed() is actually quicker because once successfully started it is not interrupted.

 

Some things on RestParty()

It can work when enemies are around and it will work in areas where the rest button does not. It does heal 1hp and it advances game time and it also allows for rest interruption as described in the given area file.

Link to comment

From all my efforts this is the final result to solve the issue of not being able to rest for only 8 hours.

 

http://sasha-altherin.webs.com/restforonly8hours.htm

 

It's available for anyone to try out. Feedback about it's functionality in game would be appreciated. If nobody reports any issues, I'll see if the IWD Tweak Pack would like to incorporate it. If not, it'll remain a separate mod available on my website only.

Link to comment

Resting for 8 hours should be possible if you open your map first and choose the rest-button from there. Then you get the choice whether you wanna rest for 8 hours or until fully rested.

 

Unless you've modded and tinkered with the game to somehow not make it work..

Link to comment
Resting for 8 hours should be possible if you open your map first and choose the rest-button from there. Then you get the choice whether you wanna rest for 8 hours or until fully rested.

 

Unless you've modded and tinkered with the game to somehow not make it work..

Why would opening the map screen give you a choice in resting? The button should be the same in all screens. I'll have to give it a try and see... if it's true, it's weird...

 

EDIT:

I tested it. It's true. Every screen but the main game screen gives you that option. Okay, now I want someone who is good with exe editing to rewrite the game to allow the main game screen to give us the option. If there is going to be a rest button on the main screen it ought to do the same things as all the other rest buttons.

 

Now why couldn't someone have told me about that BEFORE it spent all the time creating a mod that would allow it.

 

But there is still an issue...

1) All resting done in Inns causes resting until healed.

2) All resting done with the main game screen causes resting until healed.

 

So I can still see a reason to have my mod hanging around in the background. Perhaps, you have no reason to go into any of the other screens. Perhaps, you've forgotten about the rest button being different in the other screens. Perhaps, you just want to see the comments made by different party members after resting...

 

Maybe, I'll just use this as the beginning of a mod that will provide various throwaway comments at various points in the game. That would be cool with a silent party of your own creation. Might break immersion with IWD NPCs mod, but if I show Kulyok how to do it perhaps something similar could be added there....

Link to comment
Resting for 8 hours should be possible if you open your map first and choose the rest-button from there. Then you get the choice whether you wanna rest for 8 hours or until fully rested.

 

Unless you've modded and tinkered with the game to somehow not make it work..

Why would opening the map screen give you a choice in resting? The button should be the same in all screens. I'll have to give it a try and see... if it's true, it's weird...

 

EDIT:

I tested it. It's true. Every screen but the main game screen gives you that option. Okay, now I want someone who is good with exe editing to rewrite the game to allow the main game screen to give us the option. If there is going to be a rest button on the main screen it ought to do the same things as all the other rest buttons.

 

Now why couldn't someone have told me about that BEFORE it spent all the time creating a mod that would allow it.

 

But there is still an issue...

1) All resting done in Inns causes resting until healed.

2) All resting done with the main game screen causes resting until healed.

 

So I can still see a reason to have my mod hanging around in the background. Perhaps, you have no reason to go into any of the other screens. Perhaps, you've forgotten about the rest button being different in the other screens. Perhaps, you just want to see the comments made by different party members after resting...

 

Maybe, I'll just use this as the beginning of a mod that will provide various throwaway comments at various points in the game. That would be cool with a silent party of your own creation. Might break immersion with IWD NPCs mod, but if I show Kulyok how to do it perhaps something similar could be added there....

 

 

I'm sure no one said coz not so many knows about it :)

I agree that it's annoying when my party is down in the dark, perilous Vale of Shadows and they decide to rest for 15 days out in the open instead of just a few hours, not only making themselves a tempting prey for hungry yetis or drawing the attention of undead wraiths, but also freezing their limbs of on a silly 2 week vacation in a land supposedly colder than coldest. It's not realistic, and it's a small matter, but an annoying one...

I always went to the map first, then choosing to rest 8 hours, not allowing myself more rest before I had finished my missions and returned to Kuldahar. Then I could return to Noonshade Inn and rest properly before headign out again on the next mission. It made the game more difficult, travelling to each map allowing myself only minimal rest but it was the way I always preferred it and it was okay enough.

 

In my opinion less than 8 hours would do, only a few hours, and that should heal you up plenty, possibly even fully.

Link to comment
In my opinion less than 8 hours would do, only a few hours, and that should heal you up plenty, possibly even fully.
"Ouh yeah, we sleeped 4 hours, were totally rested, and then we toke a small stroll around the bend and spend 32 hours to on the move to reach the Elven Hand tower, and we were fresh to start hte exploring." :)
Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...