Jump to content

Rounds


temnix

Recommended Posts

If I put this in baldur.bcs:

 

IF

 

!CombatCounter(0)

!GlobalTimerNotExpired(...)

 

THEN

RESPONSE #100

 

ApplySpellRES(whatever, lasts 1 second)

SetGlobalTimer(...ONE_ROUND)

 

---

 

This scheme is intended to kick in as soon as fighting starts and apply the spell every round. But does it actually? What happens in my experience is that even before the combat music starts playing the spell applies (I put a glow in there so I know), but this doesn't seem to synch with the by-the-round time division. I have the game set to auto-pause at end of the round. And it feels as if these two patterns, the counting from when the combat counter starts ticking and the rounds as shown, are parallel and not even close. This is how it happens: Everybody stands close. Quayle swings his club at Shar-Teel. He gets an attack right away, because clubs are quick. A fake swing or two later the glow comes on. It fades in a second, and second later I see the end-of-the-round message and pause. I hit the space bar, and this repeats: an attack from Quayle, the glow in what feels like the middle of the round, it fades, end-of-round message and pause.

 

How do I actually get the game to cast a spell automatically at the start of every round, if not with a timer?

 

Can it be that the timer lags because of the time it takes the engine to process the script, start and end it?

 

I can extend the duration of the spell effect, the one to replace the glow, to 6 seconds, so it would go from round to round without an overlap. But it seems that it would be from the middle of one round to the middle of the next, rather than from beginning to beginning.

Link to comment

Actually, for my purposes it turned out to be better to increase the delay. I have a sliding scale for initiative now, it's applied with the timer and a Wait(2) delay every round. That way the party must choose its actions first and then hope luck of initiative will favor them - just like in pen-and-paper. Just to clarify, the ONE_ROUND timer means 6 seconds from whenever it starts, yes? Not the round that's counted off with "End of round" messages?

Link to comment

ONE_ROUND is an ids label, so it compiles into whatever value it is associated with in gtimes.ids, which is indeed 6 seconds.

 

Do note that you may render two-handed swords literally unusable though, if they have 1 apr and no speed factor bonus, if you add too long a wait. It does not shift the round time, it injects still zone.

Link to comment

No-no, you didn't understand. I didn't insert a pause. The round begins normally, but in baldur.bcs there a ONE_ROUND counter and an applied spell, both after Wait(2). The spell, which contains the speed-ups and slow-downs, has to pass through Protagonist to be broadcast on Everyone, that takes about a second, so I made the duration 5 seconds to make sure there is no overlap. The counter will be a little faster, this makes them even. When the counter runs through and if the fight is still on, there will again be a 2-second free period, which is a kind of "select-actions phase" in every round, then the process will repeat. But the characters can act anytime, only in the select-actions phase it's more advantageous to assign spells and attacks, because they have more control over speed. If they hold back, they will be more subject to uncertainty, which may delay them. This is rather similar to the rules for waiting in the Player's Handbook.

 

The free period isn't shown in any way, and the counter/spell combination may slide round to round, so it makes sense for players to commit to actions: after casting one spell, set the wizards to cast another, keep the archers shooting and so on. If they act 100% of the time, or as close to that as possible, then, as soon as the action becomes available, it will be done, and it may fall on the free period, which is a plus, or outside of the free period, which may be a plus or a minus. But if they hang back or abuse the space bar, they will probably miss the free period and only get the plus or the minus from uncertainty. By acting they improve their chances. I want people to wade in and take the consequences instead of calculating a fight in advance like a chess game.

 

Hence the word "initiative"...

 

And there is no mechanism for actually worsening weapon speed, as you know. Only for improving. I had to make a substitution. Maybe Bioware, or was it Beamdog already, didn't know a way to delay an attack while still keeping it in the round.

Link to comment
The round begins normally, but in baldur.bcs there a ONE_ROUND counter and an applied spell, both after Wait(2).

 

Eh, nevermind then :)

 

And there is no mechanism for actually worsening weapon speed. Only for improving

Weird. When we've added speed factor penalty for heavy armors in IR, it was the other way around - penalties could stack together (e.g. shields and armor), but any bonus effect would be overwritten by a penalty.

Link to comment

Archived

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

×
×
  • Create New...