Updated changelog

This commit is contained in:
Joshua Barretto 2020-07-07 01:11:37 +01:00
parent e626f6255f
commit d1cdb6ea55
9 changed files with 34 additions and 26 deletions

View File

@ -60,6 +60,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Connection screen fails after 4 minutes if it can't connect to the server instead of 80 minutes - Connection screen fails after 4 minutes if it can't connect to the server instead of 80 minutes
- Rebuilt quadruped_medium animation and assets - Rebuilt quadruped_medium animation and assets
- Disabled destruction of most blocks by explosions - Disabled destruction of most blocks by explosions
- Disable damage to pets
- Made pets healable
- Rebalanced fire staff
- Animals are more effective in combat
- Pathfinding is much smoother and pets are cleverer
- Animals run/turn at different speeds
### Removed ### Removed

View File

@ -8,7 +8,7 @@
label_break_value, label_break_value,
trait_alias, trait_alias,
type_alias_impl_trait, type_alias_impl_trait,
option_zip, option_zip
)] )]
#[macro_use] extern crate serde_derive; #[macro_use] extern crate serde_derive;

View File

@ -242,14 +242,12 @@ impl<'a> System<'a> for Sys {
if let (Some(tgt_pos), Some(tgt_stats), tgt_alignment) = ( if let (Some(tgt_pos), Some(tgt_stats), tgt_alignment) = (
positions.get(*target), positions.get(*target),
stats.get(*target), stats.get(*target),
alignments alignments.get(*target).copied().unwrap_or(
.get(*target) uids.get(*target)
.copied()
.unwrap_or(uids
.get(*target)
.copied() .copied()
.map(Alignment::Owned) .map(Alignment::Owned)
.unwrap_or(Alignment::Wild)), .unwrap_or(Alignment::Wild),
),
) { ) {
if let Some(dir) = Dir::from_unnormalized(tgt_pos.0 - pos.0) { if let Some(dir) = Dir::from_unnormalized(tgt_pos.0 - pos.0) {
inputs.look_dir = dir; inputs.look_dir = dir;

View File

@ -1,7 +1,7 @@
use crate::{ use crate::{
comp::{ comp::{
projectile, Energy, EnergySource, HealthSource, Ori, PhysicsState, Pos, Projectile, Vel, projectile, Alignment, Energy, EnergySource, HealthSource, Ori, PhysicsState, Pos,
Alignment, Projectile, Vel,
}, },
event::{EventBus, LocalEvent, ServerEvent}, event::{EventBus, LocalEvent, ServerEvent},
state::DeltaTime, state::DeltaTime,
@ -89,11 +89,11 @@ impl<'a> System<'a> for Sys {
// Hacky: remove this when groups get implemented // Hacky: remove this when groups get implemented
let passive = uid_allocator let passive = uid_allocator
.retrieve_entity_internal(other.into()) .retrieve_entity_internal(other.into())
.and_then(|other| .and_then(|other| {
alignments alignments
.get(other) .get(other)
.map(|a| Alignment::Owned(owner_uid) .map(|a| Alignment::Owned(owner_uid).passive_towards(*a))
.passive_towards(*a))) })
.unwrap_or(false); .unwrap_or(false);
if other != projectile.owner.unwrap() && !passive { if other != projectile.owner.unwrap() && !passive {
server_emitter.emit(ServerEvent::Damage { uid: other, change }); server_emitter.emit(ServerEvent::Damage { uid: other, change });

View File

@ -507,7 +507,10 @@ fn handle_spawn(
String String
) { ) {
(Some(opt_align), Some(npc::NpcBody(id, mut body)), opt_amount, opt_ai) => { (Some(opt_align), Some(npc::NpcBody(id, mut body)), opt_amount, opt_ai) => {
let uid = server.state.read_component_cloned(target).expect("Expected player to have a UID"); let uid = server
.state
.read_component_cloned(target)
.expect("Expected player to have a UID");
if let Some(alignment) = parse_alignment(uid, &opt_align) { if let Some(alignment) = parse_alignment(uid, &opt_align) {
let amount = opt_amount let amount = opt_amount
.and_then(|a| a.parse().ok()) .and_then(|a| a.parse().ok())

View File

@ -188,7 +188,8 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv
let reinsert = if let Some(pos) = let reinsert = if let Some(pos) =
state.read_storage::<comp::Pos>().get(entity) state.read_storage::<comp::Pos>().get(entity)
{ {
let uid = state.read_component_cloned(entity) let uid = state
.read_component_cloned(entity)
.expect("Expected player to have a UID"); .expect("Expected player to have a UID");
if ( if (
&state.read_storage::<comp::Alignment>(), &state.read_storage::<comp::Alignment>(),
@ -222,10 +223,10 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv
.map(|(entity, _, _)| entity); .map(|(entity, _, _)| entity);
nearest_tameable nearest_tameable
} { } {
let _ = state.ecs().write_storage().insert( let _ = state
tameable_entity, .ecs()
comp::Alignment::Owned(uid), .write_storage()
); .insert(tameable_entity, comp::Alignment::Owned(uid));
let _ = state let _ = state
.ecs() .ecs()
.write_storage() .write_storage()

View File

@ -171,7 +171,10 @@ impl StateExt for State {
}); });
self.write_component(entity, comp::Gravity(1.0)); self.write_component(entity, comp::Gravity(1.0));
self.write_component(entity, comp::CharacterState::default()); self.write_component(entity, comp::CharacterState::default());
self.write_component(entity, comp::Alignment::Owned(self.read_component_cloned(entity).unwrap())); self.write_component(
entity,
comp::Alignment::Owned(self.read_component_cloned(entity).unwrap()),
);
// Set the character id for the player // Set the character id for the player
// TODO this results in a warning in the console: "Error modifying synced // TODO this results in a warning in the console: "Error modifying synced

View File

@ -1,8 +1,8 @@
use super::SysTimer; use super::SysTimer;
use common::{ use common::{
comp::{ comp::{
Body, CanBuild, CharacterState, Collider, Energy, Gravity, Item, LightEmitter, Loadout, Alignment, Body, CanBuild, CharacterState, Collider, Energy, Gravity, Item, LightEmitter,
Mass, MountState, Mounting, Ori, Player, Pos, Scale, Stats, Sticky, Vel, Alignment, Loadout, Mass, MountState, Mounting, Ori, Player, Pos, Scale, Stats, Sticky, Vel,
}, },
msg::EcsCompPacket, msg::EcsCompPacket,
sync::{CompSyncPackage, EntityPackage, EntitySyncPackage, Uid, UpdateTracker, WorldSyncExt}, sync::{CompSyncPackage, EntityPackage, EntitySyncPackage, Uid, UpdateTracker, WorldSyncExt},

View File

@ -59,10 +59,7 @@ impl SessionState {
{ {
let mut client = client.borrow_mut(); let mut client = client.borrow_mut();
let my_entity = client.entity(); let my_entity = client.entity();
client client.state_mut().ecs_mut().insert(MyEntity(my_entity));
.state_mut()
.ecs_mut()
.insert(MyEntity(my_entity));
} }
let voxygen_i18n = load_expect::<VoxygenLocalization>(&i18n_asset_key( let voxygen_i18n = load_expect::<VoxygenLocalization>(&i18n_asset_key(
&global_state.settings.language.selected_language, &global_state.settings.language.selected_language,