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

Quest Rule "Walk-Affected Combos Are Linked Together" isn't even implemented!

2 replies · 1,056 views · Started 29 December 2006

I tried 'grep -r "qr_LINKEDCOMBOS" *' and only got one result:

zdefs.h:  qr_PHANTOMPLACEDTRAPS, qr_ALLOWFASTMSG, qr_LINKEDCOMBOS, qr_NOGUYFIRES,

Someone's got some explaining to do.

It was added in 1.92 beta 57, then commented out in beta 58. It was apparently removed from the code altogether.

In beta 58, the code looked like this (in link.cc/link.cpp in the function LinkClass::checkspecial()


.
.
.
// check alignment for the rest of these
if(int(y)&7)
return;
if(int(x)&7)
return;

int flag = MAPFLAG(x,y);
int type = COMBOTYPE(x,y);

/*
if (!get_bit(QHeader.rules3,qr3_LINKEDCOMBOS)) {
if(int(y)&15)
{
// if(type!=cCAVE || combobuf[MAPCOMBO(x+16,y)].type!=cCAVE)
if(combobuf[MAPCOMBO(x,y+8)].type!=cPIT)
return;
type=cPIT;
}
}
*/
if(flag==mfFAIRY)
{
fairycircle();
return;
}

if(flag==mfZELDA)
{
saved_Zelda();
return;
}

/*
// only allow disalignment with extra wide doors
// from here on...
if(int(x)&15)
{
if((type==cPIT)||(combobuf[MAPCOMBO(x+8,y)].type==cPIT))
type=cPIT;
}

if (!get_bit(QHeader.rules3,qr3_LINKEDCOMBOS)) {
if(int(x)&15)
{
// if(type!=cCAVE || combobuf[MAPCOMBO(x+16,y)].type!=cCAVE)
if((type!=cCAVE || combobuf[MAPCOMBO(x+16,y)].type!=cCAVE) && type!=cPIT)
return;
}
}
*/

if(int(x)&15)
{
if((COMBOTYPE(x,y)!=COMBOTYPE(x+8,y))&&
(COMBOTYPE(x,y)!=cPIT)&&(COMBOTYPE(x+8,y)!=cPIT))
return;
if (COMBOTYPE(x+8,y+8)==cPIT) {
type=cPIT;
}
}
.
.
.