genuflect towards the great clippy
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
622c6e598d
commit
fbeaf5e93e
@ -81,7 +81,7 @@ pub fn load_rare_monster_file<T: serde::de::DeserializeOwned>(episode: Episode)
|
||||
|
||||
let mut f = File::open(path).unwrap();
|
||||
let mut s = String::new();
|
||||
f.read_to_string(&mut s);
|
||||
f.read_to_string(&mut s).unwrap();
|
||||
toml::from_str::<T>(s.as_str()).unwrap()
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,5 @@ fn main() {
|
||||
elseware::common::mainloop::run_server(patch_state, patch_config.port).await;
|
||||
});
|
||||
|
||||
async_std::task::block_on(async move {
|
||||
patch_loop.await
|
||||
});
|
||||
async_std::task::block_on(patch_loop);
|
||||
}
|
||||
|
@ -219,12 +219,8 @@ where
|
||||
let mut buf = [0u8; 1];
|
||||
loop {
|
||||
let peek = socket.peek(&mut buf).await;
|
||||
match peek {
|
||||
Ok(len) if len == 0 => {
|
||||
break
|
||||
},
|
||||
_ => {
|
||||
}
|
||||
if let Ok(0) = peek {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ use crate::ship::drops::generic_armor::GenericArmorTable;
|
||||
use crate::ship::drops::generic_shield::GenericShieldTable;
|
||||
use crate::ship::drops::generic_unit::GenericUnitTable;
|
||||
use crate::ship::drops::tool_table::ToolTable;
|
||||
use entity::item::ItemDetail;
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
struct BoxDropRate {
|
||||
@ -176,8 +175,8 @@ impl BoxDropTable {
|
||||
fn random_box_drop<R: Rng>(&self, map_area: &MapArea, rng: &mut R) -> Option<ItemDropType> {
|
||||
self.rare_drop(map_area, rng).or_else(|| {
|
||||
let rate = self.box_rates.rates_by_area(map_area);
|
||||
let type_weights = WeightedIndex::new(&[rate.weapon_rate, rate.armor_rate, rate.shield_rate, rate.unit_rate,
|
||||
rate.tool_rate, rate.meseta_rate, rate.nothing_rate]).unwrap();
|
||||
let type_weights = WeightedIndex::new([rate.weapon_rate, rate.armor_rate, rate.shield_rate, rate.unit_rate,
|
||||
rate.tool_rate, rate.meseta_rate, rate.nothing_rate]).unwrap();
|
||||
let btype = type_weights.sample(rng);
|
||||
match btype {
|
||||
0 => self.weapon_table.get_drop(map_area, rng),
|
||||
|
@ -46,8 +46,8 @@ impl GenericArmorTable {
|
||||
}
|
||||
|
||||
fn armor_type<R: Rng>(&self, area_map: &MapArea, rng: &mut R) -> ArmorType {
|
||||
let rank_weights = WeightedIndex::new(&[self.rank_rates.rank0, self.rank_rates.rank1, self.rank_rates.rank2,
|
||||
self.rank_rates.rank3, self.rank_rates.rank4]).unwrap();
|
||||
let rank_weights = WeightedIndex::new([self.rank_rates.rank0, self.rank_rates.rank1, self.rank_rates.rank2,
|
||||
self.rank_rates.rank3, self.rank_rates.rank4]).unwrap();
|
||||
let rank = rank_weights.sample(rng) as i32;
|
||||
let armor_level = std::cmp::max(0i32, self.armor_set as i32 - 3i32 + rank + area_map.drop_area_value().unwrap_or(0) as i32);
|
||||
match armor_level {
|
||||
@ -80,8 +80,8 @@ impl GenericArmorTable {
|
||||
}
|
||||
|
||||
pub fn slots<R: Rng>(&self, _area_map: &MapArea, rng: &mut R) -> usize {
|
||||
let slot_weights = WeightedIndex::new(&[self.slot_rates.slot0, self.slot_rates.slot1, self.slot_rates.slot2,
|
||||
self.slot_rates.slot3, self.slot_rates.slot4]).unwrap();
|
||||
let slot_weights = WeightedIndex::new([self.slot_rates.slot0, self.slot_rates.slot1, self.slot_rates.slot2,
|
||||
self.slot_rates.slot3, self.slot_rates.slot4]).unwrap();
|
||||
slot_weights.sample(rng)
|
||||
}
|
||||
|
||||
|
@ -36,8 +36,8 @@ impl GenericShieldTable {
|
||||
}
|
||||
|
||||
fn shield_type<R: Rng>(&self, area_map: &MapArea, rng: &mut R) -> ShieldType {
|
||||
let rank_weights = WeightedIndex::new(&[self.rank_rates.rank0, self.rank_rates.rank1, self.rank_rates.rank2,
|
||||
self.rank_rates.rank3, self.rank_rates.rank4]).unwrap();
|
||||
let rank_weights = WeightedIndex::new([self.rank_rates.rank0, self.rank_rates.rank1, self.rank_rates.rank2,
|
||||
self.rank_rates.rank3, self.rank_rates.rank4]).unwrap();
|
||||
let rank = rank_weights.sample(rng) as i32;
|
||||
let shield_level = std::cmp::max(0i32, self.shield_set as i32 - 3i32 + rank + area_map.drop_area_value().unwrap_or(0) as i32);
|
||||
match shield_level {
|
||||
|
@ -240,7 +240,7 @@ impl AttributeTable {
|
||||
|
||||
|
||||
fn generate_attribute<R: Rng>(&self, pattern: &PercentPatternType, rates: &AttributeRate, rng: &mut R) -> Option<WeaponAttribute> {
|
||||
let attribute_weights = WeightedIndex::new(&[rates.none, rates.native, rates.abeast, rates.machine, rates.dark, rates.hit]).unwrap();
|
||||
let attribute_weights = WeightedIndex::new([rates.none, rates.native, rates.abeast, rates.machine, rates.dark, rates.hit]).unwrap();
|
||||
let attr = match attribute_weights.sample(rng) {
|
||||
0 => return None,
|
||||
1 => Attribute::Native,
|
||||
@ -253,7 +253,7 @@ impl AttributeTable {
|
||||
|
||||
let percents = self.percent_rates.get_by_pattern(pattern);
|
||||
|
||||
let value_weights = WeightedIndex::new(&percents.as_array()).unwrap();
|
||||
let value_weights = WeightedIndex::new(percents.as_array()).unwrap();
|
||||
let value = value_weights.sample(rng);
|
||||
let percent = ((value + 1) * 5) as i8;
|
||||
|
||||
@ -477,7 +477,7 @@ impl GenericWeaponTable {
|
||||
let pattern = std::cmp::min(area % ratio.inc, 3);
|
||||
|
||||
let weights = self.grind_rates.grind_rate[pattern as usize];
|
||||
let grind_choice = WeightedIndex::new(&weights).unwrap();
|
||||
let grind_choice = WeightedIndex::new(weights).unwrap();
|
||||
grind_choice.sample(rng)
|
||||
}
|
||||
|
||||
|
@ -226,7 +226,7 @@ pub async fn liberta_kit<EG: EntityGateway>(entity_gateway: &mut EG, used_cell:
|
||||
|
||||
fn jack_o_lantern() -> Result<Vec<ApplyItemAction>, anyhow::Error>
|
||||
{
|
||||
let mag_rate = WeightedIndex::new(&[13, 13, 13, 13, 12, 12, 12, 12]).unwrap();
|
||||
let mag_rate = WeightedIndex::new([13, 13, 13, 13, 12, 12, 12, 12]).unwrap();
|
||||
let mag_type = match mag_rate.sample(&mut rand_chacha::ChaChaRng::from_entropy()) {
|
||||
0 => ToolType::CellOfMag502,
|
||||
1 => ToolType::CellOfMag213,
|
||||
|
@ -325,15 +325,7 @@ impl std::cmp::Eq for BankItemDetail {}
|
||||
|
||||
impl std::cmp::PartialOrd for BankItemDetail {
|
||||
fn partial_cmp(&self, other: &BankItemDetail) -> Option<std::cmp::Ordering> {
|
||||
let mut self_bytes = [0u8; 4];
|
||||
let mut other_bytes = [0u8; 4];
|
||||
self_bytes.copy_from_slice(&self.as_client_bytes()[0..4]);
|
||||
other_bytes.copy_from_slice(&other.as_client_bytes()[0..4]);
|
||||
|
||||
let self_value = u32::from_be_bytes(self_bytes);
|
||||
let other_value = u32::from_be_bytes(other_bytes);
|
||||
|
||||
self_value.partial_cmp(&other_value)
|
||||
Some(self.cmp(other))
|
||||
}
|
||||
}
|
||||
|
||||
@ -362,7 +354,7 @@ impl std::cmp::Eq for BankItem {}
|
||||
|
||||
impl std::cmp::PartialOrd for BankItem {
|
||||
fn partial_cmp(&self, other: &BankItem) -> Option<std::cmp::Ordering> {
|
||||
self.item.partial_cmp(&other.item)
|
||||
Some(self.cmp(other))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@ pub async fn join_room(id: ClientId,
|
||||
event: ShipEvent)
|
||||
-> Result<JoinRoom, anyhow::Error> {
|
||||
let all_clients = client_location.get_clients_in_room(room_id).await.map_err(|err| -> ClientLocationError { err.into() })?;
|
||||
#[allow(clippy::manual_try_fold)] // I don't think its even possible to make this work here
|
||||
let players = futures::stream::iter(all_clients.iter())
|
||||
.enumerate()
|
||||
.fold::<Result<_, anyhow::Error>, _, _>(Ok([PlayerHeader::default(); 4]), |acc, (i, c)| async move {
|
||||
|
@ -342,8 +342,8 @@ impl<R: Rng + SeedableRng> ArmorShop<R> {
|
||||
|
||||
pub fn generate_armor_list(&mut self, character_level: usize) -> Vec<ArmorShopItem> {
|
||||
self.generate_frame_list(character_level).into_iter()
|
||||
.chain(self.generate_barrier_list(character_level).into_iter())
|
||||
.chain(self.generate_unit_list(character_level).into_iter())
|
||||
.chain(self.generate_barrier_list(character_level))
|
||||
.chain(self.generate_unit_list(character_level))
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
@ -36,16 +36,7 @@ impl Ord for ToolShopItem {
|
||||
|
||||
impl PartialOrd for ToolShopItem {
|
||||
fn partial_cmp(&self, other: &ToolShopItem) -> Option<std::cmp::Ordering> {
|
||||
let a = match self {
|
||||
ToolShopItem::Tool(t) => Tool{tool : *t}.as_individual_bytes(),
|
||||
ToolShopItem::Tech(t) => t.as_bytes(),
|
||||
};
|
||||
let b = match other {
|
||||
ToolShopItem::Tool(t) => Tool{tool : *t}.as_individual_bytes(),
|
||||
ToolShopItem::Tech(t) => t.as_bytes(),
|
||||
};
|
||||
|
||||
a.partial_cmp(&b)
|
||||
Some(self.cmp(other))
|
||||
}
|
||||
}
|
||||
|
||||
@ -285,7 +276,7 @@ impl<R: Rng + SeedableRng> ToolShop<R> {
|
||||
pub fn generate_tool_list(&mut self, character_level: usize) -> Vec<ToolShopItem> {
|
||||
let mut tools = Vec::new().into_iter()
|
||||
.chain(self.tools.0.clone().into_iter().map(ToolShopItem::Tool))
|
||||
.chain(self.generate_techs(character_level).into_iter())
|
||||
.chain(self.generate_techs(character_level))
|
||||
.collect::<Vec<_>>();
|
||||
tools.sort();
|
||||
tools
|
||||
|
@ -412,7 +412,7 @@ impl<R: Rng + SeedableRng> WeaponShop<R> {
|
||||
.last()
|
||||
.unwrap();
|
||||
|
||||
let attr_choice = WeightedIndex::new(&[tier.none, tier.native, tier.abeast, tier.machine, tier.dark, tier.hit]).unwrap();
|
||||
let attr_choice = WeightedIndex::new([tier.none, tier.native, tier.abeast, tier.machine, tier.dark, tier.hit]).unwrap();
|
||||
let attr = match attr_choice.sample(&mut self.rng) {
|
||||
0 => return None,
|
||||
1 => Attribute::Native,
|
||||
@ -439,7 +439,7 @@ impl<R: Rng + SeedableRng> WeaponShop<R> {
|
||||
.last()
|
||||
.unwrap();
|
||||
|
||||
let attr_choice = WeightedIndex::new(&[tier.none, tier.native, tier.abeast, tier.machine, tier.dark, tier.hit]).unwrap();
|
||||
let attr_choice = WeightedIndex::new([tier.none, tier.native, tier.abeast, tier.machine, tier.dark, tier.hit]).unwrap();
|
||||
let attr = match attr_choice.sample(&mut self.rng) {
|
||||
0 => return None,
|
||||
1 => Attribute::Native,
|
||||
|
Loading…
x
Reference in New Issue
Block a user