1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-10 15:17:57 -05:00

Origins: make staff parts HUD show player staff and player gem

Origins: make staff parts HUD not show player staff on staff crafted
This commit is contained in:
Jbleezy
2024-01-29 07:13:42 -08:00
parent 7dddb0c7d2
commit 8e3be3783d
5 changed files with 568 additions and 0 deletions

View File

@ -62,6 +62,14 @@ register_clientfields()
setupclientfieldcodecallbacks("world", 1, "piece_record_zm_vinyl_fire");
setupclientfieldcodecallbacks("world", 1, "piece_record_zm_vinyl_lightning");
bits = getminbitcountfornum(5);
registerclientfield("world", "gem_player1", 14000, bits, "int", undefined, 0, 1);
registerclientfield("world", "gem_player2", 14000, bits, "int", undefined, 0, 1);
registerclientfield("world", "gem_player3", 14000, bits, "int", undefined, 0, 1);
registerclientfield("world", "gem_player4", 14000, bits, "int", undefined, 0, 1);
setupclientfieldcodecallbacks("world", 1, "gem_player1");
setupclientfieldcodecallbacks("world", 1, "gem_player2");
setupclientfieldcodecallbacks("world", 1, "gem_player3");
setupclientfieldcodecallbacks("world", 1, "gem_player4");
registerclientfield("world", "staff_player1", 14000, bits, "int", undefined, 0, 1);
registerclientfield("world", "staff_player2", 14000, bits, "int", undefined, 0, 1);
registerclientfield("world", "staff_player3", 14000, bits, "int", undefined, 0, 1);

View File

@ -86,6 +86,10 @@ register_clientfields()
registerclientfield("scriptmover", "bryce_cake", 14000, 2, "int", undefined, 0);
registerclientfield("scriptmover", "switch_spark", 14000, 1, "int", undefined, 0);
bits = getminbitcountfornum(5);
registerclientfield("world", "gem_player1", 14000, bits, "int", undefined, 0);
registerclientfield("world", "gem_player2", 14000, bits, "int", undefined, 0);
registerclientfield("world", "gem_player3", 14000, bits, "int", undefined, 0);
registerclientfield("world", "gem_player4", 14000, bits, "int", undefined, 0);
registerclientfield("world", "staff_player1", 14000, bits, "int", undefined, 0);
registerclientfield("world", "staff_player2", 14000, bits, "int", undefined, 0);
registerclientfield("world", "staff_player3", 14000, bits, "int", undefined, 0);
@ -652,4 +656,53 @@ track_staff_weapon_respawn_player_disconnect_monitor(player)
model = getent("craftable_" + self.base_weaponname, "targetname");
model show();
flag_set(self.base_weaponname + "_enabled");
}
onpickup_crystal(player, elementname, elementenum)
{
onpickup_common(player);
level setclientfield("piece_staff_zm_gem_" + elementname, 1);
n_player = player getentitynumber() + 1;
level setclientfield("gem_player" + n_player, elementenum);
if (flag("any_crystal_picked_up"))
self.piecestub.vox_id = undefined;
flag_set("any_crystal_picked_up");
}
clear_player_crystal(n_element)
{
if (n_element == self.crystal_id)
{
n_player = self getentitynumber() + 1;
level setclientfield("gem_player" + n_player, 0);
self.crystal_id = 0;
}
}
staff_fullycrafted(modelname, elementenum)
{
player = get_closest_player(self.origin);
staff_model = getent(modelname, "targetname");
staff_info = get_staff_info_from_element_index(elementenum);
staff_model useweaponmodel(staff_info.weapname);
staff_model showallparts();
level notify("quest_progressed", player, 0);
if (!isdefined(staff_model.inused))
{
staff_model show();
staff_model.inused = 1;
level.n_staffs_crafted++;
if (level.n_staffs_crafted == 4)
flag_set("ee_all_staffs_crafted");
}
player clear_player_crystal(elementenum);
str_fieldname = "quest_state" + elementenum;
level setclientfield(str_fieldname, 3);
return true;
}

View File

@ -29,6 +29,9 @@ main()
replaceFunc(maps\mp\zm_tomb_craftables::init_craftables, scripts\zm\replaced\zm_tomb_craftables::init_craftables);
replaceFunc(maps\mp\zm_tomb_craftables::include_craftables, scripts\zm\replaced\zm_tomb_craftables::include_craftables);
replaceFunc(maps\mp\zm_tomb_craftables::track_staff_weapon_respawn, scripts\zm\replaced\zm_tomb_craftables::track_staff_weapon_respawn);
replaceFunc(maps\mp\zm_tomb_craftables::onpickup_crystal, scripts\zm\replaced\zm_tomb_craftables::onpickup_crystal);
replaceFunc(maps\mp\zm_tomb_craftables::clear_player_crystal, scripts\zm\replaced\zm_tomb_craftables::clear_player_crystal);
replaceFunc(maps\mp\zm_tomb_craftables::staff_fullycrafted, scripts\zm\replaced\zm_tomb_craftables::staff_fullycrafted);
replaceFunc(maps\mp\zm_tomb_dig::init_shovel, scripts\zm\replaced\zm_tomb_dig::init_shovel);
replaceFunc(maps\mp\zm_tomb_dig::waittill_dug, scripts\zm\replaced\zm_tomb_dig::waittill_dug);
replaceFunc(maps\mp\zm_tomb_dig::increment_player_perk_purchase_limit, scripts\zm\replaced\zm_tomb_dig::increment_player_perk_purchase_limit);