summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/item_use.cc4
-rw-r--r--crawl-ref/source/newgame.cc35
2 files changed, 19 insertions, 20 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index c539355529..0f72ffe469 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -2440,8 +2440,8 @@ bool throw_it(bolt &pbolt, int throw_2, bool teleport, int acc_bonus,
fire_beam(pbolt, &item, !did_return);
// The item can be destroyed before returning.
- if (returning && thrown_object_destroyed(&item, pbolt.target_x,
- pbolt.target_y, true))
+ if (did_return && thrown_object_destroyed(&item, pbolt.target_x,
+ pbolt.target_y, true))
{
did_return = false;
}
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc
index 468f59bd15..1286dbbc26 100644
--- a/crawl-ref/source/newgame.cc
+++ b/crawl-ref/source/newgame.cc
@@ -3241,7 +3241,7 @@ bool give_items_skills()
{
case JOB_FIGHTER:
newgame_make_item(0, EQ_WEAPON, OBJ_WEAPONS, WPN_SHORT_SWORD);
-
+
if (you.species == SP_OGRE || you.species == SP_TROLL)
{
newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ANIMAL_SKIN);
@@ -3251,38 +3251,37 @@ bool give_items_skills()
else if (you.species == SP_TROLL)
newgame_clear_item(0);
}
- else if (you.is_undead || player_genus(GENPC_DRACONIAN))
+ else if (player_genus(GENPC_DRACONIAN))
{
- newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
- if (you.species == SP_VAMPIRE && coinflip())
- you.inv[1].sub_type = ARM_LEATHER_ARMOUR;
- if (player_genus(GENPC_DRACONIAN) || you.species == SP_MUMMY)
- newgame_make_item(2, EQ_SHIELD, OBJ_ARMOUR, ARM_SHIELD);
-
- if (player_genus(GENPC_DRACONIAN) && !choose_weapon())
+ if (!choose_weapon())
return (false);
+
+ newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR, ARM_ROBE);
+ newgame_make_item(2, EQ_SHIELD, OBJ_ARMOUR, ARM_SHIELD);
}
else if (you.species == SP_HALFLING || you.species == SP_KOBOLD ||
- you.species == SP_GNOME)
+ you.species == SP_GNOME || you.species == SP_VAMPIRE)
{
+ if (!choose_weapon())
+ return false;
+
newgame_make_item(1, EQ_BODY_ARMOUR, OBJ_ARMOUR,
ARM_LEATHER_ARMOUR);
- newgame_make_item(2, EQ_NONE, OBJ_MISSILES, MI_DART,
- 10 + roll_dice( 2, 10 ));
+ if (you.species != SP_VAMPIRE)
+ newgame_make_item(2, EQ_NONE, OBJ_MISSILES, MI_DART,
+ 10 + roll_dice( 2, 10 ));
}
else
{
+ if (!choose_weapon())
+ return false;
+
newgame_make_item(1, EQ_BODY_ARMOUR,
OBJ_ARMOUR,
ARM_SCALE_MAIL);
- newgame_make_item(2, EQ_SHIELD,
- OBJ_ARMOUR,
- ARM_SHIELD);
-
- if (!choose_weapon())
- return false;
+ newgame_make_item(2, EQ_SHIELD, OBJ_ARMOUR, ARM_SHIELD);
}
you.skills[SK_FIGHTING] = 3;