git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9855 c06c8d41-db1a-0410-9941-cceddc491573
R4TQ3M6GL77RCITERZWQKMEMM3YAGJJE5J2MYOQPH26O5STVKSGAC MRUMXF3YPJCHAW4DC7DHJR5O77LXAJLMA53IOJP4YEMAOZRNWNKAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC 7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC VBRYPOHVS4GLHSQ5CE6K6GJTPK7FQE5VLRC5WLSOWKLQEDNPR7ZAC 3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC 2U7VFZ3242P22EPRQKCIHFZRRWHHBZGOEEN2WJNMCXV5BEI67NNAC JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC C2PRXJYHDRF2642VDAUY76HJKCPQFGWDI6AM3SMCMYCHGWYDQXQQC 2NCKGJDDPPGP2NXYYPEPVRJIIWEP6M7HE6WYMQN3UNNN3C2JIRFQC 5OVWAD2MGK2NT6Q546KW7HZHELVDBBRC2CQX6VZMZF2YVRC7CPVAC SG76BPJKTQGDFNP5QFMAVR6H72FMMAYCECVGSWWSCLMAVQX7E3FQC }// Returns the movement speed for a player ghost. Note that this is a real// speed, not a movement cost, so higher is better.int player_ghost_base_movement_speed(){int speed = (you.species == SP_NAGA ? 8 : 10);if (player_mutation_level(MUT_FAST))speed += player_mutation_level(MUT_FAST) + 1;if (player_equip_ego_type(EQ_BOOTS, SPARM_RUNNING))speed += 2;// Cap speeds.if (speed < 6)speed = 6;if (speed > 13)speed = 13;return (speed);
if (stricmp(you.your_name, "con") == 0|| stricmp(you.your_name, "nul") == 0|| stricmp(you.your_name, "prn") == 0|| strnicmp(you.your_name, "LPT", 3) == 0)
if (stricmp(name, "con") == 0|| stricmp(name, "nul") == 0|| stricmp(name, "prn") == 0|| strnicmp(name, "LPT", 3) == 0)
if (player_mutation_level(MUT_FAST))speed += player_mutation_level(MUT_FAST) + 1;if (player_equip_ego_type(EQ_BOOTS, SPARM_RUNNING))speed += 2;// Cap speeds.if (speed < MIN_GHOST_SPEED)speed = MIN_GHOST_SPEED;else if (speed > MAX_GHOST_SPEED)speed = MAX_GHOST_SPEED;return (speed);}
// Values greater than the allowed maximum signalize bugginess.if (ghost.damage > MAX_GHOST_DAMAGE)
// Values greater than the allowed maximum or less then the allowed// minimum signalize bugginess.if (ghost.damage < 0 || ghost.damage > MAX_GHOST_DAMAGE)
return (false);if (ghost.speed < MIN_GHOST_SPEED || ghost.speed > MAX_GHOST_SPEED)return (false);if (ghost.resists.fire < -3 || ghost.resists.fire > 3)return (false);if (ghost.resists.cold < -3 || ghost.resists.cold > 3)return (false);if (ghost.resists.elec < 0)return (false);if (ghost.brand < SPWPN_NORMAL || ghost.brand > MAX_PAN_LORD_BRANDS)
if (ghost.species < SP_HUMAN || ghost.species >= NUM_SPECIES)return (false);if (ghost.job < JOB_FIGHTER || ghost.job >= NUM_JOBS)return (false);if (ghost.best_skill < SK_FIGHTING || ghost.best_skill >= NUM_SKILLS)return (false);if (ghost.best_skill_level < 0 || ghost.best_skill_level > 27)return (false);if (ghost.religion < GOD_NO_GOD || ghost.religion >= NUM_GODS)return (false);
if (ghost.brand == SPWPN_HOLY_WRATH || is_good_god(ghost.religion))return (false);// Only Pandemonium lords cycle colours.if (ghost.cycle_colours)return (false);// Name validation.if (!validate_player_name(ghost.name.c_str(), false))return (false);if (ghost.name.length() > (kNameLen - 1) || ghost.name.length() == 0)return (false);if (ghost.name != trimmed_string(ghost.name))return (false);