client niceness"
This commit is contained in:
@@ -17,6 +17,7 @@ use mob::{instance_mobs};
|
||||
use game::{Game, Phase, Team, game_get, game_write, game_instance_new, game_instance_join, game_global_get, game_global_set};
|
||||
use vbox::{Var};
|
||||
use rpc::{RpcResult};
|
||||
use names::{name};
|
||||
|
||||
#[derive(Debug,Clone,Copy,PartialEq,Serialize,Deserialize)]
|
||||
enum InstancePhase {
|
||||
@@ -94,7 +95,7 @@ impl Instance {
|
||||
self.players = iter::repeat_with(|| {
|
||||
let bot_id = Uuid::new_v4();
|
||||
let cryps = instance_mobs(bot_id);
|
||||
let mut p = Player::new(bot_id, self.id, &bot_id.to_string(), cryps).set_bot(true);
|
||||
let mut p = Player::new(bot_id, self.id, &name(), cryps).set_bot(true);
|
||||
p.set_ready(true);
|
||||
p
|
||||
})
|
||||
@@ -105,7 +106,7 @@ impl Instance {
|
||||
|
||||
fn add_player(&mut self, player: Player) -> Result<&mut Instance, Error> {
|
||||
match self.players.iter().find(|p| p.id == player.id) {
|
||||
Some(p) => return Err(err_msg("already joined")),
|
||||
Some(_p) => return Err(err_msg("already joined")),
|
||||
None => (),
|
||||
};
|
||||
|
||||
@@ -138,11 +139,12 @@ impl Instance {
|
||||
.position(|p| p.id == player_id)
|
||||
.ok_or(err_msg("player_id not found"))?;
|
||||
|
||||
if self.players[i].cryps.iter().all(|c| c.skills.len() == 0) {
|
||||
if self.phase != InstancePhase::Lobby && self.players[i].cryps.iter().all(|c| c.skills.len() == 0) {
|
||||
return Err(err_msg("your cryps have no skills"));
|
||||
}
|
||||
|
||||
self.players[i].set_ready(true);
|
||||
let v = !self.players[i].ready;
|
||||
self.players[i].set_ready(v);
|
||||
|
||||
if self.phase == InstancePhase::Lobby && self.can_start() {
|
||||
self.start();
|
||||
|
||||
@@ -24,6 +24,7 @@ mod net;
|
||||
mod skill;
|
||||
mod spec;
|
||||
// mod passives;
|
||||
mod names;
|
||||
mod rpc;
|
||||
mod account;
|
||||
mod instance;
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
use rand::prelude::*;
|
||||
use rand::{thread_rng};
|
||||
|
||||
const FIRSTS: [&'static str; 17] = [
|
||||
"fierce",
|
||||
"obscure",
|
||||
"mighty",
|
||||
"rogue",
|
||||
"inverted",
|
||||
"recalcitrant",
|
||||
"subterranean",
|
||||
"brewing",
|
||||
"nocturnal",
|
||||
"convex",
|
||||
"concave",
|
||||
"piscine",
|
||||
"dub",
|
||||
"borean",
|
||||
"lurking",
|
||||
"leafy",
|
||||
"nutritious",
|
||||
];
|
||||
|
||||
const LASTS: [&'static str; 16] = [
|
||||
"kaffe",
|
||||
"river",
|
||||
"oak",
|
||||
"replicant",
|
||||
"mechanism",
|
||||
"function",
|
||||
"shape",
|
||||
"form",
|
||||
"poseidon",
|
||||
"mountain",
|
||||
"river",
|
||||
"forest",
|
||||
"problem",
|
||||
"warning",
|
||||
"information",
|
||||
"witness",
|
||||
];
|
||||
|
||||
pub fn name() -> String {
|
||||
let mut rng = thread_rng();
|
||||
|
||||
let first = rng.gen_range(0, FIRSTS.len() - 1);
|
||||
let last = rng.gen_range(0, LASTS.len() - 1);
|
||||
|
||||
let mut s = String::new();
|
||||
s.push_str(FIRSTS[first]);
|
||||
s.push(' ');
|
||||
s.push_str(LASTS[last]);
|
||||
|
||||
s
|
||||
}
|
||||
Reference in New Issue
Block a user