lint src/common/*
This commit is contained in:
		
							parent
							
								
									10c2b1ec89
								
							
						
					
					
						commit
						4ce7fb2a26
					
				@ -30,9 +30,8 @@ pub struct CharacterLevelTable {
 | 
				
			|||||||
    table: HashMap<CharacterClass, [CharacterLevelEntry; 200]>,
 | 
					    table: HashMap<CharacterClass, [CharacterLevelEntry; 200]>,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl Default for CharacterLevelTable {
 | 
				
			||||||
impl CharacterLevelTable {
 | 
					    fn default() -> CharacterLevelTable {
 | 
				
			||||||
    pub fn new() -> CharacterLevelTable {
 | 
					 | 
				
			||||||
        let file = File::open("data/char_stats.json").unwrap();
 | 
					        let file = File::open("data/char_stats.json").unwrap();
 | 
				
			||||||
        let json: Value = serde_json::from_reader(file).unwrap();
 | 
					        let json: Value = serde_json::from_reader(file).unwrap();
 | 
				
			||||||
        let mut table = HashMap::new();
 | 
					        let mut table = HashMap::new();
 | 
				
			||||||
@ -55,7 +54,7 @@ impl CharacterLevelTable {
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            let mut statlist = [CharacterLevelEntry::default(); 200];
 | 
					            let mut statlist = [CharacterLevelEntry::default(); 200];
 | 
				
			||||||
            for (i, stat) in it.1.as_array().unwrap().into_iter().enumerate() {
 | 
					            for (i, stat) in it.1.as_array().unwrap().iter().enumerate() {
 | 
				
			||||||
                statlist[i] = CharacterLevelEntry {
 | 
					                statlist[i] = CharacterLevelEntry {
 | 
				
			||||||
                    hp: stat["hp"].as_i64().unwrap() as u32,
 | 
					                    hp: stat["hp"].as_i64().unwrap() as u32,
 | 
				
			||||||
                    atp: stat["atp"].as_i64().unwrap() as u32,
 | 
					                    atp: stat["atp"].as_i64().unwrap() as u32,
 | 
				
			||||||
@ -75,7 +74,9 @@ impl CharacterLevelTable {
 | 
				
			|||||||
            table: table,
 | 
					            table: table,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					impl CharacterLevelTable {
 | 
				
			||||||
    pub fn get_level_from_exp(&self, ch_class: CharacterClass, exp: u32) -> u32 {
 | 
					    pub fn get_level_from_exp(&self, ch_class: CharacterClass, exp: u32) -> u32 {
 | 
				
			||||||
        if let Some(statlist) = self.table.get(&ch_class) {
 | 
					        if let Some(statlist) = self.table.get(&ch_class) {
 | 
				
			||||||
            statlist
 | 
					            statlist
 | 
				
			||||||
@ -120,14 +121,14 @@ mod test {
 | 
				
			|||||||
    use super::*;
 | 
					    use super::*;
 | 
				
			||||||
    #[test]
 | 
					    #[test]
 | 
				
			||||||
    fn test_stat_levels() {
 | 
					    fn test_stat_levels() {
 | 
				
			||||||
        let table = CharacterLevelTable::new();
 | 
					        let table = CharacterLevelTable::default();
 | 
				
			||||||
        assert!(table.get_stats_from_exp(CharacterClass::FOmarl, 0) == (1, CharacterStats { hp: 20, atp: 13, mst: 53, evp: 35, dfp: 10, ata: 15, lck: 10 }));
 | 
					        assert!(table.get_stats_from_exp(CharacterClass::FOmarl, 0) == (1, CharacterStats { hp: 20, atp: 13, mst: 53, evp: 35, dfp: 10, ata: 15, lck: 10 }));
 | 
				
			||||||
        assert!(table.get_stats_from_exp(CharacterClass::FOmarl, 1 << 17) == (36, CharacterStats { hp: 125, atp: 114, mst: 219, evp: 182, dfp: 42, ata: 213, lck: 10 }));
 | 
					        assert!(table.get_stats_from_exp(CharacterClass::FOmarl, 1 << 17) == (36, CharacterStats { hp: 125, atp: 114, mst: 219, evp: 182, dfp: 42, ata: 213, lck: 10 }));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #[test]
 | 
					    #[test]
 | 
				
			||||||
    fn test_levels() {
 | 
					    fn test_levels() {
 | 
				
			||||||
        let table = CharacterLevelTable::new();
 | 
					        let table = CharacterLevelTable::default();
 | 
				
			||||||
        assert!(table.get_level_from_exp(CharacterClass::FOmarl, 0) == 1);
 | 
					        assert!(table.get_level_from_exp(CharacterClass::FOmarl, 0) == 1);
 | 
				
			||||||
        assert!(table.get_level_from_exp(CharacterClass::FOmarl, 3000) == 8);
 | 
					        assert!(table.get_level_from_exp(CharacterClass::FOmarl, 3000) == 8);
 | 
				
			||||||
        assert!(table.get_level_from_exp(CharacterClass::FOmarl, 3200) == 9);
 | 
					        assert!(table.get_level_from_exp(CharacterClass::FOmarl, 3200) == 9);
 | 
				
			||||||
 | 
				
			|||||||
@ -65,7 +65,7 @@ impl PacketReceiver {
 | 
				
			|||||||
            return Err(NetworkError::ClientDisconnected);
 | 
					            return Err(NetworkError::ClientDisconnected);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.recv_buffer.extend_from_slice(&mut data[..len]);
 | 
					        self.recv_buffer.extend_from_slice(&data[..len]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let mut dec_buf = {
 | 
					        let mut dec_buf = {
 | 
				
			||||||
            let mut cipher = self.cipher.lock().await;
 | 
					            let mut cipher = self.cipher.lock().await;
 | 
				
			||||||
 | 
				
			|||||||
@ -163,7 +163,7 @@ where
 | 
				
			|||||||
                            warn!("interserver send failed: {:?}", err);
 | 
					                            warn!("interserver send failed: {:?}", err);
 | 
				
			||||||
                            break;
 | 
					                            break;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        if let Err(err) = socket.write_all(&payload.as_bytes()).await {
 | 
					                        if let Err(err) = socket.write_all(payload.as_bytes()).await {
 | 
				
			||||||
                            warn!("intserserver send failed: {:?}", err);
 | 
					                            warn!("intserserver send failed: {:?}", err);
 | 
				
			||||||
                            break;
 | 
					                            break;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
				
			|||||||
@ -25,7 +25,7 @@ pub fn patch_mainloop(patch_state: PatchServerState, patch_port: u16) -> Pin<Box
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
pub fn login_mainloop<EG: EntityGateway + 'static>(login_state: LoginServerState<EG>, login_port: u16) -> Pin<Box<dyn Future<Output = ()>>> {
 | 
					pub fn login_mainloop<EG: EntityGateway + 'static>(login_state: LoginServerState<EG>, login_port: u16) -> Pin<Box<dyn Future<Output = ()>>> {
 | 
				
			||||||
    let login_state = Arc::new(Mutex::new(login_state));
 | 
					    let login_state = Arc::new(Mutex::new(login_state));
 | 
				
			||||||
    let client_mainloop = client_accept_mainloop(login_state.clone(), login_port);
 | 
					    let client_mainloop = client_accept_mainloop(login_state, login_port);
 | 
				
			||||||
    Box::pin(client_mainloop)
 | 
					    Box::pin(client_mainloop)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -306,7 +306,7 @@ impl<EG: EntityGateway> CharacterServerState<EG> {
 | 
				
			|||||||
            param_data: param_data,
 | 
					            param_data: param_data,
 | 
				
			||||||
            clients: HashMap::new(),
 | 
					            clients: HashMap::new(),
 | 
				
			||||||
            ships: BTreeMap::new(),
 | 
					            ships: BTreeMap::new(),
 | 
				
			||||||
            level_table: CharacterLevelTable::new(),
 | 
					            level_table: CharacterLevelTable::default(),
 | 
				
			||||||
            auth_token: auth_token,
 | 
					            auth_token: auth_token,
 | 
				
			||||||
            authenticated_ships: BTreeSet::new(),
 | 
					            authenticated_ships: BTreeSet::new(),
 | 
				
			||||||
            ship_sender: BTreeMap::new(),
 | 
					            ship_sender: BTreeMap::new(),
 | 
				
			||||||
 | 
				
			|||||||
@ -367,7 +367,7 @@ impl<EG: EntityGateway> ShipServerStateBuilder<EG> {
 | 
				
			|||||||
        ShipServerState {
 | 
					        ShipServerState {
 | 
				
			||||||
            entity_gateway: self.entity_gateway.unwrap(),
 | 
					            entity_gateway: self.entity_gateway.unwrap(),
 | 
				
			||||||
            clients: HashMap::new(),
 | 
					            clients: HashMap::new(),
 | 
				
			||||||
            level_table: CharacterLevelTable::new(),
 | 
					            level_table: CharacterLevelTable::default(),
 | 
				
			||||||
            name: self.name.unwrap_or_else(|| "NAMENOTSET".into()),
 | 
					            name: self.name.unwrap_or_else(|| "NAMENOTSET".into()),
 | 
				
			||||||
            item_manager: items::ItemManager::default(),
 | 
					            item_manager: items::ItemManager::default(),
 | 
				
			||||||
            quests: quests::load_quests("data/quests.toml".into()).unwrap(),
 | 
					            quests: quests::load_quests("data/quests.toml".into()).unwrap(),
 | 
				
			||||||
 | 
				
			|||||||
@ -83,7 +83,7 @@ async fn test_character_levels_up() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    assert!(matches!(levelup_pkt[1].1, SendShipPacket::Message(Message {msg: GameMessage::PlayerLevelUp(PlayerLevelUp {lvl: 2, ..})})));
 | 
					    assert!(matches!(levelup_pkt[1].1, SendShipPacket::Message(Message {msg: GameMessage::PlayerLevelUp(PlayerLevelUp {lvl: 2, ..})})));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let leveltable = CharacterLevelTable::new();
 | 
					    let leveltable = CharacterLevelTable::default();
 | 
				
			||||||
    let c1 = ship.clients.get(&ClientId(1)).unwrap();
 | 
					    let c1 = ship.clients.get(&ClientId(1)).unwrap();
 | 
				
			||||||
    assert!(leveltable.get_level_from_exp(c1.character.char_class, c1.character.exp) == 2);
 | 
					    assert!(leveltable.get_level_from_exp(c1.character.char_class, c1.character.exp) == 2);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user