135 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			135 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | /* | ||
|  | 文件名:ItemClass.nut | ||
|  | 路径:BaseClass/ItemClass/ItemClass.nut | ||
|  | 创建日期:2024-04-18	15:10 | ||
|  | 文件用途:Item类 | ||
|  | */ | ||
|  | class Item extends Base_C_Object { | ||
|  |     Attribute = null; | ||
|  |     IsEmpty = false; | ||
|  |     constructor(CObject) { | ||
|  |         base.constructor(CObject); | ||
|  |         Attribute = Sq_Point2Blob(CObject, 62); | ||
|  |         if (GetIndex() == 0) IsEmpty = true; | ||
|  |     } | ||
|  | 
 | ||
|  |     function Output() { | ||
|  |         local Str = "["; | ||
|  |         foreach(Value in Attribute) { | ||
|  |             Str = format("%s%02X", Str, Value); | ||
|  |             Str += ","; | ||
|  |         } | ||
|  |         Str += "]"; | ||
|  |         print(Str); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取类型 | ||
|  |     function GetType() { | ||
|  |         Attribute.seek(1); | ||
|  |         local Type = Attribute.readn('c'); | ||
|  |         switch (Type) { | ||
|  |             case 1: | ||
|  |                 return "装备"; | ||
|  |             case 2: | ||
|  |                 return "消耗品"; | ||
|  |             case 3: | ||
|  |                 return "材料"; | ||
|  |             case 4: | ||
|  |                 return "任务材料"; | ||
|  |             case 10: | ||
|  |                 return "副职业材料"; | ||
|  |             default: | ||
|  |                 return "未知类型"; | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取编号 | ||
|  |     function GetIndex() { | ||
|  |         Attribute.seek(2); | ||
|  |         return Attribute.readn('i'); | ||
|  |     } | ||
|  |     //设置编号 | ||
|  |     function SetIndex(Index) { | ||
|  |         Attribute.seek(2); | ||
|  |         Attribute.writen(Index, 'i'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取强化等级 | ||
|  |     function GetUpgrade() { | ||
|  |         Attribute.seek(6); | ||
|  |         return Attribute.readn('c'); | ||
|  |     } | ||
|  |     //设置强化等级 | ||
|  |     function SetUpgrade(Level) { | ||
|  |         Attribute.seek(6); | ||
|  |         Attribute.writen(Level, 'c'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取 品级 或 数量 如果是装备就是品级 如果是其他就是数量 | ||
|  |     function GetAdd_Info() { | ||
|  |         Attribute.seek(7); | ||
|  |         return Attribute.readn('i'); | ||
|  |     } | ||
|  |     //设置 品级 或 数量 如果是装备就是品级 如果是其他就是数量 | ||
|  |     function SetAdd_Info(Value) { | ||
|  |         Attribute.seek(7); | ||
|  |         Attribute.writen(Value, 'i'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取耐久度 | ||
|  |     function GetDurable() { | ||
|  |         Attribute.seek(11); | ||
|  |         return Attribute.readn('c'); | ||
|  |     } | ||
|  |     //设置耐久度 | ||
|  |     function SetDurable(Value) { | ||
|  |         Attribute.seek(11); | ||
|  |         Attribute.writen(Value, 'c'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取增幅属性 | ||
|  |     function GetAmplification() { | ||
|  |         Attribute.seek(17); | ||
|  |         return Attribute.readn('w'); | ||
|  |     } | ||
|  |     //设置增幅属性 | ||
|  |     function SetAmplification(Value) { | ||
|  |         Attribute.seek(17); | ||
|  |         Attribute.writen(Value, 'w'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取锻造属性 | ||
|  |     function GetForging() { | ||
|  |         Attribute.seek(51); | ||
|  |         return Attribute.readn('c'); | ||
|  |     } | ||
|  |     //设置锻造属性 | ||
|  |     function SetForging(Value) { | ||
|  |         Attribute.seek(51); | ||
|  |         Attribute.writen(Value, 'c'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //获取附魔属性 | ||
|  |     function GetEnchanting() { | ||
|  |         Attribute.seek(13); | ||
|  |         return Attribute.readn('i'); | ||
|  |     } | ||
|  |     //设置附魔属性 | ||
|  |     function SetEnchanting(Value) { | ||
|  |         Attribute.seek(13); | ||
|  |         Attribute.writen(Value, 'i'); | ||
|  |     } | ||
|  | 
 | ||
|  |     //刷写装备数据 | ||
|  |     function Flush() { | ||
|  |         Sq_WriteBlobToAddress(C_Object, Attribute); | ||
|  |     } | ||
|  | 
 | ||
|  |     //删除道具 | ||
|  |     function Delete() { | ||
|  |         Sq_Inven_RemoveItem(C_Object); | ||
|  |         this = null; | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  | } |