diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cbee1d8d3..e6d9bcc916 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Changed iron ore to iron ingots in the instruments' recipes - Changed gold ore to gold ingots in the Brinstone armor set recipes - Updated windowing library, wayland may work better. +- Portal model has been updated by @Nectical ### Removed - Medium and large potions from all loot tables diff --git a/assets/voxygen/shaders/particle-vert.glsl b/assets/voxygen/shaders/particle-vert.glsl index af733b1492..6352fde4b9 100644 --- a/assets/voxygen/shaders/particle-vert.glsl +++ b/assets/voxygen/shaders/particle-vert.glsl @@ -83,7 +83,6 @@ const int GIGA_SNOW = 42; const int CYCLOPS_CHARGE = 43; const int PORTAL_FIZZ = 45; const int INK = 46; -const int UPWARD_PORTAL_FIZZ = 47; // meters per second squared (acceleration) const float earth_gravity = 9.807; @@ -704,15 +703,6 @@ void main() { spin_in_axis(vec3(rand6, rand7, rand8), percent() * 10 + 3 * rand9) ); break; - case UPWARD_PORTAL_FIZZ: - f_reflect = 0.0; - attr = Attr( - inst_dir * percent(), - vec3(max(1.0, 0.05 * length(start_pos + inst_dir * percent()))), - vec4(vec3(1.23, 1.41, 1.44), 1.0),// * (1.0 - length(inst_dir) * 0.1), - identity()//spin_in_axis(perp_axis, asin(inst_dir.z / length(inst_dir)) + PI / 2.0) - ); - break; default: attr = Attr( linear_motion( diff --git a/assets/voxygen/voxel/object/portal.vox b/assets/voxygen/voxel/object/portal.vox index 1cf5786208..d9cb77efcd 100644 --- a/assets/voxygen/voxel/object/portal.vox +++ b/assets/voxygen/voxel/object/portal.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:441d3720809b51ea6a9885346f470efaa134e2f507052d95e1986100f23a3ace -size 50670 +oid sha256:a3daa08683a046b7d25b9cfb9b00f0046f7be27ce2cc7e647d5e69974a01fdcc +size 59084 diff --git a/assets/voxygen/voxel/object/portal_active.vox b/assets/voxygen/voxel/object/portal_active.vox index 8136fbf713..4b84873d64 100644 --- a/assets/voxygen/voxel/object/portal_active.vox +++ b/assets/voxygen/voxel/object/portal_active.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4ad6e5f6bc14a9bdf497159d885a3bf38d3b474c8e305f6deac57ab631765fb -size 50670 +oid sha256:77748dfd7d406b64946b79945d605d2a2ef9fa870de1261fa890c9841a9e1b6c +size 59084 diff --git a/server/src/sys/teleporter.rs b/server/src/sys/teleporter.rs index f2765831df..0ab7f831a3 100644 --- a/server/src/sys/teleporter.rs +++ b/server/src/sys/teleporter.rs @@ -95,7 +95,10 @@ impl<'a> System<'a> for Sys { }) || (*requires_no_aggro && check_aggro(entity, position.0)) || !matches!( character_state, - CharacterState::Idle(_) | CharacterState::Wielding(_) + CharacterState::Idle(_) + | CharacterState::Wielding(_) + | CharacterState::Sit + | CharacterState::Dance ) { cancel_teleporting.push(entity); @@ -109,11 +112,13 @@ impl<'a> System<'a> for Sys { .join() .get(entity, &entities) }) - .filter_map(|(entity, entity_position, alignment)| { + .filter_map(|(nearby_entity, entity_position, alignment)| { (matches!(alignment, Alignment::Owned(entity_uid) if entity_uid == uid) && entity_position.0.distance_squared(position.0) - <= PET_TELEPORT_RADIUS.powi(2)) - .then_some(entity) + <= PET_TELEPORT_RADIUS.powi(2) + // Allow for non-players to teleport too + || entity == nearby_entity) + .then_some(nearby_entity) }); for entity in nearby { diff --git a/voxygen/src/render/pipelines/particle.rs b/voxygen/src/render/pipelines/particle.rs index 9441400978..d5c8d6d50a 100644 --- a/voxygen/src/render/pipelines/particle.rs +++ b/voxygen/src/render/pipelines/particle.rs @@ -98,7 +98,6 @@ pub enum ParticleMode { SnowStorm = 44, PortalFizz = 45, Ink = 46, - UpwardPortalFizz = 47, } impl ParticleMode { diff --git a/voxygen/src/scene/particle.rs b/voxygen/src/scene/particle.rs index 3b2b3247bb..9c9fa53e81 100644 --- a/voxygen/src/scene/particle.rs +++ b/voxygen/src/scene/particle.rs @@ -760,9 +760,9 @@ impl ParticleMgr { pos + (Vec2::unit_x().rotated_z(rng.gen_range((0.)..PI * 2.)) * 2.7).with_z(0.); self.particles.push(Particle::new_directed( - Duration::from_secs_f32(rng.gen_range(0.2..0.5)), + Duration::from_secs_f32(rng.gen_range(0.4..0.8)), time, - ParticleMode::UpwardPortalFizz, + ParticleMode::CultistFlame, outer_pos, outer_pos + Vec3::unit_z() * rng.gen_range(5.0..7.0), )); @@ -788,7 +788,7 @@ impl ParticleMgr { self.particles.push(Particle::new_directed( Duration::from_secs_f32(rng.gen_range(0.5..3.0)), time, - ParticleMode::UpwardPortalFizz, + ParticleMode::CultistFlame, outer_pos, outer_pos + Vec3::unit_z() * rng.gen_range(3.0..4.0), ));