3 Commits

Author SHA1 Message Date
GreenComfyTea
5e43efb907 flag_cat_skill_insurance comment 2022-11-24 13:05:30 +02:00
GreenComfyTea
d99879bd75 Change Player Cart Hook 2022-11-24 12:58:59 +02:00
GreenComfyTea
45aab796de Map TU3 monster part names
- Chaotic Gore Magala
- Risen Kushala Daora
- Risen Teostra
2022-11-24 11:41:53 +02:00
2 changed files with 51 additions and 36 deletions

View File

@@ -34,9 +34,7 @@ local stock_mystery_core_break_damage_type_def = sdk.find_type_definition("snow.
local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager");
local not_host_cart_method = quest_manager_type_def:get_method("netRecvForfeit");
local host_cart_method = quest_manager_type_def:get_method("netSendForfeit");
local offline_cart_method = quest_manager_type_def:get_method("notifyDeath");
local quest_forfeit_method = quest_manager_type_def:get_method("questForfeit");
local packet_quest_forfeit_type_def = sdk.find_type_definition("snow.QuestManager.PacketQuestForfeit");
local dead_player_id_field = packet_quest_forfeit_type_def:get_field("_DeadPlIndex");
@@ -194,28 +192,15 @@ end
--end
-- Coavins code
function damage_hook.cart(type, args)
if not quest_status.is_online then --We reach here with notifyDeath when player is offline
player.myself.cart_count = player.myself.cart_count + 1;
function damage_hook.cart(dead_player_id, flag_cat_skill_insurance)
-- flag_cat_skill_insurance = 0
-- flag_cat_skill_insurance = 1
local player_ = player.list[dead_player_id];
if player_ == nil then
return;
end
if player.myself.id == 0 then -- If player is host, netSendForfeit is always correct
if type == "host" then
local player_id = sdk.to_int64(args[3]);
player.list[player_id].cart_count = player.list[player_id].cart_count + 1;
end
else
if type == "not host" then
local packet_quest_forfeit = sdk.to_managed_object(args[3]);
local player_id = dead_player_id_field:get_data(packet_quest_forfeit);
local is_from_host = is_from_host_field:get_data(packet_quest_forfeit)
if is_from_host then -- Data is sent twice, 1 from host and 1 from dead player. Check if from host to only add 1
player.list[player_id].cart_count = player.list[player_id].cart_count + 1;
end
end
end
player_.cart_count = player_.cart_count + 1;
end
--function damage_hook.on_get_finish_shoot_wall_hit_damage_rate(enemy, rate, is_part_damage)
@@ -246,20 +231,8 @@ function damage_hook.init_module()
return retval;
end);
sdk.hook(not_host_cart_method, function(args)
pcall(damage_hook.cart, "not host", args);
end, function(retval)
return retval;
end);
sdk.hook(host_cart_method, function(args)
pcall(damage_hook.cart, "host", args);
end, function(retval)
return retval;
end);
sdk.hook(offline_cart_method, function(args)
pcall(damage_hook.cart, "offline", args);
sdk.hook(quest_forfeit_method, function(args)
pcall(damage_hook.cart, sdk.to_int64(args[3]), (sdk.to_int64(args[4]) & 0xFFFFFFFF));
end, function(retval)
return retval;
end);

View File

@@ -777,6 +777,48 @@ function part_names.init()
language.current_language.parts.right_hind_leg,
language.current_language.parts.tail,
language.current_language.parts.wings
},
--SUNBREAK TITLE UPDATE 3
[1351] = -- Chaotic Gore Magala 1351
{
language.current_language.parts.head,
language.current_language.parts.torso,
language.current_language.parts.wings,
language.current_language.parts.wingclaws,
language.current_language.parts.forelegs,
language.current_language.parts.hind_legs,
language.current_language.parts.tail,
language.current_language.parts.antenna
},
[2072] = -- Risen Kushala Daora 2072
{
language.current_language.parts.head,
language.current_language.parts.back,
language.current_language.parts.left_leg,
language.current_language.parts.right_leg,
language.current_language.parts.wings,
language.current_language.parts.tail
},
[2075] = -- Risen Teostra 2075
{
language.current_language.parts.head,
language.current_language.parts.body,
language.current_language.parts.forelegs,
language.current_language.parts.hind_legs,
language.current_language.parts.wings,
language.current_language.parts.tail
}
};
end