The Dink Network

acid rain flaw (bombs too)

January 6th 2007, 02:50 PM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
Okay, it deals with a sprite that, when talking to, freezes Dink, and the sprite also has a hit procedure. If you fire your acid rain magic and talk to the sprite while the sprite is still being hit by the acid rain, Dink remains frozen. I just realized that so I'm not sure anyone else has yet? I assume this could be avoided by adding an unfreeze(1); command to the end of every hit procedure in the situation. So if you have acid rain magic in your DMOD, be aware of this.

Add: This happens when placing bombs as well

Heres an example of a script that would be affected.

//acid rain bug example
void talk( void )
{
freeze(1);
say_stop("`9 You are frozen", &current_sprite);
wait(300);
say_stop("I am frozen.", 1);
unfreeze(1);
}

void hit( void )
{
say("`9 owch", &current_sprite);
}
January 6th 2007, 03:52 PM
bonca.gif
Christiaan
Bard They/Them Netherlands
Lazy bum 
I don't know if it works but how about adding this?

void hit (void)
{
unfreeze(1);
}

What also might help is adding a "return;" at the end of the talk procedure.
January 6th 2007, 06:12 PM
slayer.gif
rabidwolf9
Peasant He/Him United States
twitch.tv/rabidwolf9 
I said the thing about unfreeze(1);

I don't think a return at the end of the talk procedure would do anything. It appears to only be able to run one procedure at a time, and since the sprite is being hit after you start the talk procedure, it goes to the hit procedure and never goes back to the talk procedure.

I should've noted that it doesn't even play the whole talk procedure, just to the first say_stop command.