summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-19 18:58:54 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-19 19:22:40 +0300
commitf52741caab03a26afd41b7e85e863027fec1e26d (patch)
tree976a79bdd4a74896ff3c64f9637aae8f132fe6b4
parent70f42c1e97b16dcf33e4b994c32d6a0b9fc99c03 (diff)
downloadmanaplus-f52741caab03a26afd41b7e85e863027fec1e26d.tar.gz
manaplus-f52741caab03a26afd41b7e85e863027fec1e26d.tar.bz2
manaplus-f52741caab03a26afd41b7e85e863027fec1e26d.tar.xz
manaplus-f52741caab03a26afd41b7e85e863027fec1e26d.zip
Add chat command for leave guild.
New chat command: /leaveguild
-rw-r--r--src/actions/commands.cpp12
-rw-r--r--src/actions/commands.h1
-rw-r--r--src/dyetool/actions/commands.cpp1
-rw-r--r--src/enums/input/inputaction.h1
-rw-r--r--src/input/inputactionmap.h6
5 files changed, 21 insertions, 0 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp
index e1779ec92..f2acaea56 100644
--- a/src/actions/commands.cpp
+++ b/src/actions/commands.cpp
@@ -940,6 +940,18 @@ impHandler0(leaveParty)
return false;
}
+impHandler0(leaveGuild)
+{
+ if (guildHandler && localPlayer)
+ {
+ const Guild *const guild = localPlayer->getGuild();
+ if (guild)
+ guildHandler->leave(guild->getId());
+ return true;
+ }
+ return false;
+}
+
impHandler(warp)
{
int x = 0;
diff --git a/src/actions/commands.h b/src/actions/commands.h
index ff17da2d3..acc13af75 100644
--- a/src/actions/commands.h
+++ b/src/actions/commands.h
@@ -79,6 +79,7 @@ namespace Actions
decHandler(setHomunculusName);
decHandler(fireHomunculus);
decHandler(leaveParty);
+ decHandler(leaveGuild);
decHandler(warp);
decHandler(homunTalk);
decHandler(homunEmote);
diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp
index 45daa68d4..68331913d 100644
--- a/src/dyetool/actions/commands.cpp
+++ b/src/dyetool/actions/commands.cpp
@@ -79,6 +79,7 @@ impHandlerVoid(serverUnIgnoreWhisper)
impHandlerVoid(setHomunculusName)
impHandlerVoid(fireHomunculus)
impHandlerVoid(leaveParty)
+impHandlerVoid(leaveGuild)
impHandlerVoid(warp)
impHandlerVoid(homunTalk)
impHandlerVoid(homunEmote)
diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h
index 4f7b61986..27b0974f9 100644
--- a/src/enums/input/inputaction.h
+++ b/src/enums/input/inputaction.h
@@ -679,6 +679,7 @@ enumStart(InputAction)
SHOW_SKILL_OFFSET_Y,
SET_SKILL_OFFSET_X,
SET_SKILL_OFFSET_Y,
+ LEAVE_GUILD,
TOTAL
}
enumEnd(InputAction);
diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h
index ed8cddb92..bff086cd3 100644
--- a/src/input/inputactionmap.h
+++ b/src/input/inputactionmap.h
@@ -5564,6 +5564,12 @@ static const InputActionData inputActionData
"setskilloffsety",
UseArgs_true,
Protected_true},
+ {"keyLeaveGuild",
+ defaultAction(&Actions::leaveGuild),
+ InputCondition::INGAME,
+ "leaveguild|guildleave",
+ UseArgs_false,
+ Protected_true},
};
#undef defaultAction