kimi gone wild
This commit is contained in:
@@ -115,6 +115,75 @@ defmodule Odinsea.Channel.Client do
|
||||
cp_public_npc = Opcodes.cp_public_npc()
|
||||
cp_use_scripted_npc_item = Opcodes.cp_use_scripted_npc_item()
|
||||
|
||||
# Mob opcodes
|
||||
cp_move_life = Opcodes.cp_move_life()
|
||||
cp_auto_aggro = Opcodes.cp_auto_aggro()
|
||||
cp_mob_skill_delay_end = Opcodes.cp_mob_skill_delay_end()
|
||||
cp_mob_bomb = Opcodes.cp_mob_bomb()
|
||||
|
||||
# Summon opcodes
|
||||
cp_move_summon = Opcodes.cp_move_summon()
|
||||
cp_summon_attack = Opcodes.cp_summon_attack()
|
||||
cp_damage_summon = Opcodes.cp_damage_summon()
|
||||
cp_sub_summon = Opcodes.cp_sub_summon()
|
||||
cp_remove_summon = Opcodes.cp_remove_summon()
|
||||
cp_move_dragon = Opcodes.cp_move_dragon()
|
||||
|
||||
# Player operations
|
||||
cp_note_action = Opcodes.cp_note_action()
|
||||
cp_give_fame = Opcodes.cp_give_fame()
|
||||
cp_use_door = Opcodes.cp_use_door()
|
||||
cp_use_mech_door = Opcodes.cp_use_mech_door()
|
||||
cp_transform_player = Opcodes.cp_transform_player()
|
||||
cp_damage_reactor = Opcodes.cp_damage_reactor()
|
||||
cp_touch_reactor = Opcodes.cp_touch_reactor()
|
||||
cp_coconut = Opcodes.cp_coconut()
|
||||
cp_follow_request = Opcodes.cp_follow_request()
|
||||
cp_follow_reply = Opcodes.cp_follow_reply()
|
||||
cp_ring_action = Opcodes.cp_ring_action()
|
||||
cp_solomon = Opcodes.cp_solomon()
|
||||
cp_gach_exp = Opcodes.cp_gach_exp()
|
||||
cp_report = Opcodes.cp_report()
|
||||
cp_enter_pvp = Opcodes.cp_enter_pvp()
|
||||
cp_leave_pvp = Opcodes.cp_leave_pvp()
|
||||
cp_pvp_respawn = Opcodes.cp_pvp_respawn()
|
||||
cp_pvp_attack = Opcodes.cp_pvp_attack()
|
||||
|
||||
# UI opcodes
|
||||
cp_cygnus_summon = Opcodes.cp_cygnus_summon()
|
||||
cp_game_poll = Opcodes.cp_game_poll()
|
||||
cp_ship_object = Opcodes.cp_ship_object()
|
||||
|
||||
# BBS
|
||||
cp_bbs_operation = Opcodes.cp_bbs_operation()
|
||||
|
||||
# Duey
|
||||
cp_duey_action = Opcodes.cp_duey_action()
|
||||
|
||||
# Monster Carnival
|
||||
cp_monster_carnival = Opcodes.cp_monster_carnival()
|
||||
|
||||
# Alliance
|
||||
cp_alliance_operation = Opcodes.cp_alliance_operation()
|
||||
cp_deny_alliance_request = Opcodes.cp_deny_alliance_request()
|
||||
|
||||
# Item Maker / Crafting
|
||||
cp_item_maker = Opcodes.cp_item_maker()
|
||||
cp_use_recipe = Opcodes.cp_use_recipe()
|
||||
cp_make_extractor = Opcodes.cp_make_extractor()
|
||||
cp_use_bag = Opcodes.cp_use_bag()
|
||||
cp_start_harvest = Opcodes.cp_start_harvest()
|
||||
cp_stop_harvest = Opcodes.cp_stop_harvest()
|
||||
cp_profession_info = Opcodes.cp_profession_info()
|
||||
cp_craft_effect = Opcodes.cp_craft_effect()
|
||||
cp_craft_make = Opcodes.cp_craft_make()
|
||||
cp_craft_done = Opcodes.cp_craft_done()
|
||||
cp_use_pot = Opcodes.cp_use_pot()
|
||||
cp_clear_pot = Opcodes.cp_clear_pot()
|
||||
cp_feed_pot = Opcodes.cp_feed_pot()
|
||||
cp_cure_pot = Opcodes.cp_cure_pot()
|
||||
cp_reward_pot = Opcodes.cp_reward_pot()
|
||||
|
||||
case opcode do
|
||||
# Chat handlers
|
||||
^cp_general_chat ->
|
||||
@@ -277,6 +346,219 @@ defmodule Odinsea.Channel.Client do
|
||||
Handler.NPC.handle_use_scripted_npc_item(packet, self())
|
||||
state
|
||||
|
||||
# Mob handlers
|
||||
^cp_move_life ->
|
||||
Handler.Mob.handle_mob_move(packet, self())
|
||||
state
|
||||
|
||||
^cp_auto_aggro ->
|
||||
Handler.Mob.handle_auto_aggro(packet, self())
|
||||
state
|
||||
|
||||
^cp_mob_skill_delay_end ->
|
||||
Handler.Mob.handle_mob_skill_delay_end(packet, self())
|
||||
state
|
||||
|
||||
^cp_mob_bomb ->
|
||||
Handler.Mob.handle_mob_bomb(packet, self())
|
||||
state
|
||||
|
||||
# Summon handlers
|
||||
^cp_move_summon ->
|
||||
Handler.Summon.handle_move_summon(packet, self())
|
||||
state
|
||||
|
||||
^cp_summon_attack ->
|
||||
Handler.Summon.handle_summon_attack(packet, self())
|
||||
state
|
||||
|
||||
^cp_damage_summon ->
|
||||
Handler.Summon.handle_damage_summon(packet, self())
|
||||
state
|
||||
|
||||
^cp_sub_summon ->
|
||||
Handler.Summon.handle_sub_summon(packet, self())
|
||||
state
|
||||
|
||||
^cp_remove_summon ->
|
||||
Handler.Summon.handle_remove_summon(packet, self())
|
||||
state
|
||||
|
||||
^cp_move_dragon ->
|
||||
Handler.Summon.handle_move_dragon(packet, self())
|
||||
state
|
||||
|
||||
# Player handlers
|
||||
^cp_note_action ->
|
||||
Handler.Players.handle_note(packet, self())
|
||||
state
|
||||
|
||||
^cp_give_fame ->
|
||||
Handler.Players.handle_give_fame(packet, self())
|
||||
state
|
||||
|
||||
^cp_use_door ->
|
||||
Handler.Players.handle_use_door(packet, self())
|
||||
state
|
||||
|
||||
^cp_use_mech_door ->
|
||||
Handler.Players.handle_use_mech_door(packet, self())
|
||||
state
|
||||
|
||||
^cp_transform_player ->
|
||||
Handler.Players.handle_transform_player(packet, self())
|
||||
state
|
||||
|
||||
^cp_damage_reactor ->
|
||||
Handler.Players.handle_hit_reactor(packet, self())
|
||||
state
|
||||
|
||||
^cp_touch_reactor ->
|
||||
Handler.Players.handle_touch_reactor(packet, self())
|
||||
state
|
||||
|
||||
^cp_coconut ->
|
||||
Handler.Players.handle_hit_coconut(packet, self())
|
||||
state
|
||||
|
||||
^cp_follow_request ->
|
||||
Handler.Players.handle_follow_request(packet, self())
|
||||
state
|
||||
|
||||
^cp_follow_reply ->
|
||||
Handler.Players.handle_follow_reply(packet, self())
|
||||
state
|
||||
|
||||
^cp_ring_action ->
|
||||
Handler.Players.handle_ring_action(packet, self())
|
||||
state
|
||||
|
||||
^cp_solomon ->
|
||||
Handler.Players.handle_solomon(packet, self())
|
||||
state
|
||||
|
||||
^cp_gach_exp ->
|
||||
Handler.Players.handle_gach_exp(packet, self())
|
||||
state
|
||||
|
||||
^cp_report ->
|
||||
Handler.Players.handle_report(packet, self())
|
||||
state
|
||||
|
||||
^cp_enter_pvp ->
|
||||
Handler.Players.handle_enter_pvp(packet, self())
|
||||
state
|
||||
|
||||
^cp_leave_pvp ->
|
||||
Handler.Players.handle_leave_pvp(packet, self())
|
||||
state
|
||||
|
||||
^cp_pvp_respawn ->
|
||||
Handler.Players.handle_respawn_pvp(packet, self())
|
||||
state
|
||||
|
||||
^cp_pvp_attack ->
|
||||
Handler.Players.handle_attack_pvp(packet, self())
|
||||
state
|
||||
|
||||
# UI handlers
|
||||
^cp_cygnus_summon ->
|
||||
Handler.UI.handle_cygnus_summon(packet, self())
|
||||
state
|
||||
|
||||
^cp_game_poll ->
|
||||
Handler.UI.handle_game_poll(packet, self())
|
||||
state
|
||||
|
||||
^cp_ship_object ->
|
||||
Handler.UI.handle_ship_object(packet, self())
|
||||
state
|
||||
|
||||
# BBS handler
|
||||
^cp_bbs_operation ->
|
||||
Handler.BBS.handle_bbs_operation(packet, self())
|
||||
state
|
||||
|
||||
# Duey handler
|
||||
^cp_duey_action ->
|
||||
Handler.Duey.handle_duey_operation(packet, self())
|
||||
state
|
||||
|
||||
# Monster Carnival handler
|
||||
^cp_monster_carnival ->
|
||||
Handler.MonsterCarnival.handle_monster_carnival(packet, self())
|
||||
state
|
||||
|
||||
# Alliance handlers
|
||||
^cp_alliance_operation ->
|
||||
Handler.Alliance.handle_alliance(packet, self())
|
||||
state
|
||||
|
||||
^cp_deny_alliance_request ->
|
||||
Handler.Alliance.handle_deny_invite(packet, self())
|
||||
state
|
||||
|
||||
# Item Maker handlers
|
||||
^cp_item_maker ->
|
||||
Handler.ItemMaker.handle_item_maker(packet, self())
|
||||
state
|
||||
|
||||
^cp_use_recipe ->
|
||||
Handler.ItemMaker.handle_use_recipe(packet, self())
|
||||
state
|
||||
|
||||
^cp_make_extractor ->
|
||||
Handler.ItemMaker.handle_make_extractor(packet, self())
|
||||
state
|
||||
|
||||
^cp_use_bag ->
|
||||
Handler.ItemMaker.handle_use_bag(packet, self())
|
||||
state
|
||||
|
||||
^cp_start_harvest ->
|
||||
Handler.ItemMaker.handle_start_harvest(packet, self())
|
||||
state
|
||||
|
||||
^cp_stop_harvest ->
|
||||
Handler.ItemMaker.handle_stop_harvest(packet, self())
|
||||
state
|
||||
|
||||
^cp_profession_info ->
|
||||
Handler.ItemMaker.handle_profession_info(packet, self())
|
||||
state
|
||||
|
||||
^cp_craft_effect ->
|
||||
Handler.ItemMaker.handle_craft_effect(packet, self())
|
||||
state
|
||||
|
||||
^cp_craft_make ->
|
||||
Handler.ItemMaker.handle_craft_make(packet, self())
|
||||
state
|
||||
|
||||
^cp_craft_done ->
|
||||
Handler.ItemMaker.handle_craft_complete(packet, self())
|
||||
state
|
||||
|
||||
^cp_use_pot ->
|
||||
Handler.ItemMaker.handle_use_pot(packet, self())
|
||||
state
|
||||
|
||||
^cp_clear_pot ->
|
||||
Handler.ItemMaker.handle_clear_pot(packet, self())
|
||||
state
|
||||
|
||||
^cp_feed_pot ->
|
||||
Handler.ItemMaker.handle_feed_pot(packet, self())
|
||||
state
|
||||
|
||||
^cp_cure_pot ->
|
||||
Handler.ItemMaker.handle_cure_pot(packet, self())
|
||||
state
|
||||
|
||||
^cp_reward_pot ->
|
||||
Handler.ItemMaker.handle_reward_pot(packet, self())
|
||||
state
|
||||
|
||||
_ ->
|
||||
Logger.debug("Unhandled channel opcode: 0x#{Integer.to_string(opcode, 16)}")
|
||||
state
|
||||
|
||||
Reference in New Issue
Block a user