Browse Source

PrintItemMisc: Fix staffs and flash scrolls

pull/5274/head
obligaron 4 years ago committed by Anders Jenbo
parent
commit
034eacda98
  1. 16
      Source/items.cpp

16
Source/items.cpp

@ -1745,19 +1745,18 @@ void printItemMiscKBM(const Item &item, const bool isOil, const bool isCastOnTar
{ {
if (item._iMiscId == IMISC_MAPOFDOOM) { if (item._iMiscId == IMISC_MAPOFDOOM) {
AddPanelString(_("Right-click to view")); AddPanelString(_("Right-click to view"));
} else if (isOil) { } else if (isOil) {
PrintItemOil(item._iMiscId); PrintItemOil(item._iMiscId);
AddPanelString(_("Right-click to use")); AddPanelString(_("Right-click to use"));
} else if (isCastOnTarget) { } else if (isCastOnTarget) {
AddPanelString(_("Right-click to read, then")); AddPanelString(_("Right-click to read, then"));
AddPanelString(_("left-click to target")); AddPanelString(_("left-click to target"));
} else if (IsAnyOf(item._iMiscId, IMISC_BOOK, IMISC_NOTE, IMISC_SCROLL)) { } else if (IsAnyOf(item._iMiscId, IMISC_BOOK, IMISC_NOTE, IMISC_SCROLL, IMISC_SCROLLT)) {
AddPanelString(_("Right-click to read")); AddPanelString(_("Right-click to read"));
} }
} }
void printItemMiscVirtualGamepad(const Item &item, const bool isOil) void printItemMiscVirtualGamepad(const Item &item, const bool isOil, bool isCastOnTarget)
{ {
if (item._iMiscId == IMISC_MAPOFDOOM) { if (item._iMiscId == IMISC_MAPOFDOOM) {
AddPanelString(_("Activate to view")); AddPanelString(_("Activate to view"));
@ -1765,11 +1764,10 @@ void printItemMiscVirtualGamepad(const Item &item, const bool isOil)
PrintItemOil(item._iMiscId); PrintItemOil(item._iMiscId);
if (!invflag) { if (!invflag) {
AddPanelString(_("Open inventory to use")); AddPanelString(_("Open inventory to use"));
} else { } else {
AddPanelString(_("Activate to use")); AddPanelString(_("Activate to use"));
} }
} else if (item._iMiscId == IMISC_SCROLL) { } else if (isCastOnTarget) {
AddPanelString(_("Select from spell book, then")); AddPanelString(_("Select from spell book, then"));
AddPanelString(_("cast to read")); AddPanelString(_("cast to read"));
} else { } else {
@ -1804,7 +1802,7 @@ void printItemMiscGamepad(const Item &item, bool isOil, bool isCastOnTarget)
} }
} else if (isCastOnTarget) { } else if (isCastOnTarget) {
AddPanelString(fmt::format(fmt::runtime(_("Select from spell book, then {} to read")), castButton)); AddPanelString(fmt::format(fmt::runtime(_("Select from spell book, then {} to read")), castButton));
} else if (IsAnyOf(item._iMiscId, IMISC_BOOK, IMISC_NOTE, IMISC_SCROLL)) { } else if (IsAnyOf(item._iMiscId, IMISC_BOOK, IMISC_NOTE, IMISC_SCROLL, IMISC_SCROLLT)) {
AddPanelString(fmt::format(fmt::runtime(_("{} to read")), activateButton)); AddPanelString(fmt::format(fmt::runtime(_("{} to read")), activateButton));
} }
} }
@ -1823,14 +1821,12 @@ void PrintItemMisc(const Item &item)
|| (item._iMiscId > IMISC_OILFIRST && item._iMiscId < IMISC_OILLAST) || (item._iMiscId > IMISC_OILFIRST && item._iMiscId < IMISC_OILLAST)
|| (item._iMiscId > IMISC_RUNEFIRST && item._iMiscId < IMISC_RUNELAST); || (item._iMiscId > IMISC_RUNEFIRST && item._iMiscId < IMISC_RUNELAST);
const bool isCastOnTarget = (item._iMiscId == IMISC_SCROLLT && item._iSpell != SPL_FLASH) const bool isCastOnTarget = (item._iMiscId == IMISC_SCROLLT && item._iSpell != SPL_FLASH)
|| item._iSpell == SPL_TOWN || (item._iMiscId == IMISC_SCROLL && IsAnyOf(item._iSpell, SPL_TOWN, SPL_IDENTIFY));
|| item._iSpell == SPL_IDENTIFY
|| TargetsMonster(item._iSpell);
if (ControlMode == ControlTypes::KeyboardAndMouse) { if (ControlMode == ControlTypes::KeyboardAndMouse) {
printItemMiscKBM(item, isOil, isCastOnTarget); printItemMiscKBM(item, isOil, isCastOnTarget);
} else if (ControlMode == ControlTypes::VirtualGamepad) { } else if (ControlMode == ControlTypes::VirtualGamepad) {
printItemMiscVirtualGamepad(item, isOil); printItemMiscVirtualGamepad(item, isOil, isCastOnTarget);
} else { } else {
printItemMiscGamepad(item, isOil, isCastOnTarget); printItemMiscGamepad(item, isOil, isCastOnTarget);
} }

Loading…
Cancel
Save