Jump to content


Photo

Hah!


  • Please log in to reply
6 replies to this topic

#1 temnix

temnix
  • Member
  • 983 posts

Posted 23 December 2017 - 10:09 PM

AdvanceTime(-600)

Guess what.



#2 GeN1e

GeN1e

    A very GAR character

  • Modder
  • 1604 posts

Posted 24 December 2017 - 11:36 PM

Of all the things I've seen you trying to break the game with, this is actually nuclear in terms of area damage. All the timers will be rewinded, even those that's only been set for one round. Enemy wizards are gonna get screwed hard :D


Retired from modding.


#3 temnix

temnix
  • Member
  • 983 posts

Posted 25 December 2017 - 04:09 AM

They don't get rewinded, only extended by the distance of time travel. Deadlines stay, they are just approached from farther out back. Travel forward has its own rules. I know, I've been there. :shifty:



#4 GeN1e

GeN1e

    A very GAR character

  • Modder
  • 1604 posts

Posted 25 December 2017 - 10:00 AM

They don't get rewinded, only extended by the distance of time travel. Deadlines stay, they are just approached from farther out back.

Exactly. If you go back in time in the middle of combat, and the local timers that wizards rely on to only try casting spells after one round has passed since the last cast will now be set to one turn instead, during which they'll just go melee. Obviously in only applies to SoD and some BG2EE content, and some mods that use smarter-than-vanilla AI, but it's just the first thing that pops into mind.


Retired from modding.


#5 temnix

temnix
  • Member
  • 983 posts

Posted 25 December 2017 - 01:18 PM

What's the second? Because this application doesn't do anything to set timers. As I said, if an event was scheduled to run at time X (a timer's expiration or a running effect like Armor), it will still happen at X. A round doesn't become a turn, I don't know where you got that from. If a wizard has cast a spell with this AI and the timer has told it to cast another one round later, and the party has gone one round back, the timer will just expire in two rounds, counting from where the party is now. I don't know what the wizard will do in the meantime, but what did his AI tell him to do during the one round? Cast another spell, I guess, or go to melee. Well, he'll do two rounds of meleeing now instead of one, if the AI had no better alternative. It's not a problem with time travel, it's a problem with primitive AI. But I have limited the travel distance (for back travel) to several rounds at most for combat spells, because this is still powerful. Characters get another round of Maze, poison etc. The non-combat spells, those go back several hours.



#6 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5148 posts

Posted 29 December 2017 - 07:38 AM

What's the second? Because this application doesn't do anything to set timers.

Except it rolls around summoned creatures summon timers and unsummons them, like you didn't notice that, and had to be told by others.

 

Primitive AI, yeah... do make a better one and then come to talk.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#7 temnix

temnix
  • Member
  • 983 posts

Posted 09 January 2018 - 03:47 AM

No, I didn't know that about summoned creatures' timers. And I don't know it now - yet. Everything you say has to be double-checked. Until I confirm this, I can assume that these timers work like all others, which is to say, for effects ON creatures (spells, poison etc.) time travel forward reduces them, time travel backward extends them, and for effects OFF creatures (a cloudkill etc.) it reduces them in both directions.

 

Edit: somewhat predictably, testing showed Imp to be wrong. I must thank you, Imp, for maintaining such a high standard of diligence on these boards... Summoned creatures get whisked away with AdvanceTime(), and, I suspect, this also happens to creatures from random encounters when the party manages to rest after interruptions, despite Avenger's assurances that they get destroyed. I suspect they also get taken beyond the limits of the area, and later, perhaps, eliminated, or there is just nothing in their scripts to put them back in action. What I do know about summoned creatures is that a little extension to their scripts brings them out of their invisible hidey-hole:

 

IF

!See([PC])

THEN

RESPONSE #1

JumpToObject(Player1)

END

 

I wasn't sure how far away the engine flings creatures with AdvanceTime(), so just in case I replaced !See above with Range([PC],70), and that worked as well. Being twice the sight range, it's a sure sign the creatures really get dispatched much farther than that, 500 or 5000 might have worked too. In any case, they are out of the area, but not out of the game. As for actual summoning timers, in seconds, that's rather more difficult to test, but at this point nothing indicates that they behave in any special way.

 

Edit of edit: tested the rest of it. The timer behaves as all others - you get extra time with summoned creatures if you travel back, less time if forward.


Edited by temnix, 09 January 2018 - 12:31 PM.