diff --git a/content.cpp b/content.cpp index 2563c914..fe497ba9 100644 --- a/content.cpp +++ b/content.cpp @@ -1729,7 +1729,10 @@ MONSTER('d', 0x901020, "Angry Die", moAngryDie, ZERO, RESERVED, moAnimatedDie, "You have made a die unhappy. Taste the revenge! This one won't forgive you, no matter what you do." ) -ITEM('}', 0xFFFF80, "Crossbow", itCrossbow, IC_NAI, ZERO, RESERVED, osNone, "Your crossbow.") +ITEM('}', 0xFFFF80, "Crossbow", itCrossbow, IC_NAI, ZERO, RESERVED, osNone, + "Your crossbow. Press 'f' or click it in the inventory to toggle firing mode. In firing mode, select a tile to see the trajectory, then " + "click again to fire. After firing, the crossbow takes some time to reload." + ) //shmupspecials MONSTER( '@', 0xC0C0C0, "Rogue", moPlayer, CF_FACE_UP | CF_PLAYER, RESERVED, moNone, "In the Shoot'em Up mode, you are armed with thrown Knives.") diff --git a/pcmove.cpp b/pcmove.cpp index 073daed8..ed0fa5a9 100644 --- a/pcmove.cpp +++ b/pcmove.cpp @@ -252,6 +252,7 @@ bool pcmove::try_shooting(bool auto_target) { } return false; } + addMessage(XLAT("Fire!")); } items[itCrossbow] = bow::loading_time(); bow::shoot(); @@ -860,8 +861,12 @@ void pcmove::tell_why_cannot_attack() { addMessage(XLAT("You cannot attack your own mount!")); else if(checkOrb(c2->monst, itOrbShield)) addMessage(XLAT("A magical shield protects %the1!", c2->monst)); + else if(bow::crossbow_mode() && !bow::bump_to_shoot) + addMessage(XLAT("You have no melee weapon!")); else if(bow::crossbow_mode() && items[itCrossbow]) addMessage(XLAT("Your crossbow is still reloading!")); + else if(bow::crossbow_mode()) + addMessage(XLAT("Trying to fire.")); else addMessage(XLAT("For some reason... cannot attack!")); }