Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BUG: Shrieking takes no time and has no effect

3 views
Skip to first unread message

rpresser

unread,
Oct 1, 2008, 3:47:55 PM10/1/08
to
While polymorphed into a shrieker, I can shriek (using #monster) as
many times as I want, and the turn counter never increases. It also
doesn't awaken nearby sleeping monsters, and never summons a worm.

--
rpresser

Friedrich

unread,
Oct 1, 2008, 4:41:05 PM10/1/08
to
rpresser schrieb:


You("shriek.");
if(u.uburied) pline("Unfortunately sound does not carry well through
rock.");
else aggravate();


Friedrich

unread,
Oct 1, 2008, 4:47:07 PM10/1/08
to
That's happening when you type to fast :(

You("shriek.");
if(u.uburied) pline("Unfortunately sound does not carry well through
rock.");
else aggravate();

void
aggravate()
{
register struct monst *mtmp;

for(mtmp = fmon; mtmp; mtmp = mtmp->nmon)
if (!DEADMONSTER(mtmp)) {
mtmp->msleeping = 0;
if(!mtmp->mcanmove && !rn2(5)) {
mtmp->mfrozen = 0;
mtmp->mcanmove = 1;
}
}
}

So from the source code, the monsters should wake up! As long as you are
not buried.

I tried out the shrieking in wizardmode and shrieking didn't use any
turn ... but it only seems to happen with the shrieker as i tried using
the #monster as an black dragon.

I am going to check out the source further and try to find the bug.

Friedrich

unread,
Oct 1, 2008, 5:20:38 PM10/1/08
to
Found the bug:

cmd.h:
in the function:
domonability()

that function should return 1 if it uses one turn and 0 if not shrieking
naturally return nothing so the default 0 is retunred and therefore not
using up a turn.

I think shrieking should also attract purple worms as they are attracted
by shriekers
so i also added the possibility of a purple worm appearing.
Also it should use up some energy as it would be too easy to spawn a
couple of 'easy' kills.


else {
int energy =5;
aggravate();
if (u.uen - energy>=0){
u.uen-=energy;
if (!rn2(8)) {
if (!rn2(13))
(void) makemon(&mons[PM_PURPLE_WORM], 0, 0, NO_MM_FLAGS);
else
(void) makemon((struct permonst *)0, 0, 0, NO_MM_FLAGS);
}
}
return 1;
}

the patch is going to be applied at the server

slashem.de


Regards Friedrich

Richard Bos

unread,
Oct 23, 2008, 6:26:10 PM10/23/08
to
Friedrich <suckm...@gmx.de> wrote:

> You("shriek.");
> if(u.uburied) pline("Unfortunately sound does not carry well through
> rock.");

Which is, in fact, not true. Once you've generated a soundwave in a
solid medium, it will carry through it much better than through a gas.

Richard

Message has been deleted

Janis Papanagnou

unread,
Oct 24, 2008, 9:42:08 AM10/24/08
to
Jukka Lahtinen wrote:
> But it takes more energy to get solid rock vibrating than air,

Are you sure? I thought loudness would correlate with the energy
equivalent put into the system. And I'd have indeed thought that
the *same* energy equivalent would be transported as a soundwave
better in dense matter (like rails, stone, water, even mist) than
in airy matter. Or asked the other way round; if you hit with a
hammer on rails would you really need less energy to stimulate
air to a similar degree?

> so the sound needs to be louder there.

("there" - where?)

Janis

Pata...@gmail.com

unread,
Oct 24, 2008, 4:59:57 PM10/24/08
to
On Oct 25, 12:42 am, Janis Papanagnou <janis_papanag...@hotmail.com>
wrote:
> Jukka Lahtinen wrote:
> > ralt...@xs4all.nl (Richard Bos) writes:

I think the problem isn't that sound doesn't carry well in rock - it
does - but it can't readily leave the wall-air interface, just like
sounds emitted in air tend to be buffered by walls.
Alternatively it could be because the devteam can't be bothered coding
the special case of sounds emitted through rock ;)

Kent Paul Dolan

unread,
Oct 25, 2008, 9:29:59 PM10/25/08
to

More important, perhaps, is that shrieking is
accomplished by forcing air out from inside the body
past some kind of vocalization device, like vocal
cords. Being embedded in rock wouldn't seem to leave
a way to do that. The air has no "out" into which it
can go. There is rock in the way.

Of course, if mushroom-shaped shriekers really
operate by stridulation or some such, like crickets
do, ignore the above.

xanthian.

Richard Bos

unread,
Oct 26, 2008, 3:28:07 PM10/26/08
to
Pata...@gmail.com wrote:

> On Oct 25, 12:42=A0am, Janis Papanagnou <janis_papanag...@hotmail.com>


> wrote:
> > Jukka Lahtinen wrote:
> > > ralt...@xs4all.nl (Richard Bos) writes:
> > >>Friedrich <suckme2...@gmx.de> wrote:
> >
> > >>>You("shriek.");
> > >>> if(u.uburied) pline("Unfortunately sound does not carry well through
> > >>>rock.");
> >
> > >>Which is, in fact, not true. Once you've generated a soundwave in a
> > >>solid medium, it will carry through it much better than through a gas.
> >
> > > But it takes more energy to get solid rock vibrating than air,
> >
> > Are you sure? I thought loudness would correlate with the energy
> > equivalent put into the system. And I'd have indeed thought that
> > the *same* energy equivalent would be transported as a soundwave
> > better in dense matter (like rails, stone, water, even mist) than
> > in airy matter. Or asked the other way round; if you hit with a
> > hammer on rails would you really need less energy to stimulate
> > air to a similar degree?
> >
> > > so the sound needs to be louder there.
> >
> > ("there" - where?)
> >
> > Janis
>
> I think the problem isn't that sound doesn't carry well in rock - it
> does - but it can't readily leave the wall-air interface, just like
> sounds emitted in air tend to be buffered by walls.

Probably - elephants, for example, make good use of the propagation of
low-frequency sound through the earth, but they "listen" to them through
the soles of their feet, and by putting the tips of their trunks to the
ground. And whales can listen to one another's songs from hundreds or
thousands of miles away, but outside the water you can't hear a whale
sing even if you're right above him.

> Alternatively it could be because the devteam can't be bothered coding
> the special case of sounds emitted through rock ;)

I doubt that - they could simply have ignored the whole issue and made
sound travel through rock ("through the cracks", if you want to
rationalise it) as if it were in air. More likely they just chose a
slightly unfortunate phrasing for "Unfortunately it's hard for a
non-burrower to generate sound in rock".

Not that I think it's an important issue, mind you. It was just an idle
musing on my part in the first place.

Richard

0 new messages