Пример #1
0
	def do_1e7d(self, data_io):
		#DEMのフォームチェンジ
		#point pc.equip to pc.eqiup_dem or pc.equip_std before change
		#if not stable, it will back to unset all equip before change
		status = io_unpack_byte(data_io)
		if self.pc.dem_form_change(status):
			general.log("[ map ] dem form change success")
		else:
			general.log("[ map ] dem form change failed")
	
	def do_1e87(self, data_io):
		#DEMパーツ装着
		#warning: cannot unset parts on dem parts window
		iid = io_unpack_int(data_io)
		if self.pc.dem_form_status():
			self.pc.set_equip(iid)
		else:
			general.log("[ map ] set dem parts failed", self.pc)
			self.send("09e8", iid, -1, -2, 1) #アイテム装備
	
	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)

MapDataHandler.name_map = general.get_name_map(MapDataHandler.__dict__, "do_")
Пример #2
0

def do_3432(pc, target_id, x, y, skill_id, skill_lv):
    """エレメンタルレイン 指定対象周囲に4属性全ての力を持つ星の雨を発生させダメージを与える"""
    monster = get_monster(pc, target_id, x, y, skill_id, skill_lv)
    if monster is None:
        return
    start_cast(pc, target_id, x, y, skill_id, skill_lv, 1000)
    #effect not show, wrong packet(1392) or effect id?
    #script.effect(pc, 4387, target_id)
    monsters.skill_attack_monster_range(pc, monster, (7, 7), 99, skill_id,
                                        skill_lv)
    pc.set_battlestatus(1)


name_map = general.get_name_map(globals(), "do_")

#skill error
#1 MPとSPが不足しています
#2 使用する触媒が不足しています
#3 ターゲットが視認できません
#4 ターゲットが見つかりません
#5 装備中の武器ではこのスキルを使用できません
#6 指定不可能な位置が選択されました
#7 スキルを使用できない状態です
#8 他のスキルを詠唱している為キャンセルされました
#9 遠距離攻撃中の為キャンセルされました
#10 スキルを習得していません
#11 対象が行動不能状態の為ターゲットできません
#12 スキル使用条件があっていません
#13 スキルを使用できません
Пример #3
0
def do_2110(pc, target_id, x, y, skill_id, skill_lv):
	"""ブロウ 相手を武器で殴りつける"""
	monster = get_monster(pc, target_id, x, y, skill_id, skill_lv)
	if monster is None:
		return
	start_cast(pc, target_id, x, y, skill_id, skill_lv, 500)
	monsters.skill_attack_monster(pc, monster, 40, skill_id, skill_lv)
	pc.set_battlestatus(1)

def do_3250(pc, target_id, x, y, skill_id, skill_lv):
	"""飛空庭のひも"""
	usermaps.set_usermap(pc, usermaps.USERMAP_TYPE_FLYGARDEN, x, y)
	#スキル使用結果通知(対象:地面)
	pc.map_send_map("138d", pc, (), x, y, skill_id, skill_lv, (), ())

name_map = general.get_name_map(globals(), "do_")

#skill error
#1 MPとSPが不足しています 
#2 使用する触媒が不足しています 
#3 ターゲットが視認できません 
#4 ターゲットが見つかりません 
#5 装備中の武器ではこのスキルを使用できません 
#6 指定不可能な位置が選択されました 
#7 スキルを使用できない状態です 
#8 他のスキルを詠唱している為キャンセルされました 
#9 遠距離攻撃中の為キャンセルされました 
#10 スキルを習得していません 
#11 対象が行動不能状態の為ターゲットできません 
#12 スキル使用条件があっていません 
#13 スキルを使用できません 
Пример #4
0
        #DEMのフォームチェンジ
        #point pc.equip to pc.eqiup_dem or pc.equip_std before change
        #if not stable, it will back to unset all equip before change
        status = io_unpack_byte(data_io)
        if self.pc.dem_form_change(status):
            general.log("[ map ] dem form change success")
        else:
            general.log("[ map ] dem form change failed")

    def do_1e87(self, data_io):
        #DEMパーツ装着
        #warning: cannot unset parts on dem parts window
        iid = io_unpack_int(data_io)
        if self.pc.dem_form_status():
            self.pc.set_equip(iid)
        else:
            general.log("[ map ] set dem parts failed", self.pc)
            self.send("09e8", iid, -1, -2, 1)  #アイテム装備

    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)


MapDataHandler.name_map = general.get_name_map(MapDataHandler.__dict__, "do_")
Пример #5
0
	return pack_int(pc.map_obj.map_id)

def make_1bf0(pc):
	"""家具情報フッタ"""
	return pack_int(pc.map_obj.map_id)

def make_1bef(pc):
	"""家具情報データ #unfinished"""
	usermap_obj = pc.map_obj
	result = pack_int(usermap_obj.id)
	result += pack_int(0) #家具のID
	result += pack_int(0) #フィギュアの場合 モンスターIDが入ってる
	result += pack_short(rawx)
	result += pack_short(rawy) #高さ?
	result += pack_short(rawz) #奥行き
	result += pack_short(rawdir) #傾き?
	result += pack_short(motion) #モーション
	result += pack_short(y_rotate) #y軸回転?
	result += pack_short(z_rotate) #z軸回転? 
	result += pack_short(name) #名前
	return result

def make_1bf9(item_id, place):
	"""飛空庭に装飾品を装着・解除するの結果"""
	result = pack_int(item_id)
	result += pack_int(place)
	result += pack_byte(0)
	return result

name_map = general.get_name_map(globals(), "make_")