Esempio n. 1
0
	def do_09c4(self, data_io):
		#アイテム使用
		item_iid = io_unpack_int(data_io)
		target_id = io_unpack_int(data_io)
		x = io_unpack_unsigned_byte(data_io)
		y = io_unpack_unsigned_byte(data_io)
		with self.pc.lock:
			item = self.pc.item.get(item_iid)
			if not item:
				return
			event_id = item.event_id
			item_event_id = item.item_id
			item_skill_id = item.skill_id
			p = self.pc
		if target_id == -1: #対象:地面
			pass
		elif target_id != self.pc.id: #対象:単体
			p = users.get_pc_from_id(target_id)
			if not (p and p.online):
				return
		if event_id:
			script.run(p, event_id, item_event_id)
		else:
			#アイテム使用結果 #success
			self.send("09c5", self.pc, item_event_id, target_id, x, y)
			#アイテム使用効果 (対象:地面)
			self.send("09c6", self.pc, item_event_id, target_id, x, y)
			skills.use(self.pc, target_id, x, y, item_skill_id, 1)
Esempio n. 2
0
 def do_09c4(self, data_io):
     #アイテム使用
     item_iid = io_unpack_int(data_io)
     target_id = io_unpack_int(data_io)
     x = io_unpack_unsigned_byte(data_io)
     y = io_unpack_unsigned_byte(data_io)
     with self.pc.lock:
         item = self.pc.item.get(item_iid)
         if not item:
             return
         event_id = item.event_id
         item_event_id = item.item_id
         item_skill_id = item.skill_id
         p = self.pc
     if target_id == -1:  #対象:地面
         pass
     elif target_id != self.pc.id:  #対象:単体
         p = users.get_pc_from_id(target_id)
         if not (p and p.online):
             return
     if event_id:
         script.run(p, event_id, item_event_id)
     else:
         #アイテム使用結果 #success
         self.send("09c5", self.pc, item_event_id, target_id, x, y)
         #アイテム使用効果 (対象:地面)
         self.send("09c6", self.pc, item_event_id, target_id, x, y)
         skills.use(self.pc, target_id, x, y, item_skill_id, 1)
Esempio n. 3
0
	def do_1387(self, data_io):
		#スキル使用
		skill_id = io_unpack_unsigned_short(data_io)
		target_id = io_unpack_int(data_io)
		x = io_unpack_unsigned_byte(data_io)
		y = io_unpack_unsigned_byte(data_io)
		skill_lv = io_unpack_byte(data_io)
		skills.use(self.pc, target_id, x, y, skill_id, skill_lv)
Esempio n. 4
0
 def do_1387(self, data_io):
     #スキル使用
     skill_id = io_unpack_unsigned_short(data_io)
     target_id = io_unpack_int(data_io)
     x = io_unpack_unsigned_byte(data_io)
     y = io_unpack_unsigned_byte(data_io)
     skill_lv = io_unpack_byte(data_io)
     skills.use(self.pc, target_id, x, y, skill_id, skill_lv)