Fix 18-slot pets (they now properly get inventories based on their body type, which is usually 1-slot).

Also fixes a related issue where pets lose their natural weapons/armour.
This commit is contained in:
Avi Weinstock 2022-09-22 16:08:39 -04:00
parent 60f5383f8b
commit ff781198d3
3 changed files with 8 additions and 3 deletions

View File

@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
extra ghost slider cursor when set above the limit (instead of snapping back to the limit).
Limits on the view distance by the server no longer affect the settings saved on the client.
- HQX upscaling shader for people playing on low internal resolutions
- Pets can now be traded with.
### Changed
- Use fluent for translations
@ -54,6 +55,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Moderators and admins are no longer blocked from logging in when there are too many players.
- FXAA now behaves correctly at non-1.0x internal resolutions
- Pets no longer aggro on pet owners after being healed
- Pets no longer lose their intrinsic weapons/armour when loaded on login.
## [0.13.0] - 2022-07-23

View File

@ -349,7 +349,7 @@ pub fn load_character_list(player_uuid_: &str, connection: &Connection) -> Chara
Ok(CharacterItem {
character: char,
body: char_body,
inventory: Inventory::with_loadout_humanoid(loadout),
inventory: Inventory::with_loadout(loadout, char_body),
})
})
.collect()

View File

@ -26,7 +26,7 @@ use common::{
resources::{Time, TimeOfDay},
slowjob::SlowJobPool,
uid::{Uid, UidAllocator},
ViewDistances,
LoadoutBuilder, ViewDistances,
};
use common_net::{
msg::{CharacterInfo, PlayerListUpdate, PresenceKind, ServerGeneral},
@ -651,7 +651,10 @@ impl StateExt for State {
comp::SkillSet::default(),
Some(comp::Health::new(body, DEFAULT_PET_HEALTH_LEVEL)),
Poise::new(body),
Inventory::with_empty(),
Inventory::with_loadout(
LoadoutBuilder::from_default(&body).build(),
body,
),
body,
)
.with(comp::Scale(1.0))