Read-only archive of the Armageddon Games Forums Archive (2000–2026) · About this archive

Drunk Link?

12 replies · 3,227 views · Started 20 April 2008

I remeber reading a long while back that you could enemies make Link "drunk" which would mess with the controls for awhile. Is this still possible to do, because I've looked at the wiki and haven't seen anything related to it.

I remember a scripting command called, LINK_DRUNK in Shardstorm. It says that it makes the screen very wavy, and messes up the controls. I think it was an Item Command, not sure. I do believe there is an ability to make Link Drunk via Scripting. But enemy wise, not yet.

What about Drunk Link?
User posted image
Well, as you can see, Link doesn't hold the local brew very easily.

...Back to the point. I'm sure that you can simply imitate the effect with a script that utilizes the random() command and using a combination of the Link->Dir and boolean statements. Not to mention add a "timer" so that the effects aren't permanent.

Well, I mean int Rand():

int Rand(int maxvalue)
* Computes and returns a random integer i such that 0 <= i < maxvalue.
* The return value is undefined if maxvalue is 0 or negative.

The int Rand will randomly pick numbers, of which each can be "assigned" through booleans to affect Link in some way.

For instance--

import "std.zh"
itemscript booze(){
int t;
loop(){
t + 1;
int b;
int Rand(5) = b;
if (b = 5 && Link->Dir == 4) Link->X * -1 && Link->Dir == 2;
//...Alter directions, different speeds, affect attack and defense, etc...
if (t == 20){
breakloop()
}
Waitframe()
}
}

Ohhhh

Yah I know what Rand(); does, I just got confused.

What are loop() and breakloop()?

And this 't+1;' command?

I think you're gtting a bit confused.

Forget the script, it's not important. Just a pseudo-script to show how to set up the effects of "booze". But if still want to know, "t" is the integer that serves as the timer, so it wouldn't be permanent; "loop" is meant to be while() and "breakloop()" Quit().

I'd set up a proper script if I had the time...

Shardstorm wrote:* Added ZASM variable LINKDRUNK. This makes the screen wavy just like WAVY, but it also messes with Link's controls for awhile. This effect has actually been lying dormant in the code since before my time...

Sorry, I'm a little late. I managed to find the ZASM variable, LINKDRUNK. I was a little off apparently.

To clarify this confusing manner:
* ZASM variable LINKDRUNK controls this function, much like WAVY etc.
* Link->Drunk doesn't exist yet.
* Yes, in the future you can make enemies that inflict this status effect.

Linkus wrote:Forget the script, it's not important. Just a pseudo-script to show how to set up the effects of "booze". But if still want to know, "t" is the integer that serves as the timer, so it wouldn't be permanent; "loop" is meant to be while() and "breakloop()" Quit().

I'd set up a proper script if I had the time...

Yah, but you can't just put 't+1;', cause there's no assignment.

You have to put 't+=1;'

_L_ wrote:To clarify this confusing manner:
* ZASM variable LINKDRUNK controls this function, much like WAVY etc.
* Link->Drunk doesn't exist yet.
* Yes, in the future you can make enemies that inflict this status effect.

When you say "in the future", is that referring to post 2.5, or during? (I'm not sure if that's considered a feature or not. Just curious.)