At the request of the DSA (Dungeon Shopkeepers Association), the Wizard
of Yendor recently hired a security force in hopes of cutting down on the
rash of recent thefts. Unfortunately, the Wizard is notoriously cheap
and the Keystone Kops he hired aren't much of a deterrent. But they are
quite active!
-- Scott
------
The following diffs add Keystone Kops to hack. Hopefully they are pretty
close to the correct lines numbers for a "vanilla" hack, but since I
modified my hack for an Apollo, I can't be certain. If the numbers are off,
please post any corrections (DON'T send them to me).
Unfortunately, you can't have #ifdefs in def.objects.h, so you have to
manually change the name in line 54 to "dead Kop".
(Sorry, I had to prepend semicolons so the server wouldn't think I was
quoting an article.)
in hack.mon.c
;212a213
;> #ifndef KOPS
;213a215,217
;> #else KOPS
;> (index("KBIuy", mdat->mlet) && !rn2(4)) ||
;> #endif KOPS
;585a586,596
;> #ifdef KOPS
;> if(mtmp->data->mlet == 'K') {
;> /* When a Kop dies, he probably comes back. */
;> register int fate = rnd(3);
;> if(fate == 1) {
;> /* returns near the stairs */
;> mkmon_at('K',xdnstair,ydnstair);
;> } else if(fate == 2) {
;> /* randomly */
;> mkmon_at('K',0,0);
;> }
;> }
;> #endif KOPS
;
;in hack.monst.c
;
;12a13,15
;> #ifdef KOPS
;> { "Keystone Kop", 'K',1,6,7,1,4,0 },
;> #else KOPS
;13a17
;> #endif KOPS
;
;in hack.makemon.c:
;40a41,44
;> #ifdef KOPS
;> /* Avoid Kops. Any better way? */
;> if(ptr->mlet == 'K') continue;
;> #endif KOPS
;
;in hack.shk.c:
;
;143a144,148
;> #ifdef KOPS
;> /* Keystone Kops srt@ucla */
;> pline("An alarm sounds throughout the dungeon!");
;> pline("The Kops are after you!");
;> #endif KOPS
;153a159,180
;> #ifdef KOPS
;> {
;> coord enexto();
;> coord mm;
;> register int cnt = dlevel + rnd(3);
;> /* Create a swarm near the staircase */
;> mm.x = xdnstair;
;> mm.y = ydnstair;
;> while(cnt--) {
;> mm = enexto(mm.x, mm.y);
;> (void) mkmon_at('K', mm.x, mm.y);
;> }
;> /* Create a swarm near the shopkeeper */
;> cnt = dlevel + rnd(3);
;> mm.x = shopkeeper->mx;
;> mm.y = shopkeeper->my;
;> while(cnt--) {
;> mm = enexto(mm.x, mm.y);
;> (void) mkmon_at('K', mm.x, mm.y);
;> }
;> }
;> #endif KOPS
;
;in hack.fight.c
;
;72a73,75
;> #ifdef KOPS
;> if(letter(pd->mlet) && rn2(3) && pd->mlet != 'K'){
;> #else KOPS
;73a77
;> #endif KOPS
Scott R. Turner
ARPA: (now) s...@UCLA-LOCUS.ARPA (soon) s...@LOCUS.UCLA.EDU
UUCP: ...!{cepu,ihnp4,trwspp,ucbvax}!ucla-cs!srt
DRAGNET: ...!{channing,streisand,joe-friday}!s...@dragnet-relay.arpa
Could you send a complete source that runs on an Apollo?. I have ported alot
of games for the Apollo and would be willing to exchange tapes.
Sorry to post this, but our system did not know about his host?
----------------------------------------------------------------
FROM: Keith Cantrell, CAE Systems Division of Tektronix, Inc.
UUCP: tektronix!cae780!cantrell
{ihnp4, decvax!decwrl}!amdcad!cae780!cantrell
{hplabs, resonex, qubix, leadsv}!cae780!cantrell
USMAIL: 8111 L.B.J. Freeway Suite 655 Dallas, Texas 75251
AT&T: 214-669-8161
----------------------------------------------------------------
-David C. Kovar
The HACK sources are available here at ncsuvx.ncsu.edu, but, since we are not
registered by SRI yet, we are still known as [128.109.153.1].
They are on our anonymous ftp, and we also have CONTEXT diffs of the 6 patches
that were sent out on this group. They include the Samurai, Ninja, and other
patches.
Alan Clegg