Go to the documentation of this file.
61 "You have formed party: %s",
63 op->contr->party = party;
88 if (
op->contr->party == party) {
90 "You are already a member of party: %s",
97 op->contr->party = party;
99 "You have joined party: %s\n",
110 if (
pl->party == party)
132 "You leave party %s.",
136 op->contr->party = NULL;
152 if (strcmp(party->
partyname, partyname) == 0)
169 previousparty = NULL;
171 if (*walk == party) {
176 if (
pl->party == party)
184 previousparty = *walk;
186 LOG(
llevError,
"party_remove: I was asked to remove party %s, but it could not be found.\n",
260 return strcmp(party->
passwd, password) == 0;
279 if (
pl->party == party &&
pl !=
self)
296 #ifdef PARTY_KILL_LOG
309 void party_add_kill(
partylist *party,
const char *
killer,
const char *dead,
long exp) {
312 if (party->kills >= PARTY_KILL_LOG) {
313 pos = PARTY_KILL_LOG-1;
314 for (i = 0; i < PARTY_KILL_LOG-1; i++)
315 memcpy(&(party->party_kills[i]), &(party->party_kills[i+1]),
sizeof(party->party_kills[0]));
319 party->total_exp += exp;
320 party->party_kills[pos].exp = exp;
322 strncpy(party->party_kills[pos].dead, dead,
MAX_NAME);
323 party->party_kills[pos].killer[
MAX_NAME] = 0;
324 party->party_kills[pos].dead[
MAX_NAME] = 0;
#define MSG_TYPE_COMMAND_SUCCESS
void party_leave(object *op)
void LOG(LogLevel logLevel, const char *format,...)
void party_join(object *op, partylist *party)
static partylist * lastparty
void draw_ext_info_format(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *format,...) PRINTF_ARGS(6
#define MSG_TYPE_COMMAND_ERROR
static partylist * firstparty
TIPS on SURVIVING Crossfire is populated with a wealth of different monsters These monsters can have varying immunities and attack types In some of them can be quite a bit smarter than others It will be important for new players to learn the abilities of different monsters and learn just how much it will take to kill them This section discusses how monsters can interact with players Most monsters in the game are out to mindlessly kill and destroy the players These monsters will help boost a player s after he kills them When fighting a large amount of monsters in a single attempt to find a narrower hallway so that you are not being attacked from all sides Charging into a room full of Beholders for instance would not be open the door and fight them one at a time For there are several maps designed for them Find these areas and clear them out All throughout these a player can find signs and books which they can read by stepping onto them and hitting A to apply the book sign These messages will help the player to learn the system One more always keep an eye on your food If your food drops to your character will soon so BE CAREFUL ! NPCs Non Player Character are special monsters which have intelligence Players may be able to interact with these monsters to help solve puzzles and find items of interest To speak with a monster you suspect to be a simply move to an adjacent square to them and push the double ie Enter your message
partylist * party_form(object *op, const char *partyname)
size_t strlcpy(char *dst, const char *src, size_t size)
partylist * party_get_first(void)
void party_remove(partylist *party)
const char * party_get_password(const partylist *party)
void party_send_message(object *op, const char *message)
#define MSG_TYPE_COMMUNICATION_PARTY
int party_confirm_password(const partylist *party, const char *password)
void party_set_password(partylist *party, const char *password)
partylist * party_find(const char *partyname)
const char * party_get_leader(const partylist *party)
#define MSG_TYPE_COMMUNICATION
void party_obsolete_parties(void)
static void remove_if_unused(partylist *party)
partylist * party_get_next(const partylist *party)
void replace_unprintable_chars(char *buf)