mirror of
https://github.com/lcdr/lu_packets.git
synced 2026-02-12 03:08:42 -06:00
@@ -7,7 +7,7 @@ use crate::common::{ObjId, OBJID_EMPTY};
|
||||
|
||||
use crate::world::{CloneId, CLONE_ID_INVALID, Lot, LOT_NULL, LuNameValue, MapId, MAP_ID_INVALID, Quaternion, Vector3, ZoneId};
|
||||
use crate::world::amf3::Amf3;
|
||||
pub use super::{EquipInventory, InventoryType, KillType, UnEquipInventory, MissionState, PetNotificationType, MoveItemInInventory, MoveInventoryBatch, RemoveSkill, SetIgnoreProjectileCollision};
|
||||
pub use super::{EquipInventory, InventoryType, KillType, UnEquipInventory, LootType, MissionState, PetNotificationType, MoveItemInInventory, MoveInventoryBatch, RemoveSkill, RemoveItemFromInventory, SetIgnoreProjectileCollision};
|
||||
use super::{GmString, GmWString};
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize)]
|
||||
@@ -38,6 +38,7 @@ pub enum GameMessage {
|
||||
EnableRebuild(EnableRebuild) = 213,
|
||||
MoveItemInInventory(MoveItemInInventory) = 224,
|
||||
AddItemToInventoryClientSync(AddItemToInventoryClientSync) = 227,
|
||||
RemoveItemFromInventory(RemoveItemFromInventory) = 230,
|
||||
EquipInventory(EquipInventory) = 231,
|
||||
UnEquipInventory(UnEquipInventory) = 233,
|
||||
OfferMission(OfferMission) = 248,
|
||||
@@ -297,33 +298,6 @@ pub struct SetCurrency {
|
||||
pub source_type: LootType,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, GmParam)]
|
||||
#[repr(u32)]
|
||||
pub enum LootType {
|
||||
None,
|
||||
Chest,
|
||||
Mission,
|
||||
Mail,
|
||||
Currency,
|
||||
Achievement,
|
||||
Trade,
|
||||
Quickbuild,
|
||||
Deletion,
|
||||
Vendor,
|
||||
Activity,
|
||||
Pickup,
|
||||
Brick,
|
||||
Property,
|
||||
Moderation,
|
||||
Exhibit,
|
||||
Inventory,
|
||||
Claimcode,
|
||||
Consumption,
|
||||
Crafting,
|
||||
LevelReward,
|
||||
Relocate,
|
||||
}
|
||||
|
||||
#[derive(Debug, GameMessage, PartialEq)]
|
||||
pub struct TeamPickupItem {
|
||||
pub loot_id: ObjId,
|
||||
|
||||
BIN
src/world/gm/client/tests/RemoveItemFromInventory.bin
Normal file
BIN
src/world/gm/client/tests/RemoveItemFromInventory.bin
Normal file
Binary file not shown.
19
src/world/gm/client/tests/RemoveItemFromInventory.rs
Normal file
19
src/world/gm/client/tests/RemoveItemFromInventory.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
GameMessage::RemoveItemFromInventory(
|
||||
RemoveItemFromInventory {
|
||||
confirmed: true,
|
||||
delete_item: true,
|
||||
out_success: false,
|
||||
inv_type: InventoryType::Default,
|
||||
loot_type_source: crate::world::gm::LootType::Activity,
|
||||
extra_info: lnv! {},
|
||||
force_deletion: true,
|
||||
loot_type_source_id: 70368744177662,
|
||||
obj_id: 0,
|
||||
obj_template: 3039,
|
||||
requesting_obj_id: 70368744177662,
|
||||
stack_count: 1,
|
||||
stack_remaining: 0,
|
||||
subkey: 0,
|
||||
trade_id: 0
|
||||
}
|
||||
)
|
||||
@@ -8,6 +8,7 @@ use endio::{Deserialize, LERead, LEWrite, Serialize};
|
||||
use lu_packets_derive::{GameMessage, GmParam};
|
||||
|
||||
use crate::common::{LuVarString, LuVarWString, ObjId, OBJID_EMPTY};
|
||||
use crate::world::LuNameValue;
|
||||
use super::{Lot, LOT_NULL};
|
||||
|
||||
type GmString = LuVarString<u32>;
|
||||
@@ -78,6 +79,7 @@ pub enum InventoryType {
|
||||
Donation,
|
||||
BankModel,
|
||||
BankBehavior,
|
||||
All,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, GmParam)]
|
||||
@@ -129,6 +131,66 @@ pub struct RemoveSkill {
|
||||
pub skill_id: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, PartialEq, GmParam)]
|
||||
#[repr(u32)]
|
||||
pub enum LootType {
|
||||
None,
|
||||
Chest,
|
||||
Mission,
|
||||
Mail,
|
||||
Currency,
|
||||
Achievement,
|
||||
Trade,
|
||||
Quickbuild,
|
||||
Deletion,
|
||||
Vendor,
|
||||
Activity,
|
||||
Pickup,
|
||||
Brick,
|
||||
Property,
|
||||
Moderation,
|
||||
Exhibit,
|
||||
Inventory,
|
||||
Claimcode,
|
||||
Consumption,
|
||||
Crafting,
|
||||
LevelReward,
|
||||
Relocate,
|
||||
}
|
||||
|
||||
#[derive(Debug, GameMessage, PartialEq)]
|
||||
pub struct RemoveItemFromInventory {
|
||||
#[default(false)]
|
||||
pub confirmed: bool,
|
||||
#[default(true)]
|
||||
pub delete_item: bool,
|
||||
#[default(false)]
|
||||
pub out_success: bool,
|
||||
#[default(InventoryType::All)]
|
||||
pub inv_type: InventoryType,
|
||||
#[default(LootType::None)]
|
||||
pub loot_type_source: LootType,
|
||||
pub extra_info: LuNameValue,
|
||||
#[default(true)]
|
||||
pub force_deletion: bool,
|
||||
#[default(OBJID_EMPTY)]
|
||||
pub loot_type_source_id: ObjId,
|
||||
#[default(OBJID_EMPTY)]
|
||||
pub obj_id: ObjId,
|
||||
#[default(LOT_NULL)]
|
||||
pub obj_template: Lot,
|
||||
#[default(OBJID_EMPTY)]
|
||||
pub requesting_obj_id: ObjId,
|
||||
#[default(1)]
|
||||
pub stack_count: u32,
|
||||
#[default(0)]
|
||||
pub stack_remaining: u32,
|
||||
#[default(OBJID_EMPTY)]
|
||||
pub subkey: ObjId,
|
||||
#[default(OBJID_EMPTY)]
|
||||
pub trade_id: ObjId,
|
||||
}
|
||||
|
||||
#[derive(Debug, GameMessage, PartialEq)]
|
||||
pub struct EquipInventory {
|
||||
#[default(false)]
|
||||
|
||||
@@ -7,7 +7,7 @@ use crate::common::{ObjId, OBJID_EMPTY};
|
||||
|
||||
use crate::world::{Lot, LOT_NULL, Quaternion, Vector3};
|
||||
use crate::world::amf3::Amf3;
|
||||
pub use super::{EquipInventory, InventoryType, KillType, UnEquipInventory, MissionState, PetNotificationType, MoveItemInInventory, MoveInventoryBatch, SetIgnoreProjectileCollision};
|
||||
pub use super::{EquipInventory, InventoryType, KillType, UnEquipInventory, MissionState, PetNotificationType, MoveItemInInventory, MoveInventoryBatch, RemoveItemFromInventory, SetIgnoreProjectileCollision};
|
||||
use super::{GmString, GmWString};
|
||||
|
||||
#[derive(Debug, Deserialize, PartialEq, Serialize)]
|
||||
@@ -32,6 +32,7 @@ pub enum GameMessage {
|
||||
PopEquippedItemsState = 192,
|
||||
RebuildCancel(RebuildCancel) = 209,
|
||||
MoveItemInInventory(MoveItemInInventory) = 224,
|
||||
RemoveItemFromInventory(RemoveItemFromInventory) = 230,
|
||||
EquipInventory(EquipInventory) = 231,
|
||||
UnEquipInventory(UnEquipInventory) = 233,
|
||||
RespondToMission(RespondToMission) = 249,
|
||||
|
||||
BIN
src/world/gm/server/tests/RemoveItemFromInventory.bin
Normal file
BIN
src/world/gm/server/tests/RemoveItemFromInventory.bin
Normal file
Binary file not shown.
19
src/world/gm/server/tests/RemoveItemFromInventory.rs
Normal file
19
src/world/gm/server/tests/RemoveItemFromInventory.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
GameMessage::RemoveItemFromInventory(
|
||||
RemoveItemFromInventory {
|
||||
confirmed: true,
|
||||
delete_item: true,
|
||||
out_success: false,
|
||||
inv_type: InventoryType::Default,
|
||||
loot_type_source: crate::world::gm::LootType::Activity,
|
||||
extra_info: lnv! {},
|
||||
force_deletion: true,
|
||||
loot_type_source_id: 70368744177662,
|
||||
obj_id: 0,
|
||||
obj_template: 3039,
|
||||
requesting_obj_id: 70368744177662,
|
||||
stack_count: 1,
|
||||
stack_remaining: 0,
|
||||
subkey: 0,
|
||||
trade_id: 0
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user