diff options
Diffstat (limited to 'crawl-ref/source/newgame.cc')
-rw-r--r-- | crawl-ref/source/newgame.cc | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc index 699e1ad6a7..cc354a647b 100644 --- a/crawl-ref/source/newgame.cc +++ b/crawl-ref/source/newgame.cc @@ -2528,7 +2528,7 @@ static void make_rod(item_def &item, stave_type rod_type) static void create_wanderer( void ) { const int util_skills[] = - { SK_DARTS, SK_RANGED_COMBAT, SK_ARMOUR, SK_DODGING, SK_STEALTH, + { SK_DARTS, SK_THROWING, SK_ARMOUR, SK_DODGING, SK_STEALTH, SK_STABBING, SK_SHIELDS, SK_TRAPS_DOORS, SK_UNARMED_COMBAT, SK_INVOCATIONS, SK_EVOCATIONS }; const int num_util_skills = sizeof(util_skills) / sizeof(int); @@ -2540,7 +2540,7 @@ static void create_wanderer( void ) const int fight_util_skills[] = { SK_FIGHTING, SK_SHORT_BLADES, SK_AXES, SK_MACES_FLAILS, SK_POLEARMS, - SK_DARTS, SK_RANGED_COMBAT, SK_ARMOUR, SK_DODGING, SK_STEALTH, + SK_DARTS, SK_THROWING, SK_ARMOUR, SK_DODGING, SK_STEALTH, SK_STABBING, SK_SHIELDS, SK_TRAPS_DOORS, SK_UNARMED_COMBAT, SK_INVOCATIONS, SK_EVOCATIONS }; const int num_fight_util_skills = sizeof(fight_util_skills) / sizeof(int); @@ -2551,7 +2551,7 @@ static void create_wanderer( void ) SK_FIRE_MAGIC, SK_ICE_MAGIC, SK_AIR_MAGIC, SK_EARTH_MAGIC, SK_FIGHTING, SK_SHORT_BLADES, SK_LONG_SWORDS, SK_AXES, SK_MACES_FLAILS, SK_POLEARMS, SK_STAVES, - SK_DARTS, SK_RANGED_COMBAT, SK_ARMOUR, SK_DODGING, SK_STEALTH, + SK_DARTS, SK_THROWING, SK_ARMOUR, SK_DODGING, SK_STEALTH, SK_STABBING, SK_SHIELDS, SK_TRAPS_DOORS, SK_UNARMED_COMBAT, SK_INVOCATIONS, SK_EVOCATIONS }; const int num_not_rare_skills = sizeof(not_rare_skills) / sizeof(int); @@ -2564,7 +2564,7 @@ static void create_wanderer( void ) SK_FIRE_MAGIC, SK_ICE_MAGIC, SK_AIR_MAGIC, SK_EARTH_MAGIC, SK_FIGHTING, SK_SHORT_BLADES, SK_LONG_SWORDS, SK_AXES, SK_MACES_FLAILS, SK_POLEARMS, SK_STAVES, - SK_DARTS, SK_RANGED_COMBAT, SK_ARMOUR, SK_DODGING, SK_STEALTH, + SK_DARTS, SK_THROWING, SK_ARMOUR, SK_DODGING, SK_STEALTH, SK_STABBING, SK_SHIELDS, SK_TRAPS_DOORS, SK_UNARMED_COMBAT, SK_INVOCATIONS, SK_EVOCATIONS }; const int num_all_skills = sizeof(all_skills) / sizeof(int); @@ -2797,7 +2797,7 @@ static void create_wanderer( void ) add_spell_to_memory( spell_list[ school ] ); } } - else if (you.skills[ SK_RANGED_COMBAT ] && one_chance_in(3)) // these are rare + else if (you.skills[ SK_THROWING ] && one_chance_in(3)) // these are rare { // Ranger style wanderer // Rare since starting with a throwing weapon is very good @@ -2831,8 +2831,8 @@ static void create_wanderer( void ) you.inv[1].plus = 0; // slings aren't so good you.inv[1].plus2 = 0; // so we'll make them +0 - you.inv[3].quantity = 0; // remove potion - you.inv[3].base_type = 0; // forget potion + you.inv[3].quantity = 0; // remove potion + you.inv[3].base_type = 0; // forget potion you.inv[3].sub_type = 0; } else if (you.skills[ SK_BOWS ]) @@ -2841,8 +2841,10 @@ static void create_wanderer( void ) you.inv[1].sub_type = WPN_BOW; you.inv[3].quantity = 0; // remove potion - you.inv[3].base_type = 0; // forget potion + you.inv[3].base_type = 0; // forget potion you.inv[3].sub_type = 0; + // lower throwing skill (useless with arrows anyway) + you.skills[SK_THROWING]--; } else if (you.skills[ SK_CROSSBOWS ]) { @@ -2850,8 +2852,10 @@ static void create_wanderer( void ) you.inv[1].sub_type = WPN_HAND_CROSSBOW; you.inv[3].quantity = 0; // remove potion - you.inv[3].base_type = 0; // forget potion + you.inv[3].base_type = 0; // forget potion you.inv[3].sub_type = 0; + // lower throwing skill + you.skills[SK_THROWING]--; } else { @@ -2859,7 +2863,7 @@ static void create_wanderer( void ) you.inv[4].quantity += random2avg(10,5); set_item_ego_type( you.inv[4], OBJ_MISSILES, SPMSL_POISONED ); - you.inv[0].sub_type = WPN_DAGGER; // up knife to dagger + you.inv[0].sub_type = WPN_DAGGER; // up knife to dagger you.inv[1].quantity = 0; // remove bow } } @@ -3496,7 +3500,7 @@ bool give_items_skills() if (you.species == SP_KOBOLD) { - you.skills[SK_RANGED_COMBAT] = 1; + you.skills[SK_THROWING] = 1; you.skills[SK_DARTS] = 1; you.skills[SK_DODGING] = 1; you.skills[SK_STEALTH] = 1; @@ -3523,7 +3527,7 @@ bool give_items_skills() if (you.species != SP_VAMPIRE) you.skills[SK_SHIELDS] = 2; - you.skills[SK_RANGED_COMBAT] = 2; + you.skills[SK_THROWING] = 2; you.skills[((coinflip() || you.species == SP_VAMPIRE)? SK_STABBING : SK_SHIELDS)]++; } @@ -3785,7 +3789,7 @@ bool give_items_skills() you.skills[SK_STEALTH] = 2; you.skills[SK_STABBING] = 1; you.skills[SK_DODGING + random2(3)]++; - you.skills[SK_RANGED_COMBAT] = 1; + you.skills[SK_THROWING] = 1; you.skills[SK_DARTS] = 1; you.skills[SK_TRAPS_DOORS] = 2; break; @@ -3987,12 +3991,13 @@ bool give_items_skills() you.skills[SK_DODGING] = 1; you.skills[SK_STEALTH] = 3; you.skills[SK_STABBING] = 2; - you.skills[SK_RANGED_COMBAT] = 1; + // DE still get Throwing skill because of Assassin/darts association + you.skills[SK_THROWING] = 1; you.skills[SK_DARTS] = 1; if (you.species == SP_DEEP_ELF) you.skills[SK_CROSSBOWS] = 1; else - you.skills[SK_RANGED_COMBAT] += 1; + you.skills[SK_THROWING] += 1; break; @@ -4073,7 +4078,7 @@ bool give_items_skills() you.skills[SK_POLEARMS] = 1; you.skills[SK_ARMOUR] = 2; you.skills[SK_DODGING] = 2; - you.skills[SK_RANGED_COMBAT] = 2; + you.skills[SK_THROWING] = 2; } break; @@ -4131,7 +4136,7 @@ bool give_items_skills() } you.skills[SK_FIGHTING] = 2; - you.skills[SK_RANGED_COMBAT] = 3; + you.skills[SK_THROWING] = 1; switch (you.species) { @@ -4145,6 +4150,7 @@ bool give_items_skills() you.skills[SK_DODGING] = 2; you.skills[SK_STEALTH] = 2; you.skills[SK_SLINGS] = 2; + you.skills[SK_THROWING] += 2; break; case SP_MOUNTAIN_DWARF: @@ -4165,21 +4171,21 @@ bool give_items_skills() you.skills[SK_DODGING] = 1; you.skills[SK_SHIELDS] = 1; - you.skills[SK_CROSSBOWS] = 2; + you.skills[SK_CROSSBOWS] = 3; break; case SP_MERFOLK: you.inv[0].sub_type = WPN_TRIDENT; you.skills[SK_POLEARMS] = 2; you.skills[SK_DODGING] = 2; - you.skills[SK_RANGED_COMBAT] += 1; + you.skills[SK_THROWING] += 3; break; default: you.skills[SK_DODGING] = 1; you.skills[SK_STEALTH] = 1; you.skills[(coinflip() ? SK_STABBING : SK_SHIELDS)]++; - you.skills[SK_BOWS] = 2; + you.skills[SK_BOWS] = 3; break; } @@ -4372,7 +4378,7 @@ bool give_items_skills() you.skills[SK_STEALTH] = 1; if (you.species == SP_GNOME && you.char_class == JOB_EARTH_ELEMENTALIST) - you.skills[SK_RANGED_COMBAT]++; + you.skills[SK_THROWING]++; else you.skills[ coinflip() ? SK_DODGING : SK_STEALTH ]++; break; @@ -4418,7 +4424,7 @@ bool give_items_skills() you.skills[SK_FIGHTING] = 1; you.skills[SK_UNARMED_COMBAT] = 3; - you.skills[SK_RANGED_COMBAT] = 2; + you.skills[SK_THROWING] = 2; you.skills[SK_DODGING] = 2; you.skills[SK_SPELLCASTING] = 2; you.skills[SK_TRANSMIGRATION] = 2; @@ -4491,7 +4497,7 @@ bool give_items_skills() you.equip[EQ_WEAPON] = 0; you.equip[EQ_BODY_ARMOUR] = 1; - you.skills[SK_RANGED_COMBAT] = 1; + you.skills[SK_THROWING] = 1; you.skills[SK_DARTS] = 2; you.skills[SK_DODGING] = 2; you.skills[SK_STEALTH] = 1; @@ -4823,7 +4829,7 @@ bool give_items_skills() you.skills[SK_FIGHTING] = 2; you.skills[SK_DODGING] = 1; - you.skills[SK_RANGED_COMBAT] = 2; + you.skills[SK_THROWING] = 2; you.skills[SK_STAVES] = 3; you.skills[SK_INVOCATIONS] = 3; break; |