11using Daybreak . API . Interop . GuildWars ;
22using Daybreak . API . Services . Interop ;
33using Daybreak . Shared . Models . Api ;
4+ using Daybreak . Shared . Models . Guildwars ;
45using System . Extensions . Core ;
6+ using System . Text ;
57
68namespace Daybreak . API . Services ;
79
@@ -37,15 +39,15 @@ public sealed class InventoryService(
3739 return default ;
3840 }
3941
40- var itemTuples = new List < ( BagType Type , List < ( uint ModelId , string EncodedCompleteName , string EncodedSingleName , string EncodedName , int Quantity , uint [ ] Modifiers , ItemType ItemType ) > ) > ( ) ;
42+ var itemTuples = new List < ( BagType Type , List < ( uint ModelId , string EncodedCompleteName , string EncodedSingleName , string EncodedName , bool Inscribable , int Quantity , uint [ ] Modifiers , ItemType ItemType ) > ) > ( ) ;
4143 foreach ( var bag in inventory . Pointer ->Bags )
4244 {
4345 if ( bag is null )
4446 {
4547 continue ;
4648 }
4749
48- var retBag = new List < ( uint ModelId , string EncodedCompleteName , string EncodedSingleName , string EncodedName , int Quantity , uint [ ] Modifiers , ItemType ItemType ) > ( ) ;
50+ var retBag = new List < ( uint ModelId , string EncodedCompleteName , string EncodedSingleName , string EncodedName , bool Inscribable , int Quantity , uint [ ] Modifiers , ItemType ItemType ) > ( ) ;
4951 itemTuples . Add ( ( bag ->Type , retBag ) ) ;
5052 if ( bag ->ItemsCount is 0 )
5153 {
@@ -68,7 +70,7 @@ public sealed class InventoryService(
6870 modifiers [ j ] = item . Pointer ->Modifiers [ j ] . Mod ;
6971 }
7072
71- retBag . Add ( ( item . Pointer ->ModelId , completeNameEncoded , singleItemName , nameEncoded , item . Pointer ->Quantity , modifiers , item . Pointer ->Type ) ) ;
73+ retBag . Add ( ( item . Pointer ->ModelId , completeNameEncoded , singleItemName , nameEncoded , item . Pointer ->Inscribable , item . Pointer -> Quantity , modifiers , item . Pointer ->Type ) ) ;
7274 }
7375 }
7476
@@ -88,7 +90,7 @@ public sealed class InventoryService(
8890 var decodedName = await this . uIService . DecodeString ( item . EncodedName , Language . English , cancellationToken ) ;
8991 var decodedCompleteName = await this . uIService . DecodeString ( item . EncodedCompleteName , Language . English , cancellationToken ) ;
9092 var decodedSingleName = await this . uIService . DecodeString ( item . EncodedSingleName , Language . English , cancellationToken ) ;
91- return ( item . ModelId , item . EncodedName , DecodedName : decodedName , item . EncodedSingleName , DecodedSingleName : decodedSingleName , item . EncodedCompleteName , DecodedCompleteName : decodedCompleteName , item . Quantity , item . Modifiers , item . ItemType ) ;
93+ return ( item . ModelId , item . EncodedName , DecodedName : decodedName , item . EncodedSingleName , DecodedSingleName : decodedSingleName , item . EncodedCompleteName , DecodedCompleteName : decodedCompleteName , item . Inscribable , item . Quantity , item . Modifiers , item . ItemType ) ;
9294 } ) ) ;
9395 return ( tuple . Type , Items : decodedItems . ToList ( ) ) ;
9496 } ) ) ;
@@ -106,15 +108,15 @@ public sealed class InventoryService(
106108 DecodedSingleName : item . DecodedSingleName ?? string . Empty ,
107109 EncodedCompleteName : ToBase64 ( item . EncodedCompleteName ) ,
108110 DecodedCompleteName : item . DecodedCompleteName ?? string . Empty ,
111+ Inscribable : item . Inscribable ,
109112 Quantity : item . Quantity ,
110113 Modifiers : item . Modifiers ,
114+ Properties : [ .. ItemProperty . ParseItemModifiers ( [ .. item . Modifiers . Select ( m => ( Shared . Models . Guildwars . ItemModifier ) m ) ] ) ] ,
111115 ItemType : item . ItemType . ToString ( ) ) ) ] ) ) ] ) ;
112116 }
113117
114118 private static string ToBase64 ( string encoded )
115119 {
116- var bytes = new byte [ encoded . Length * sizeof ( char ) ] ;
117- Buffer . BlockCopy ( encoded . ToCharArray ( ) , 0 , bytes , 0 , bytes . Length ) ;
118- return Convert . ToBase64String ( bytes ) ;
120+ return Convert . ToBase64String ( Encoding . Unicode . GetBytes ( encoded ) ) ;
119121 }
120122}
0 commit comments