Skip to content

Commit

Permalink
Add command and action for show homunculus/mercenary emotes.
Browse files Browse the repository at this point in the history
New chat command: /homunemote emote
                  /mercemote emote
  • Loading branch information
4144 committed Feb 25, 2015
1 parent 393865b commit 192b8db
Show file tree
Hide file tree
Showing 7 changed files with 533 additions and 1 deletion.
30 changes: 30 additions & 0 deletions src/actions/commands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

#include "actormanager.h"
#include "configuration.h"
#include "emoteshortcut.h"
#include "game.h"
#include "inventory.h"
#include "item.h"
Expand Down Expand Up @@ -817,4 +818,33 @@ impHandler(homunTalk)
return true;
}

impHandler(homunEmote)
{
if (!serverFeatures->haveTalkPet())
return false;

if (event.action >= InputAction::HOMUN_EMOTE_1
&& event.action <= InputAction::HOMUN_EMOTE_48)
{
const int emotion = event.action - InputAction::HOMUN_EMOTE_1;
if (emoteShortcut)
homunculusHandler->emote(emoteShortcut->getEmote(emotion));
if (Game::instance())
Game::instance()->setValidSpeed();
return true;
}

return false;
}

impHandler(commandHomunEmote)
{
if (!serverFeatures->haveTalkPet())
return false;

homunculusHandler->emote(static_cast<uint8_t>(
atoi(event.args.c_str())));
return true;
}

} // namespace Actions
2 changes: 2 additions & 0 deletions src/actions/commands.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ namespace Actions
decHandler(leaveParty);
decHandler(warp);
decHandler(homunTalk);
decHandler(homunEmote);
decHandler(commandHomunEmote);
} // namespace Actions

#undef decHandler
Expand Down
1 change: 1 addition & 0 deletions src/game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -895,6 +895,7 @@ void Game::handleMove()

if ((!inputManager.isActionActive(InputAction::EMOTE)
&& !inputManager.isActionActive(InputAction::PET_EMOTE)
&& !inputManager.isActionActive(InputAction::HOMUN_EMOTE)
&& !inputManager.isActionActive(InputAction::STOP_ATTACK))
|| direction == 0)
{
Expand Down
50 changes: 50 additions & 0 deletions src/input/inputaction.h
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,56 @@ namespace InputAction
HEAL_MOST_DAMAGED,
PET_MOVE,
HOMUN_TALK,
HOMUN_SMILE,
HOMUN_EMOTE,
HOMUN_EMOTE_1,
HOMUN_EMOTE_2,
HOMUN_EMOTE_3,
HOMUN_EMOTE_4,
HOMUN_EMOTE_5,
HOMUN_EMOTE_6,
HOMUN_EMOTE_7,
HOMUN_EMOTE_8,
HOMUN_EMOTE_9,
HOMUN_EMOTE_10,
HOMUN_EMOTE_11,
HOMUN_EMOTE_12,
HOMUN_EMOTE_13,
HOMUN_EMOTE_14,
HOMUN_EMOTE_15,
HOMUN_EMOTE_16,
HOMUN_EMOTE_17,
HOMUN_EMOTE_18,
HOMUN_EMOTE_19,
HOMUN_EMOTE_20,
HOMUN_EMOTE_21,
HOMUN_EMOTE_22,
HOMUN_EMOTE_23,
HOMUN_EMOTE_24,
HOMUN_EMOTE_25,
HOMUN_EMOTE_26,
HOMUN_EMOTE_27,
HOMUN_EMOTE_28,
HOMUN_EMOTE_29,
HOMUN_EMOTE_30,
HOMUN_EMOTE_31,
HOMUN_EMOTE_32,
HOMUN_EMOTE_33,
HOMUN_EMOTE_34,
HOMUN_EMOTE_35,
HOMUN_EMOTE_36,
HOMUN_EMOTE_37,
HOMUN_EMOTE_38,
HOMUN_EMOTE_39,
HOMUN_EMOTE_40,
HOMUN_EMOTE_41,
HOMUN_EMOTE_42,
HOMUN_EMOTE_43,
HOMUN_EMOTE_44,
HOMUN_EMOTE_45,
HOMUN_EMOTE_46,
HOMUN_EMOTE_47,
HOMUN_EMOTE_48,
TOTAL
};
} // namespace InputAction
Expand Down
3 changes: 2 additions & 1 deletion src/input/inputactiondata.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ namespace Input
GRP_MOVETOPOINT = 32, // move to point key
GRP_GUICHAN = 64, // for guichan based controls
GRP_REPEAT = 128, // repeat emulation keys
GRP_PET_EMOTION = 256 // pet emotions key
GRP_PET_EMOTION = 256, // pet emotions key
GRP_HOMUN_EMOTION = 512 // homunculus/mercenary emotetions key
};

} // namespace Input
Expand Down
Loading

0 comments on commit 192b8db

Please sign in to comment.