- Nickname pokemon
- Cp calc range
- Username validation bug fix
- Caught instead of Catched
This commit is contained in:
Felix 2016-09-11 15:49:23 +02:00
parent 95c64aab1e
commit fcb1e26b70
11 changed files with 53 additions and 17 deletions

View File

@ -152,6 +152,9 @@ export default class Player extends MapObject {
case "GET_ASSET_DIGEST":
resolve(this.GetAssetDigest(msg));
break;
case "NICKNAME_POKEMON":
resolve(this.NicknamePokemon(msg));
break;
case "GET_HATCHED_EGGS":
resolve(this.GetHatchedEggs(msg));
break;
@ -272,7 +275,7 @@ export default class Player extends MapObject {
this.info.stardust += 100;
this.info.pkmnCaptured += 1;
this.currentEncounter = null;
pkmn.catchedBy(this);
pkmn.caughtBy(this);
pkmn.pokeball = ball;
return new Promise((resolve) => {
pkmn.owner = this;
@ -282,7 +285,7 @@ export default class Player extends MapObject {
pkmn.owner = this;
pkmn.uid = insertId;
pkmn.addCandies(3);
print(`${this.username} catched a wild ${pkmn.getPkmnName()}!`);
print(`${this.username} caught a wild ${pkmn.getPkmnName()}!`);
resolve({
status: "CATCH_SUCCESS",
captured_pokemon_id: pkmn.uid,

View File

@ -0,0 +1,21 @@
import POGOProtos from "pokemongo-protobuf";
/**
* @param {Object} msg
* @return {Buffer}
*/
export default function NicknamePokemon(msg) {
let buffer = null;
let schema = "POGOProtos.Networking.Responses.NicknamePokemonResponse";
let pkmn = this.party.getPkmnById(msg.pokemon_id);
buffer = { result: null };
if (pkmn) pkmn.setNickname(String(msg.nickname));
buffer.result = pkmn ? "SUCCESS" : "ERROR_INVALID_NICKNAME";
return (POGOProtos.serialize(buffer, schema));
}

View File

@ -6,6 +6,7 @@ export ReleasePokemon from "./ReleasePokemon";
export LevelUpRewards from "./LevelUpRewards";
export GetHatchedEggs from "./GetHatchedEggs";
export GetAssetDigest from "./GetAssetDigest";
export NicknamePokemon from "./NicknamePokemon";
export GetPlayerProfile from "./GetPlayerProfile";
export SetFavoritePokemon from "./SetFavoritePokemon";
export CheckAwardedBadges from "./CheckAwardedBadges";

View File

@ -29,7 +29,7 @@ export default class WildPokemon extends Pokemon {
this.expiration = ~~(Math.random() * this.maxExpire) + this.minExpire;
// players who already catched this pkmn
// players who already caught this pkmn
this.hasCatched = [];
}
@ -38,7 +38,7 @@ export default class WildPokemon extends Pokemon {
* @param {Player} player
* @return {Boolean}
*/
catchedBy(player) {
caughtBy(player) {
if (!this.alreadyCatchedBy(player)) {
this.hasCatched.push(player.uid);
}

View File

@ -20,7 +20,7 @@ export function calcStats() {
this.height = pkmnTmpl.pokedex_height_m + ((Math.random() * pkmnTmpl.height_std_dev) + .1);
this.weight = pkmnTmpl.pokedex_weight_kg + ((Math.random() * pkmnTmpl.weight_std_dev) + .1);
this.cp = this.calcCP();
this.cp = Math.floor(Math.random() * this.calcCP()) + 16;
this.calcMoves();

View File

@ -7,8 +7,8 @@ import Settings from "../../modes";
import {
_toCC,
inherit,
validName,
deCapitalize
deCapitalize,
validUsername
} from "../../utils";
import print from "../../print";
@ -129,8 +129,9 @@ export default class Pokemon extends MapObject {
* @param {String} name
*/
setNickname(name) {
if (!validName(name)) return void 0;
this.nickname = name;
if (validUsername(name)) {
this.nickname = name;
}
}
/**
@ -271,7 +272,8 @@ export default class Pokemon extends MapObject {
pokeball: "ITEM_POKE_BALL",
captured_cell_id: "1337",
creation_time_ms: +new Date() - 1e3,
favorite: this.favorite
favorite: this.favorite,
nickname: this.nickname
});
}

View File

@ -20,7 +20,7 @@ export default function CatchPokemon(msg) {
// Invalid pkmn
if (!pkmn) {
player.currentEncounter = null;
pkmn.catchedBy(player);
pkmn.caughtBy(player);
buffer = {
status: "CATCH_ERROR"
};
@ -32,7 +32,7 @@ export default function CatchPokemon(msg) {
} else {
// Fleed
if (Math.random() < .1) {
pkmn.catchedBy(player);
pkmn.caughtBy(player);
player.currentEncounter = null;
buffer = {
status: "CATCH_FLEE"

View File

@ -5,7 +5,16 @@ import POGOProtos from "pokemongo-protobuf";
*/
export default function Encounter(msg) {
let encounter = msg.player.currentEncounter || this.getEncounterById(msg.encounter_id);
// Try to use cached encounter
let encounter = msg.player.currentEncounter;
// Dont use cached encounter
if (
encounter === null ||
encounter.uid !== parseInt(msg.encounter_id)
) {
encounter = this.getEncounterById(msg.encounter_id);
}
let buffer = {
status: "ENCOUNTER_SUCCESS",

View File

@ -91,7 +91,7 @@ export function playerIsRegistered(email) {
export function registerPlayer(player) {
return new Promise((resolve) => {
this.db.query(`INSERT INTO ${CFG.MYSQL_USERS_TABLE} SET email=? `, [player.email], (e, res) => {
if (e) return print(e, 31);
if (e) return this.print(e, 31);
resolve();
});
});

View File

@ -4,8 +4,7 @@ import print from "./print";
import CFG from "../cfg";
import {
_toCC,
validUsername
_toCC
} from "./utils";
/**
@ -45,6 +44,7 @@ export function processResponse(player, req) {
case "GET_INVENTORY":
case "RELEASE_POKEMON":
case "GET_ASSET_DIGEST":
case "NICKNAME_POKEMON":
case "GET_HATCHED_EGGS":
case "LEVEL_UP_REWARDS":
case "GET_PLAYER_PROFILE":

View File

@ -112,7 +112,7 @@ export function deCapitalize(str) {
let rx_username = /[^a-z\d]/i;
export function validUsername(str) {
return (
!!(rx_username.test(str))
!(rx_username.test(str))
);
}