#include <unistd.h> #include "kernel.h" #include "locations.h" #include "objects.h" #include "mobiles.h" #include "sflags.h" #include "pflags.h" #include "oflags.h" #include "lflags.h" #include "cflags.h" #include "quests.h" #include "sendsys.h" #include "levels.h" #include "commands.h" #include "rooms.h" #include "objsys.h" #include "mobile.h" #include "flags.h" #include "bprintf.h" #include "parse.h" #include "uaf.h" #include "clone.h" #include "mud.h" #include "xrscore.h" #include "smess.h" #include "fight.h" #define LINE "&+B+&+b-----------------------------------------" \ "------------------------------------&+B+\n" extern char *MWizLevels[]; extern char *FWizLevels[]; extern char *MLevels[]; extern char *FLevels[]; void pmess( int plx, Boolean self ) { int p; char b[150]; int is_mobile = plx >= max_players; if (plev(plx) >= LVL_WIZARD) p = 12; else if (pstr(plx) <= 0) p = 0; else { if (is_mobile) p = (int) (pstr(plx) * 10) / pstr_reset (plx); else p = (int) (pstr(plx) * 10) / maxstrength (plx); if (p >= 11) p = 11; else p++; } if (self == True) sprintf(b, smess[p]); else sprintf(b, omess[p], pname(plx)); if (plev(plx) < LVL_WIZARD) colorsel(pstr(plx), is_mobile? pstr_reset (plx) : maxstrength(plx), b); bprintf("&+Wo &N%s\n", b); if (!is_mobile) { if (plev(plx) >= LVL_WIZARD) p = 5; else if (player_damage(plx) <= 8) p = 0; else { p = (int) ((player_damage(plx) - 8) * 3) / (MAX_WEAPON_DAM - 8); if (p >= 4) p = 4; else p++; } if (self == True) sprintf(b, sweapon[p]); else sprintf(b, oweapon[p], pname(plx)); colorsel(player_damage(plx) - 8, MAX_WEAPON_DAM - 8, b); bprintf("&+Wo &N%s\n", b); } /* armor */ if (!is_mobile) { if (plev(plx) >= LVL_WIZARD) p = 6; else if (pac(plx) < 0) p = 0; else { p = (int) (pac(plx) * 4 / MAXARMOR); if (p > 5) p = 5; else p++; } if (self == True) sprintf(b, sarmors[p]); else sprintf(b, oarmors[p], pname(plx)); colorsel(pac(plx), MAXARMOR, b); bprintf("&+Wo &N%s\n\n", b); } } void xrscorecom(void) { int plx=mynum, brk; char level[30]; int is_mobile; if ((brk = brkword()) != -1) { if (plev(plx) >= LVL_WIZARD) { if ((plx = fmbn(item1)) < 0) { bprintf ("No one with that name is playing.\n"); return; } } else { bprintf("You can't do that\n"); return; } } is_mobile = plx >= max_players; bprintf(LINE); bprintf("&+b| &+W%-10s&+w: &+B%-14s", "Name", pname(plx)); if (is_mobile) strcpy(level, "Mobile"); else if (plev(plx)) strcpy(level, player_level(plx)); else strcpy(level, "Guest"); colorsel(plev(plx), LVL_WIZARD, level); bprintf("&+W%-10s&+w: %-20s", "Level", level); if (!is_mobile && plev(plx) < LVL_WIZARD) bprintf("&+W%-10s&+w: &+c%-11d &+b|\n", "Score", pscore(plx)); else bprintf("&+W%-10s&+w: &+c%-11s &+b|\n", "Score", "-------"); if (plev(plx) < LVL_WIZARD) bprintf("&+b| &+W%-10s&+w:&+y%3d&+W/&+y%-11d", "Strength", pstr(plx), (is_mobile) ? pstr_reset (plx) : maxstrength (plx)); else bprintf("&+b| &+W%-10s&+w: &+y%-3s&+W/&+y%-10s", "Strength", "---", "---"); if (!is_mobile && plev(plx) < LVL_WIZARD && (pclass(plx) == MAGE || pclass(plx) == PRIEST)) bprintf("&+W%-10s&+w: &+m%-2d/%-11d", "Mana", pmagic(plx), maxmagic(plx)); else bprintf("&+W%-10s&+w: &+m%-2s/%-10s", "Mana", "---", "---"); if (!is_mobile) { bprintf("&+W%-10s&+w: &+g%-11d &+b|\n", "Kills", pkilled(plx)); bprintf("&+b| &+W%-10s&+w: &+r%-14d", "Deaths", pdied(plx)); if (pwimpy(plx)) bprintf("&+W%-10s&+w: &+Y%-14d", "Wimpy", pwimpy(plx)); else bprintf("&+W%-10s&+w: &+Y%-17s", "Auto-flee", "&+Goff"); #if QTYPE > 1 bprintf("&+W%-10s&+w: &+R%-11d &+b|\n", "Q-Points", qpoints(plx)); #endif bprintf("&+b| &+W%-10s&+w: &+C%-14d", "Age", 18 + players[plx].time_on / (60 * 60 * 24)); bprintf("&+W%-10s&+w: &+m%-14d", "Coins", pcoins(plx)); bprintf("&+W%-10s&+w: &+M%-2d%% &+b|\n", "AC Avg", pac(plx)); } if (is_mobile) bprintf(" &+b|\n"); bprintf(LINE); #ifdef BODYPART_COMBAT if (plev(plx) < LVL_WIZARD && pclass(plx) != PRIEST) { show_vital(plx); bprintf(LINE); } #endif }