1
0
Fork 0
mirror of https://codeberg.org/noisytoot/notnotdnethack.git synced 2025-08-06 12:45:25 +01:00

Add ACU role entry, get some ACU special rules set up. Add quest text

and pager text for ACU. Add skills and inventory.
This commit is contained in:
demogorgon22 2020-12-30 12:56:17 -05:00
parent 401d91983c
commit 000a03263f
10 changed files with 443 additions and 18 deletions

View file

@ -296,6 +296,242 @@ Amulet on that altar to fulfill your destiny.
"Remember, your path now should always be upwards."
%E
#
# Anachronounbinder
#
%Cc Acu 00001
Something is wrong. You cannot feel the Elder Brain as you have in the past.
%E
%Cp Acu 00002
You return to %H.
%E
%Cp Acu 00003
You are back at %H.
You have an odd feeling this may be the last time you ever come here.
%E
%Cp Acu 00005
"UNITY WAS NEAR"
%E
%Cp Acu 00006
"WE TRIED"
%E
%Cp Acu 00007
"KILL THE LICH"
%E
%Cp Acu 00008
"ILLITHIDS ARE STRONG"
%E
%Cp Acu 00009
"THE ULITHARID IS MIGHTY"
%E
%Cp Acu 00010
"YOU DID IT"
%E
%Cp Acu 00011
"WE WILL BE SAVED"
%E
%Cp Acu 00012
"DEATH TO VESTIGES"
%E
%Cp Acu 00013
"FEAR NO UNDEAD"
%E
%Cp Acu 00014
"THE ELDER GOD WILL RETURN"
%E
%Cc Acu 00015
I see you made it back. The Elder Brain has been attacked.
We cannot risk another illithid to %nt and his undead rebels.
%d's empire is falling.
Let me see if you are ready for certain death.
%E
%Cp Acu 00016
"You have returned from farther up the time-stream, I see.
Let me check if you are strong enough now."
%E
%Cp Acu 00017
"You have traveled quite far up the time-stream now.
Let me check if you are strong enough now."
%E
%Cc Acu 00018
You have betrayed the Elder Brain. Begone. Only %L is pure.
%E
%Cc Acu 00019
"You are weak. You would die.
Go now, return to the future, and come back to us from farther up
the time-stream."
%E
%Cc Acu 00020
"You disrespect %d.
What distinguishes you from %n? Return
to the future and rededicate yourself to %d."
%E
%Cc Acu 00021
"Illithocyte, you may now be ready to undertake the final preparations
for your mission."
"I know not how we are remembered.
No gith slave could possibly overpower the forces of %d.
The void fills with the spirits of our slave races.
We will fall to the foolish illithids who betray the Elder Brain
and attempt to seek their own eternity by meddling with The Gate."
"%nt and his spirits of our slaves have just begun attacks on Elder Brains.
All our knowledge now belongs to %nt and his abominations.
You are ready now to travel to %i and recover %o."
"Should you be successful, you must recover the Amulet of Yendor
and use it to recover Ilsensine from The Void and close The Gate."
%E
%Cp Acu 00025
"Should you fail, the Illithid Empire will be no more."
%E
%Cp Acu 00026
"%n is an alhoon, a dangerous undead illich. He is mindless."
%E
%Cp Acu 00027
"Villithids will suck your mind and your life. Watch out for those abominations."
%E
%Cp Acu 00028
"With the power of %o you can prevent the fall of the greatest empire ever."
%E
%Cp Acu 00029
"%n's abominations include adversaries, illithids whose host controls them."
%E
%Cp Acu 00030
"Beware of neothelids and their many tentacles. They have committed grave sins."
%E
%Cp Acu 00031
"Be sure to take advantage of the items you have taken from spirits."
%E
%Cp Acu 00032
"The Illithid Cavern is full of abominations. May %d guide your steps."
%E
%Cp Acu 00033
"You will need to name a double lightsaber The Illithid Staff one day."
%E
%Cp Acu 00034
"I hope you found luck in the future, for there is surely
none left in this fading world."
%E
%Cc Acu 00035
You stand before the Illithid Cavern.
You hear dripping water echo throughout the cavern.
A sense of dread hangs over this once great place.
The knowledge and memories here have deteriorated
and this place lays in waste.
%E
%Cp Acu 00036
Once again, you arrive at the Illithid Cavern.
%E
%Cc Acu 00040
You have reached %i. The air here is heavier.
You feel closer to the collective suppressed minds of the
slaves of the illithid empire. %n will have hell to pay.
%E
%Cp Acu 00041
You have returned to %i.
%E
%Cc Acu 00050
You will die, %r. %d will never stop the rebellion of civilization.
%E
%Cc Acu 00051
I will bind your spirit when I finish you.
%E
%Cp Acu 00052
You blood will feed my villithids.
%E
%Cp Acu 00053
The knowledge of %o is mine!
%E
%Cp Acu 00060
The Alignment Thing will dismember you!
%E
%Cp Acu 00061
You will never use %o to save %d!
%E
%Cp Acu 00062
I'll bind your spirit to my pet neothelid!
%E
%Cp Acu 00063
Through death I will live forever!
%E
%Cp Acu 00064
The knowledge of %o makes me stronger than you.
%E
%Cp Acu 00065
Defeat is the only end you can meet.
%E
%Cp Acu 00066
Death means nothing to me.
%E
%Cp Acu 00067
I fear no god.
%E
%Cp Acu 00068
You are nothing more than a grunt.
%E
%Cp Acu 00069
How does it feel to be a pawn for %d?
%E
%Cc Acu 00070
The Elder Cerebral Fluid glows briefly. Your mind opens up in new ways to new
ideas and you understand the universe differently.
You must return to %l, to learn
the details of the next and final stage of the plan.
%E
%Cp Acu 00080
%n breathes his dying curses. His body blows away into the wind and
his spirit cannot survive here.
%E
%Cc Acu 00081
%l looks wonderingly at %o.
"Well done, %s. You have succeed where
all others have failed, and returned hope to
our world.
"You must now travel deep into the earth, and
retrieve the Amulet of Yendor, that was stolen by
Moloch at the beginning of time.
"With %o inside The Illithid Staff, a double lightsaber you
will have to name as a Keeper of The Gate, you must travel to
the Astral Plane and perform the Elder Memory invocation on
the altar of the void."
"From there you must travel through The Gate to The Far Void
and use the Amulet of Yendor to free her from banishment."
"Should you find yourself needing a double lightsaber after getting
the amulet you can return here."
%E
%Cc Acu 00082
"%o's power can help you in your fight against the spirits of the
near void. Should you lose it this will all be meaningless."
%E
%Cc Acu 00090
"You must return to the future and finish the plan."
%E
%Cc Acu 00091
"You've done it! But there is still nothing you can do for us
here in the past."
"With %o inside The Illithid Staff you must travel to
the Astral Plane and perform the Elder Memory invocation on
the high altar of the void."
"From there you must travel through The Gate to The Far Void
and use the Amulet of Yendor to free her from banishment."
%E
#
# Anachrononaut
#
@ -8445,4 +8681,42 @@ Annulus from wherever it ended up, and use it against
Ilsensine in the past.
"So, you know. Good luck."
%E
%E
#
# Legacy text for Illithanachronounbinders
#
%Cc - 00226
Now, there is a story:
After the Creation, the cruel god Moloch rebelled
against the authority of Marduk the Creator.
Moloch stole from Marduk the most powerful of all
the artifacts of the gods, the Amulet of Yendor,
and he hid it in the dark cavities of Gehennom, the
Under World, where he now lurks, and bides his time.
The various gods and heroes of this world struggle
mightily to recover the amulet, for the god who reclaims
the amulet will be granted ascendance over the other
gods of the world.
It wasn't always this way. In the days from which you
traveled there was but one god, Ilsensine. She and her
illithid empire ruled over all of the known universe.
You, a newly empowered %r, have been heralded
from birth to travel to the future, now. The mighty
plan of Ilsensine will be ready then and the slave
races replenished.
You must travel back on your quest to recover the
memories of illithids past and with them inside
the mighty Illithid Staff ascend to the Astral Plane with
the amulet and use the memories to travel to The Void,
where Ilsensine slumbers.
%d must be recovered and the natural order
of power brought back to this forsaken universe.
Go bravely for Ilsensine!
%E

View file

@ -211,7 +211,7 @@ extern struct god_details god_list[MAX_GOD]; //defined in decl.c
#define GA_FRACTURE 12
#define GA_SOTHOTH 13
#define GA_VELKA 14
#define GA_NUM 15
#define GA_NUM 16
#define GOAT_EAT_PASSIVE 0
#define GOAT_EAT_OFFERED 1

View file

@ -5,7 +5,7 @@
#ifndef QTEXT_H
#define QTEXT_H
#define N_HDR 30 /* Maximum number of categories */
#define N_HDR 31 /* Maximum number of categories */
/* (i.e., num roles + 1) */
#define LEN_HDR 3 /* Maximum length of a category name */

View file

@ -658,6 +658,7 @@ struct you {
int sealTimeout[NUMINA-FIRST_SEAL]; //turn on which spirit will be again eligible for binding.
long spiritSummons;
int sealCounts;
long sealsActive;
long sealsUsed;

View file

@ -2554,6 +2554,8 @@ newgame()
com_pager(220);
com_pager(221);
}
} else if(Role_if(PM_ANACHRONOUNBINDER)){
com_pager(226);
} else if(Race_if(PM_WORM_THAT_WALKS)){
if(Role_if(PM_CONVICT)){
com_pager(214);
@ -2698,6 +2700,12 @@ boolean new_game; /* false => restoring an old game */
pline("Use #monster to adjust your clockspeed.");
You("do not heal naturally. Use '.' to attempt repairs.");
}
if(Role_if(PM_ANACHRONOUNBINDER)){
pline("Use #monster to use your psychic powers.");
pline("Press Ctrl^E or type #seal to engrave a seal of binding.");
pline("#chat to a fresh seal to contact the spirit beyond.");
pline("You must summon spirits to gain xlvl.");
}
if(Race_if(PM_INCANTIFIER)){
pline("Incantifiers eat magic, not food, and do not heal naturally.");
}

View file

@ -1627,7 +1627,7 @@ domove()
*/
if (rn2(4)) {
You_feel("guilty about losing your pet like this.");
u.ugangr[Align2gangr(u.ualign.type)]++;
if(!Role_if(PM_ANACHRONOUNBINDER)) u.ugangr[Align2gangr(u.ualign.type)]++;
adjalign(-15);
}

View file

@ -6876,6 +6876,14 @@ is a red right hand
0 /*MM*/, MT_OMNIVORE|MT_COLLECT /*MT*/, MF_MARTIAL_B /*MF*/,
MB_HUMANOID|MB_STRONG /*MB*/, MG_NOWISH|MG_NOPOLY|MG_INFRAVISIBLE /*MG*/,
MA_HUMAN /*MA*/, MV_NORMAL /*MV*/, HI_DOMESTIC),
MON("anachronounbinder", S_HUMAN,//7 /*Needs encyc entry*/
LVL(5, 12, 10, 50, 0), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
0 /*MM*/, MT_OMNIVORE|MT_COLLECT /*MT*/, MF_MARTIAL_B /*MF*/,
MB_HUMANOID|MB_STRONG /*MB*/, MG_NOWISH|MG_NOPOLY|MG_INFRAVISIBLE /*MG*/,
MA_HUMAN /*MA*/, MV_NORMAL /*MV*/, HI_DOMESTIC),
MON("knight", S_HUMAN,//12
LVL(10, 12, 10, 1, 3), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_XWEP, AD_PHYS, 1, 6),

View file

@ -60,6 +60,8 @@ const char *BlackMother = "the Black Mother";
const char *Nodens = "Nodens";
const char *DreadFracture = "the Dread Fracture";
const char *AllInOne = "Yog-Sothoth";
const char *AcuL= "Ilsensine the Banished One";
const char *AcuLL= "Ilsensine";
static const char *godvoices[] = {
"booms out",
@ -1434,7 +1436,7 @@ godvoice(ga_num, words)
else
words = "";
if(ga_num == GA_VOID){
if(ga_num == GA_VOID || Role_if(PM_ANACHRONOUNBINDER)){
You("think you hear a voice in the distance: %s%s%s", quot, words, quot);
} else if(ga_num == GA_SILENCE){
You_hear("silence.");
@ -1824,6 +1826,12 @@ dosacrifice()
You("do not give offerings to the God of the future.");
return 0;
}
if(Role_if(PM_ANACHRONOUNBINDER) && otmp->otyp != AMULET_OF_YENDOR){
if(In_quest(&u.uz)) You("wouldn't want to change the future.");
else You("cannot feel your true god.");
return 0;
}
#define MAXVALUE 24 /* Highest corpse value (besides Wiz) */
@ -1976,12 +1984,36 @@ dosacrifice()
if (otmp->otyp == AMULET_OF_YENDOR) {
if (!Is_astralevel(&u.uz)) {
/*
if(Role_if(PM_ANACHRONOUNBINDER) && In_void(&u.uz)){
if(Is_sacris(&u.uz) || Is_ilsensine(&u.uz)){
if(uamul == otmp) Amulet_off();
u.uevent.ascended = 1;
if(carried(otmp)) useup(otmp);
else useupf(otmp, 1L);
You("offer the Amulet of Yendor to %s...", a_gname());
if(Is_sacris(&u.uz)){
adjalign(20);
pline("Strange sounds echo around you!");
pline("What happens next?");
done(ESCAPED);
} else {
adjalign(10);
pline("The Void collapses as you and Ilsensine are launched toward the heavens.");
pline("The Gate closes behind you, no longer able to hold the spirits of the enslaved.");
pline("With the amulet's power Ilsensine is restored to her former glory.");
You("are blessed by Ilsensine's flowing tentacles and dubbed Maanzecorian.");
pline("As time moves at the blink of an eye you watch the Illithid Empire return to power.");
done(ASCENDED);
}
}
}*/
if (Hallucination)
You_feel("homesick.");
else
You_feel("an urge to return to the surface.");
return 1;
} else {
} else if(!Role_if(PM_ANACHRONOUNBINDER)){
/* The final Test. Did you win? */
if(uamul == otmp) Amulet_off();
u.uevent.ascended = 1;
@ -2050,6 +2082,8 @@ dosacrifice()
done(ASCENDED);
}
}
} else {
You("do not give the amulet to this %s deity. You must use the Elder Memories invocation on the void altar.",altaralign==A_LAWFUL?"fallen":"false");
}
} /* real Amulet */
@ -2479,6 +2513,11 @@ dopray()
pline("And to It, you do not pray.");
return 0;
}
if(Role_if(PM_ANACHRONOUNBINDER)){
if(In_quest(&u.uz)) You("wouldn't want to change the future.");
else pline("Ilsensine, the Banished One, cannot hear your prayers.");
return 0;
}
/* Confirm accidental slips of Alt-P */
if (flags.prayconfirm)
@ -2956,12 +2995,19 @@ int ga_num;
case GA_LAWFUL:
if(Role_if(PM_ANACHRONONAUT) && In_quest(&u.uz)){
gnam = "";
} else if(Role_if(PM_ANACHRONOUNBINDER) && !In_quest(&u.uz)){
gnam = AcuL; break;
} else if(Role_if(PM_ANACHRONOUNBINDER)){
gnam = AcuLL; break;
} else {
gnam = urole.lgod; break;
}
else gnam = urole.lgod;
break;
case GA_NEUTRAL:
if(Role_if(PM_ANACHRONONAUT) && In_quest(&u.uz)){
gnam = "";
} else if(Role_if(PM_ANACHRONOUNBINDER)){
gnam = tVoid;
}
else gnam = urole.ngod;
break;

View file

@ -209,6 +209,32 @@ struct Role roles[] = {
{ 1, 4, 1, 2, 0, 3 },20, /* Energy */
10, 3,-3, 2, 10, A_WIS, SPE_CURE_SICKNESS, -14
},
{ {"Illithanachronounbinder", 0}, {
{"Exorcist", 0},
{"Unbinder", 0},
{"Vestige Vanquisher", 0},
{"Spirit Killer", 0},
{"Mind Flayer", 0},
{"Psionaut", 0},
{"Void Voider", 0},
{"Telekinetic", 0},
{"Keeper of the Gate", 0} },
"_Ilsensine", "Resistance", "Thoon", /* ahahah */
"Acu", "The Elder Pool", "The Far Reach",
PM_ANACHRONOUNBINDER, NON_PM, PM_BRAIN_GOLEM,
PM_ULITHARID, PM_MINDLESS_THRALL, PM_MENZOBERRANZAN,
NON_PM, NON_PM, NON_PM, NON_PM,
ART_ELDER_CEREBRAL_FLUID,
MA_HUMAN|MA_DWARF|MA_GNOME|MA_ELF|MA_ORC|MA_DRAGON|MA_ANIMAL|MA_REPTILIAN, ROLE_MALE|ROLE_FEMALE |
ROLE_LAWFUL,
/* Str Int Wis Dex Con Cha */
{ 12, 10, 7, 12, 12, 7 },
{ 24, 20, 15, 20, 24, 15 },
/* Init Lower Higher */
{ 14, 0, 8, 4, 2, 2 }, /* Hit points */
{ 4, 3, 0, 2, 0, 3 },12, /* Energy */
10, 5, 0, 2, 10, A_INT, SPE_DETECT_MONSTERS, -9
},
{ {"Knight", 0}, {
{"Gallant", 0},
{"Esquire", 0},
@ -2796,12 +2822,12 @@ int newgame;
mons[urole.neminum].mflagsg |= MG_NASTY;
}
if(Role_if(PM_ANACHRONONAUT)){
if(Role_if(PM_ANACHRONONAUT) || Role_if(PM_ANACHRONOUNBINDER)){
//Drow noble nemesis is regular monster for anachrononauts
mons[PM_ELDER_BRAIN].msound = MS_SILENT;
mons[PM_ELDER_BRAIN].geno &= ~G_UNIQ;
if(flags.questprogress==2) urole.lgod = AnachrononautLgodEnd;
else if(flags.questprogress==1) urole.lgod = AnachrononautLgod;
if(flags.questprogress==2 && Role_if(PM_ANACHRONONAUT)) urole.lgod = AnachrononautLgodEnd;
else if(flags.questprogress==1 && Role_if(PM_ANACHRONONAUT)) urole.lgod = AnachrononautLgod;
}
if(!Role_if(PM_CAVEMAN)){

View file

@ -41,6 +41,26 @@ static struct trobj Archeologist[] = {
{ TORCH, 0, TOOL_CLASS, 3, 0 },
{ 0, 0, 0, 0, 0 }
};
static struct trobj Anachronounbinder[] = {
{ QUARTERSTAFF, 3, WEAPON_CLASS, 1, 0 },
{ DAGGER, 0, WEAPON_CLASS, 1, 0 },
{ LEATHER_ARMOR, 1, ARMOR_CLASS, 1, 0 },
{ LEATHER_HELM, 0, ARMOR_CLASS, 1, 0 },
{ GLOVES, 0, ARMOR_CLASS, 1, 0 },
{ FOOD_RATION, 0, FOOD_CLASS, 3, 0 },
{ R_LYEHIAN_FACEPLATE,0,TOOL_CLASS,1,0},
{ 0, 0, 0, 0, 0 }
};
static struct trobj AcuBoots[] = {
{ HIGH_BOOTS, 0, ARMOR_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
};
static struct trobj AcuRobe[] = {
{ ROBE, 0, ARMOR_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
};
static struct trobj Anachrononaut_Hu[] = {
{ FORCE_PIKE, 0, WEAPON_CLASS, 1, 0 },
{ ARM_BLASTER, 0, WEAPON_CLASS, 1, 0 },
@ -826,6 +846,29 @@ static const struct def_skill Skill_A[] = {
{ P_NONE, 0 }
};
static const struct def_skill Skill_Acu[] = {
{ FFORM_SHII_CHO, P_EXPERT },
{ P_DAGGER, P_EXPERT }, { P_KNIFE, P_SKILLED },
{ P_SHORT_SWORD, P_SKILLED },{ P_LANCE, P_BASIC },
{ P_SABER, P_SKILLED }, { P_LONG_SWORD, P_BASIC },
{ P_CLUB, P_SKILLED }, { P_QUARTERSTAFF, P_EXPERT },
{ P_BROAD_SWORD, P_EXPERT },{ P_HAMMER, P_BASIC },
//#ifdef FIREARMS
// { P_FIREARM, P_SKILLED },
//#endif
{ P_DART, P_BASIC }, { P_PICK_AXE, P_BASIC },
{ P_WHIP, P_SKILLED }, { P_BOOMERANG, P_BASIC },
{ P_ATTACK_SPELL, P_BASIC }, { P_HEALING_SPELL, P_BASIC },
{ P_DIVINATION_SPELL, P_SKILLED}, { P_MATTER_SPELL, P_BASIC},
#ifdef STEED
{ P_RIDING, P_BASIC },
#endif
//{ P_TWO_WEAPON_COMBAT, P_EXPERT },
{ P_BARE_HANDED_COMBAT, P_EXPERT },{ P_TWO_HANDED_SWORD, P_SKILLED },
{ P_NONE, 0 }
};
static const struct def_skill Skill_Ana[] = {
{ P_DAGGER, P_SKILLED }, { P_KNIFE, P_SKILLED },
{ P_SHORT_SWORD, P_EXPERT },{ P_LANCE, P_EXPERT },
@ -1581,20 +1624,25 @@ u_init()
/*Randomize spirit order*/{
int i,j,tmp;
for(i=0;i<31;i++) u.sealorder[i]=i;
for(i=0;i<31;i++){
j=rn2(31);
tmp = u.sealorder[i];
u.sealorder[i] = u.sealorder[j];
u.sealorder[j] = tmp;
if(!Role_if(PM_ANACHRONOUNBINDER)){
for(i=0;i<31;i++){
j=rn2(31);
tmp = u.sealorder[i];
u.sealorder[i] = u.sealorder[j];
u.sealorder[j] = tmp;
}
}
}
if(Role_if(PM_EXILE)){
u.sealsKnown = sealKey[u.sealorder[0]] | sealKey[u.sealorder[1]] | sealKey[u.sealorder[2]];
}else if(Role_if(PM_ANACHRONOUNBINDER)){
u.sealsKnown |= sealKey[u.sealorder[0]] | sealKey[u.sealorder[1]];
}
else u.sealsKnown = 0L;
u.specialSealsKnown = 0L;
u.spiritSummons = 0L;
u.sealCounts = 0;
u.sealsActive = 0;
u.specialSealsActive = 0;
@ -1741,6 +1789,19 @@ u_init()
knows_object(TOUCHSTONE);
skill_init(Skill_A);
break;
case PM_ANACHRONOUNBINDER:
ini_inv(Anachronounbinder);
if(!slithy(youracedata) && humanoid(youracedata)) ini_inv(AcuBoots);
if(!Race_if(PM_DROW) && !Race_if(PM_INCANTIFIER)) ini_inv(AcuRobe);
knows_object(KHAKKHARA);
knows_object(DOUBLE_LIGHTSABER);
knows_object(HIGH_BOOTS);
knows_object(SENSOR_PACK);
knows_object(R_LYEHIAN_FACEPLATE);
knows_object(GLOVES);
u.ualignbase[A_CURRENT] = u.ualignbase[A_ORIGINAL] = u.ualign.type = A_LAWFUL;
skill_init(Skill_Acu);
break;
case PM_ANACHRONONAUT:
if(Race_if(PM_MYRKALFR) && !flags.female){
ini_inv(Anachrononaut_Dro);
@ -2226,7 +2287,7 @@ u_init()
}
} else if(!Role_if(PM_EXILE) && !Role_if(PM_CONVICT)){
ini_inv(DrovenCloak);
if(!flags.female){
if(!flags.female && !Role_if(PM_ANACHRONOUNBINDER)){
u.ualignbase[A_CURRENT] = u.ualignbase[A_ORIGINAL] =
u.ualign.type = A_NEUTRAL; /* Males are neutral */
flags.initalign = 1; // 1 == neutral
@ -2299,7 +2360,7 @@ u_init()
case PM_GNOME:
/* Gnomes can recognize common dwarvish objects */
if (!Role_if(PM_ARCHEOLOGIST)){
if (!Role_if(PM_ARCHEOLOGIST) && !Role_if(PM_ANACHRONOUNBINDER)){
ini_inv(GnomishHat);
}
skill_add(Skill_G);
@ -2508,6 +2569,7 @@ int otyp;
switch (Role_switch) {
case PM_ARCHEOLOGIST: skills = Skill_A; break;
case PM_ANACHRONOUNBINDER: skills = Skill_Acu; break;
case PM_ANACHRONONAUT: skills = Skill_Ana; break;
case PM_BARBARIAN: skills = Skill_B; break;
#ifdef BARD