them.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6303 c06c8d41-db1a-0410-9941-cceddc491573
5LIWCQ5G74WIMISKX3SBMZFPVVYEDNUIREAK55XYR5RTNSHVGDYQC
NSQ7BSO5C6QSTHWAIDTQ3XMYN5DENKKPUAA2GE6KQJRWQSDEU4NAC
3U54KX4JPCEBGC3USUQJVX35HBEWV6DX6ZZ4RV7GT3HBX7LMLKPAC
C2PRXJYHDRF2642VDAUY76HJKCPQFGWDI6AM3SMCMYCHGWYDQXQQC
MCQZ4HEOF65FEVWUEAMO2765JYMJPKXQ454HCCWWK3JUYEUSUXTAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
BTDIRPAGSX5DWEEV62VGTYALWM6G5LKFKHT7HYJXVH7XBA4BPHLQC
3BJ2OOF4F524G6UKVGOZVT6W3FSTSHHTKRJADUBZCHDXZWV3KANQC
VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC
JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC
Z6343ZVG2VOE7WOLBS7YLIWJ6XGCRCGJRJLP5WUVRTG7VOIXRRLAC
3NIWNYMNSQZEEXZLEQADAAB3D7GLO5FIH64U5P5YQUVIV5MOURCAC
T7CUIVICB74342RA32BR37T36FOX4RBSQIB5PNOHTGTGUYGDKSTQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
GUXTGUEMZYBRGV5QUAQSJHG3AOIQDWWCDIMOX4LASFJAZVGL2WQAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
X3ZYEJMCHJC27L6YT2NRYB6EN2T3XFRJNUENVHGRPBUKMTVHAGVQC
3A3OAIFRFU3IHF6SDNDPCN3XYOFYIBYCEYJAXAFASCFDY76SMFXQC
LABXKXWWQY2V4FUDLGVTDYHXINAP6KRHZDHBQ2FE22FFOEIZPL6QC
SJP5BHX6MFWF3OSQPEF4WUWZWPUGMOVURTT2CUVT6H3A66LETXUAC
S4BRP4VHB23F2FCC6BXNAN2MZRVUGW7QMXUEOAVZVGFXKXJPVLLQC
GO6DARZD47R5UPXZIBMPX7PZUGJH24JWYDFMTWWESS4IZR7PAWRQC
RWSXCNYUGDSMP2GKN22HROC5Q2GHSAVJJUDRT3Z53WU2DAI4IZOQC
FXVDNB6MAAOSEP37HP7CIPPXNS7FDECN3GCRMT5UFFCKLHIL6IVAC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC
WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
JW2KRJHES33W7UTWZ6NDO4TLMK4EFU4HKZXBWR2UJOMPCCOTR4CQC
QKGDOYIYKE6B36ION5O2DRW65DWWPZMYNWJVH7LJJ7FPGGM2MYAQC
&& (you.inv[i].base_type != OBJ_ARMOUR
|| get_armour_slot(you.inv[i]) != EQ_BODY_ARMOUR
|| you.skills[SK_DODGING] > 0
|| you.skills[SK_ARMOUR] == 0))
&& (you.char_class != JOB_FIGHTER
|| you.inv[i].base_type != OBJ_ARMOUR
|| get_armour_slot(you.inv[i]) != EQ_BODY_ARMOUR))
if (one_chance_in(5))
set_equip_desc( you.inv[0], ISFLAG_RUNED );
if (one_chance_in(5))
set_equip_desc( you.inv[0], ISFLAG_GLOWING );
weap_skill = 2;
if (you.religion != GOD_XOM)
{
// For Lugonu and Makhleb don't hand out enchanted armour.
// Distribute remaining enchantment points on the weapon.
const int help = random2(plusses + 1);
you.inv[0].plus += help;
you.inv[0].plus2 += plusses - help;
plusses = 0;
}
weap_skill = 2;
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_NECROMANCY);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_NECROMANCY);
you.skills[SK_DODGING] = 1;
you.skills[SK_STEALTH] = 1;
you.skills[(coinflip()? SK_DODGING : SK_STEALTH)]++;
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_WAR_CHANTS);
you.skills[SK_FIGHTING] = 3;
you.skills[SK_ARMOUR] = 1;
you.skills[SK_DODGING] = 1;
you.skills[SK_STEALTH] = 1;
you.skills[SK_SPELLCASTING] = 2;
you.skills[SK_ENCHANTMENTS] = 2;
weap_skill = 2;
break;
case JOB_REAVER:
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_SHORT_SWORD);
if (!_choose_weapon())
return (false);
if (you.inv[0].quantity < 1)
_newgame_clear_item(0);
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
if (!_choose_book( you.inv[2], BOOK_CONJURATIONS_I, 2 ))
return (false);
you.skills[SK_FIGHTING] = 2;
you.skills[SK_ARMOUR] = 1;
you.skills[SK_DODGING] = 1;
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS,
you.species == SP_OGRE_MAGE ? WPN_QUARTERSTAFF :
player_genus(GENPC_DWARVEN) ? WPN_HAMMER
: WPN_DAGGER);
if (!you.is_undead && !you.has_claws())
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_KNIFE);
switch (random2(7))
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 2;
you.skills[SK_SPELLCASTING] = 3;
// All three starting books contain Translocations spells.
you.skills[SK_TRANSLOCATIONS] = 1;
// The other two schools depend on the chosen book.
switch (you.inv[2].sub_type)
case 0:
case 1:
default:
set_equip_desc( you.inv[1], ISFLAG_EMBROIDERED_SHINY );
case BOOK_MINOR_MAGIC_I:
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_FIRE_MAGIC] = 1;
case 2:
case 3:
set_equip_desc( you.inv[1], ISFLAG_GLOWING );
break;
case 4:
case 5:
set_equip_desc( you.inv[1], ISFLAG_RUNED );
case BOOK_MINOR_MAGIC_II:
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_ICE_MAGIC] = 1;
// Extra items being tested:
if (!_choose_book( you.inv[2], BOOK_MINOR_MAGIC_I, 3 ))
return (false);
you.skills[SK_DODGING] = 1;
you.skills[SK_STEALTH] = 1;
you.skills[(coinflip() ? SK_DODGING : SK_STEALTH)]++;
you.skills[SK_SPELLCASTING] = 2;
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_ENCHANTMENTS] = 1;
you.skills[SK_SPELLCASTING + random2(3)]++;
you.skills[SK_SUMMONINGS + random2(5)]++;
if (player_genus(GENPC_DWARVEN))
you.skills[SK_MACES_FLAILS] = 1;
else
you.skills[SK_SHORT_BLADES] = 1;
you.skills[SK_STAVES] = 1;
case JOB_ENCHANTER:
case JOB_SUMMONER:
case JOB_FIRE_ELEMENTALIST:
case JOB_ICE_ELEMENTALIST:
case JOB_AIR_ELEMENTALIST:
case JOB_EARTH_ELEMENTALIST:
case JOB_VENOM_MAGE:
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_DAGGER);
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
if (you.char_class == JOB_ENCHANTER)
{
// Enchant starting equipment.
you.inv[0].plus = 1;
you.inv[0].plus2 = 1;
you.inv[1].plus = 1;
}
if (you.char_class == JOB_CONJURER)
{
if (!_choose_book( you.inv[2], BOOK_CONJURATIONS_I, 2 ))
return (false);
}
if (!you.is_undead && !you.has_claws())
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_KNIFE);
switch (you.char_class)
{
case JOB_SUMMONER:
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_CALLINGS);
you.skills[SK_SUMMONINGS] = 4;
// Gets some darts - this class is difficult to start off with.
_newgame_make_item(3, EQ_NONE, OBJ_MISSILES, MI_DART, -1,
8 + roll_dice( 2, 8 ));
break;
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
// Gets some darts - this class is difficult to start off with.
_newgame_make_item(3, EQ_NONE, OBJ_MISSILES, MI_DART, -1,
8 + roll_dice( 2, 8 ), 1);
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE, -1,
1, 1);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_CHARMS);
if (you.species == SP_SPRIGGAN)
_make_rod(you.inv[0], STAFF_STRIKING);
else if (you.species == SP_VAMPIRE)
you.skills[SK_UNARMED_COMBAT] = 1; // for biting
break;
case JOB_FIRE_ELEMENTALIST:
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_FLAMES);
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_FIRE_MAGIC] = 3;
break;
// Gets some darts - this class is difficult to start off with.
_newgame_make_item(3, EQ_NONE, OBJ_MISSILES, MI_DART, -1,
8 + roll_dice( 2, 8 ), 1);
case JOB_ICE_ELEMENTALIST:
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_FROST);
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_ICE_MAGIC] = 3;
break;
if (you.species == SP_SPRIGGAN)
{
you.inv[0].sub_type = WPN_DAGGER;
_make_rod(you.inv[3], STAFF_STRIKING);
you.skills[SK_EVOCATIONS] = 1;
}
else
you.skills[SK_THROWING] = 1;
case JOB_AIR_ELEMENTALIST:
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_AIR);
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_AIR_MAGIC] = 3;
break;
you.skills[SK_ENCHANTMENTS] = 4;
you.skills[SK_SPELLCASTING] = 1;
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 2;
break;
case JOB_EARTH_ELEMENTALIST:
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_GEOMANCY);
_newgame_make_item(3, EQ_NONE, OBJ_MISSILES, MI_STONE, -1, 20);
case JOB_SUMMONER:
if (!you.is_undead && !you.has_claws())
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_KNIFE);
if (you.species == SP_GNOME)
{
_newgame_make_item(1, EQ_NONE, OBJ_WEAPONS, WPN_SLING);
_newgame_make_item(4, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
}
you.skills[SK_TRANSMIGRATION] = 1;
you.skills[SK_EARTH_MAGIC] = 3;
break;
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_CALLINGS);
case JOB_VENOM_MAGE:
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_YOUNG_POISONERS);
you.skills[SK_POISON_MAGIC] = 4;
break;
you.skills[SK_SUMMONINGS] = 4;
you.skills[SK_SPELLCASTING] = 1;
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 2;
break;
if (you.species == SP_OGRE_MAGE)
you.inv[0].sub_type = WPN_QUARTERSTAFF;
else if (player_genus(GENPC_DWARVEN))
you.inv[0].sub_type = WPN_HAMMER;
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_NECROMANCY);
// These summoner races start with polearms and should they
// get their hands on a polearm of reaching they should have
// lots of fun... -- bwr
if (you.char_class == JOB_SUMMONER
&& (you.species == SP_MERFOLK || you.species == SP_HILL_ORC
|| you.species == SP_KENKU || you.species == SP_MINOTAUR))
{
if (you.species == SP_MERFOLK)
you.inv[0].sub_type = WPN_TRIDENT;
else
you.inv[0].sub_type = WPN_SPEAR;
case JOB_WARPER:
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_SHORT_SWORD);
if (!_choose_weapon())
return (false);
you.skills[SK_POLEARMS] = 1;
}
else if (player_genus(GENPC_DWARVEN))
{
you.skills[SK_MACES_FLAILS] = 1;
}
else if (you.char_class == JOB_ENCHANTER && you.species == SP_SPRIGGAN)
{
you.skills[SK_EVOCATIONS] = 1;
}
else
{
you.skills[SK_SHORT_BLADES] = 1;
}
if (you.inv[0].quantity < 1)
_newgame_clear_item(0);
if (you.species == SP_GNOME && you.char_class == JOB_EARTH_ELEMENTALIST)
you.skills[SK_THROWING]++;
else
you.skills[ coinflip() ? SK_DODGING : SK_STEALTH ]++;
you.skills[SK_FIGHTING] = 1;
you.skills[SK_DODGING] = 2;
you.skills[SK_SPELLCASTING] = 2;
you.skills[SK_TRANSLOCATIONS] = 3;
weap_skill = 3;
you.skills[SK_FIGHTING] = 1;
you.skills[SK_UNARMED_COMBAT] = 3;
you.skills[SK_THROWING] = 2;
you.skills[SK_DODGING] = 2;
you.skills[SK_SPELLCASTING] = 2;
you.skills[SK_TRANSMIGRATION] = 2;
case JOB_WARPER:
if (you.species == SP_SPRIGGAN)
{
_make_rod(you.inv[0], STAFF_STRIKING);
case JOB_FIRE_ELEMENTALIST:
if (!you.is_undead && !you.has_claws())
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_KNIFE);
you.skills[SK_EVOCATIONS] = 3;
}
else
{
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_SHORT_SWORD);
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_FLAMES);
if (you.species == SP_OGRE_MAGE)
you.inv[0].sub_type = WPN_QUARTERSTAFF;
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_FIRE_MAGIC] = 3;
you.skills[SK_SPELLCASTING] = 1;
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 2;
break;
// One free escape.
_newgame_make_item(3, EQ_NONE, OBJ_SCROLLS, SCR_BLINKING);
_newgame_make_item(4, EQ_NONE, OBJ_MISSILES, MI_DART, -1,
10 + roll_dice( 2, 10 ));
case JOB_AIR_ELEMENTALIST:
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_KNIFE);
_newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_AIR);
you.skills[SK_THROWING] = 1;
you.skills[SK_DARTS] = 2;
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 1;
you.skills[SK_SPELLCASTING] = 2;
you.skills[SK_TRANSLOCATIONS] = 2;
you.skills[SK_CONJURATIONS] = 1;
you.skills[SK_AIR_MAGIC] = 3;
you.skills[SK_SPELLCASTING] = 1;
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 2;
case JOB_CRUSADER:
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_SHORT_SWORD);
if (!_choose_weapon())
return (false);
case JOB_EARTH_ELEMENTALIST:
if (!you.is_undead && !you.has_claws())
_newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_KNIFE);
you.skills[SK_FIGHTING] = 3;
you.skills[SK_ARMOUR] = 1;
you.skills[SK_DODGING] = 1;
you.skills[SK_STEALTH] = 1;
you.skills[SK_SPELLCASTING] = 2;
you.skills[SK_ENCHANTMENTS] = 2;
if (you.species == SP_GNOME)
{
_newgame_make_item(1, EQ_NONE, OBJ_WEAPONS, WPN_SLING);
_newgame_make_item(4, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
}
you.skills[SK_TRANSMIGRATION] = 1;
you.skills[SK_EARTH_MAGIC] = 3;
you.skills[SK_SPELLCASTING] = 1;
you.skills[SK_DODGING] = 2;
you.skills[SK_STEALTH] = 2;
if (!_choose_book( you.inv[2], BOOK_CONJURATIONS_I, 2 ))
return (false);
you.skills[SK_FIGHTING] = 2;
you.skills[SK_ARMOUR] = 1;
you.skills[SK_DODGING] = 1;
_newgame_make_item(2, EQ_NONE, OBJ_BOOKS, BOOK_YOUNG_POISONERS);