forked from github/server
Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
efd826c0a2
|
@ -601,40 +601,44 @@ int give_control_cmd(unit * u, order * ord)
|
||||||
|
|
||||||
s = gettoken(token, sizeof(token));
|
s = gettoken(token, sizeof(token));
|
||||||
if (s && isparam(s, u->faction->locale, P_CONTROL)) {
|
if (s && isparam(s, u->faction->locale, P_CONTROL)) {
|
||||||
message *msg = 0;
|
bool okay = false;
|
||||||
|
|
||||||
if (!can_give_to(u, u2)) {
|
if (!can_give_to(u, u2)) {
|
||||||
ADDMSG(&u->faction->msgs,
|
ADDMSG(&u->faction->msgs,
|
||||||
msg_feedback(u, ord, "feedback_unit_not_found", ""));
|
msg_feedback(u, ord, "feedback_unit_not_found", ""));
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
else if (!u->building && !u->ship) {
|
else if (!u->building && !u->ship) {
|
||||||
msg = cmistake(u, ord, 140, MSG_EVENT);
|
cmistake(u, ord, 140, MSG_EVENT);
|
||||||
}
|
}
|
||||||
else if (u->building) {
|
else if (u->building) {
|
||||||
if (u != building_owner(u->building)) {
|
if (u != building_owner(u->building)) {
|
||||||
msg = cmistake(u, ord, 49, MSG_EVENT);
|
cmistake(u, ord, 49, MSG_EVENT);
|
||||||
}
|
}
|
||||||
else if (u2->building != u->building) {
|
else if (u2->building != u->building) {
|
||||||
msg = cmistake(u, ord, 33, MSG_EVENT);
|
cmistake(u, ord, 33, MSG_EVENT);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
okay = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (u->ship) {
|
else if (u->ship) {
|
||||||
if (u != ship_owner(u->ship)) {
|
if (u != ship_owner(u->ship)) {
|
||||||
msg = cmistake(u, ord, 49, MSG_EVENT);
|
cmistake(u, ord, 49, MSG_EVENT);
|
||||||
}
|
}
|
||||||
else if (u2->ship != u->ship) {
|
else if (u2->ship != u->ship) {
|
||||||
msg = cmistake(u, ord, 32, MSG_EVENT);
|
cmistake(u, ord, 32, MSG_EVENT);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
okay = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!msg) {
|
if (okay) {
|
||||||
give_control(u, u2);
|
message *msg = msg_message("givecommand", "unit recipient", u, u2);
|
||||||
msg = msg_message("givecommand", "unit recipient", u, u2);
|
|
||||||
add_message(&u->faction->msgs, msg);
|
add_message(&u->faction->msgs, msg);
|
||||||
if (u->faction != u2->faction) {
|
if (u->faction != u2->faction) {
|
||||||
add_message(&u2->faction->msgs, msg);
|
add_message(&u2->faction->msgs, msg);
|
||||||
}
|
}
|
||||||
msg_release(msg);
|
msg_release(msg);
|
||||||
|
give_control(u, u2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue