mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 15:17:57 -05:00
159 lines
9.9 KiB
Plaintext
159 lines
9.9 KiB
Plaintext
#include maps\mp\zm_alcatraz_craftables;
|
|
#include common_scripts\utility;
|
|
#include maps\mp\_utility;
|
|
#include maps\mp\zombies\_zm_utility;
|
|
#include maps\mp\zombies\_zm_weapons;
|
|
#include maps\mp\zm_alcatraz_utility;
|
|
#include maps\mp\zombies\_zm_craftables;
|
|
#include maps\mp\zombies\_zm_unitrigger;
|
|
#include maps\mp\zombies\_zm_audio;
|
|
#include maps\mp\zm_alcatraz_sq_vo;
|
|
#include maps\mp\zm_alcatraz_travel;
|
|
|
|
init_craftables()
|
|
{
|
|
precachestring( &"ZM_PRISON_KEY_DOOR" );
|
|
level.craftable_piece_count = 10;
|
|
register_clientfields();
|
|
add_zombie_craftable( "alcatraz_shield_zm", &"ZM_PRISON_CRAFT_RIOT", undefined, &"ZOMBIE_BOUGHT_RIOT", undefined, 1 );
|
|
add_zombie_craftable_vox_category( "alcatraz_shield_zm", "build_zs" );
|
|
make_zombie_craftable_open( "alcatraz_shield_zm", "t6_wpn_zmb_shield_dlc2_dmg0_world", vectorscale( ( 0, -1, 0 ), 90.0 ), ( 0, 0, level.riotshield_placement_zoffset ) );
|
|
add_zombie_craftable( "packasplat", &"ZM_PRISON_CRAFT_PACKASPLAT", undefined, undefined, ::onfullycrafted_packasplat, 1 );
|
|
add_zombie_craftable_vox_category( "packasplat", "build_bsm" );
|
|
make_zombie_craftable_open( "packasplat", "p6_anim_zm_al_packasplat", vectorscale( ( 0, -1, 0 ), 90.0 ) );
|
|
level.craftable_piece_swap_allowed = 0;
|
|
add_zombie_craftable( "quest_key1" );
|
|
add_zombie_craftable( "plane", &"ZM_PRISON_CRAFT_PLANE", &"ZM_PRISON_CRAFTING_PLANE", undefined, ::onfullycrafted_plane, 1 );
|
|
add_zombie_craftable( "refuelable_plane", &"ZM_PRISON_REFUEL_PLANE", &"ZM_PRISON_REFUELING_PLANE", undefined, ::onfullycrafted_refueled, 1 );
|
|
in_game_checklist_setup();
|
|
}
|
|
|
|
include_craftables()
|
|
{
|
|
level.zombie_include_craftables["open_table"].custom_craftablestub_update_prompt = ::prison_open_craftablestub_update_prompt;
|
|
craftable_name = "packasplat";
|
|
packasplat_case = generate_zombie_craftable_piece( craftable_name, "case", "p6_zm_al_packasplat_suitcase", 48, 36, 0, undefined, ::onpickup_common, ::ondrop_common, undefined, undefined, undefined, undefined, "piece_packasplat_case", 1, "build_bsm" );
|
|
packasplat_fuse = generate_zombie_craftable_piece( craftable_name, "fuse", "p6_zm_al_packasplat_engine", 32, 36, 0, undefined, ::onpickup_common, ::ondrop_common, undefined, undefined, undefined, undefined, "piece_packasplat_fuse", 1, "build_bsm" );
|
|
packasplat_blood = generate_zombie_craftable_piece( craftable_name, "blood", "p6_zm_al_packasplat_iv", 32, 15, 0, undefined, ::onpickup_common, ::ondrop_common, undefined, undefined, undefined, undefined, "piece_packasplat_blood", 1, "build_bsm" );
|
|
packasplat = spawnstruct();
|
|
packasplat.name = craftable_name;
|
|
packasplat add_craftable_piece( packasplat_case );
|
|
packasplat add_craftable_piece( packasplat_fuse );
|
|
packasplat add_craftable_piece( packasplat_blood );
|
|
packasplat.triggerthink = ::packasplatcraftable;
|
|
include_craftable( packasplat );
|
|
craftable_name = "alcatraz_shield_zm";
|
|
riotshield_dolly = generate_zombie_craftable_piece( craftable_name, "dolly", "t6_wpn_zmb_shield_dlc2_dolly", 32, 64, 0, undefined, ::onpickup_common, ::ondrop_common, undefined, undefined, undefined, undefined, "piece_riotshield_dolly", 1, "build_zs" );
|
|
riotshield_door = generate_zombie_craftable_piece( craftable_name, "door", "t6_wpn_zmb_shield_dlc2_door", 48, 15, 25, undefined, ::onpickup_common, ::ondrop_common, undefined, undefined, undefined, undefined, "piece_riotshield_door", 1, "build_zs" );
|
|
riotshield_clamp = generate_zombie_craftable_piece( craftable_name, "clamp", "t6_wpn_zmb_shield_dlc2_shackles", 32, 15, 0, undefined, ::onpickup_common, ::ondrop_common, undefined, undefined, undefined, undefined, "piece_riotshield_clamp", 1, "build_zs" );
|
|
riotshield = spawnstruct();
|
|
riotshield.name = craftable_name;
|
|
riotshield add_craftable_piece( riotshield_dolly );
|
|
riotshield add_craftable_piece( riotshield_door );
|
|
riotshield add_craftable_piece( riotshield_clamp );
|
|
riotshield.onbuyweapon = ::onbuyweapon_riotshield;
|
|
riotshield.triggerthink = ::riotshieldcraftable;
|
|
include_craftable( riotshield );
|
|
include_key_craftable( "quest_key1", "p6_zm_al_key" );
|
|
craftable_name = "plane";
|
|
plane_cloth = generate_zombie_craftable_piece( craftable_name, "cloth", "p6_zm_al_clothes_pile_lrg", 48, 15, 0, undefined, ::onpickup_plane, ::ondrop_plane, ::oncrafted_plane, undefined, "tag_origin", undefined, 1 );
|
|
plane_fueltanks = generate_zombie_craftable_piece( craftable_name, "fueltanks", "veh_t6_dlc_zombie_part_fuel", 32, 15, 0, undefined, ::onpickup_plane, ::ondrop_plane, ::oncrafted_plane, undefined, "tag_feul_tanks", undefined, 2 );
|
|
plane_engine = generate_zombie_craftable_piece( craftable_name, "engine", "veh_t6_dlc_zombie_part_engine", 32, 62, 0, undefined, ::onpickup_plane, ::ondrop_plane, ::oncrafted_plane, undefined, "tag_origin", undefined, 3 );
|
|
plane_steering = generate_zombie_craftable_piece( craftable_name, "steering", "veh_t6_dlc_zombie_part_control", 32, 15, 0, undefined, ::onpickup_plane, ::ondrop_plane, ::oncrafted_plane, undefined, "tag_control_mechanism", undefined, 4 );
|
|
plane_rigging = generate_zombie_craftable_piece( craftable_name, "rigging", "veh_t6_dlc_zombie_part_rigging", 32, 15, 0, undefined, ::onpickup_plane, ::ondrop_plane, ::oncrafted_plane, undefined, "tag_origin", undefined, 5 );
|
|
|
|
plane_cloth.is_shared = 1;
|
|
plane_fueltanks.is_shared = 1;
|
|
plane_engine.is_shared = 1;
|
|
plane_steering.is_shared = 1;
|
|
plane_rigging.is_shared = 1;
|
|
plane_cloth.client_field_state = undefined;
|
|
plane_fueltanks.client_field_state = undefined;
|
|
plane_engine.client_field_state = undefined;
|
|
plane_steering.client_field_state = undefined;
|
|
plane_rigging.client_field_state = undefined;
|
|
|
|
plane_cloth.pickup_alias = "sidequest_sheets";
|
|
plane_fueltanks.pickup_alias = "sidequest_oxygen";
|
|
plane_engine.pickup_alias = "sidequest_engine";
|
|
plane_steering.pickup_alias = "sidequest_valves";
|
|
plane_rigging.pickup_alias = "sidequest_rigging";
|
|
plane = spawnstruct();
|
|
plane.name = craftable_name;
|
|
plane add_craftable_piece( plane_cloth );
|
|
plane add_craftable_piece( plane_engine );
|
|
plane add_craftable_piece( plane_fueltanks );
|
|
plane add_craftable_piece( plane_steering );
|
|
plane add_craftable_piece( plane_rigging );
|
|
plane.triggerthink = ::planecraftable;
|
|
plane.custom_craftablestub_update_prompt = ::prison_plane_update_prompt;
|
|
include_craftable( plane );
|
|
craftable_name = "refuelable_plane";
|
|
refuelable_plane_gas1 = generate_zombie_craftable_piece( craftable_name, "fuel1", "accessories_gas_canister_1", 32, 15, 0, undefined, ::onpickup_fuel, ::ondrop_fuel, ::oncrafted_fuel, undefined, undefined, undefined, 6 );
|
|
refuelable_plane_gas2 = generate_zombie_craftable_piece( craftable_name, "fuel2", "accessories_gas_canister_1", 32, 15, 0, undefined, ::onpickup_fuel, ::ondrop_fuel, ::oncrafted_fuel, undefined, undefined, undefined, 7 );
|
|
refuelable_plane_gas3 = generate_zombie_craftable_piece( craftable_name, "fuel3", "accessories_gas_canister_1", 32, 15, 0, undefined, ::onpickup_fuel, ::ondrop_fuel, ::oncrafted_fuel, undefined, undefined, undefined, 8 );
|
|
refuelable_plane_gas4 = generate_zombie_craftable_piece( craftable_name, "fuel4", "accessories_gas_canister_1", 32, 15, 0, undefined, ::onpickup_fuel, ::ondrop_fuel, ::oncrafted_fuel, undefined, undefined, undefined, 9 );
|
|
refuelable_plane_gas5 = generate_zombie_craftable_piece( craftable_name, "fuel5", "accessories_gas_canister_1", 32, 15, 0, undefined, ::onpickup_fuel, ::ondrop_fuel, ::oncrafted_fuel, undefined, undefined, undefined, 10 );
|
|
|
|
refuelable_plane_gas1.is_shared = 1;
|
|
refuelable_plane_gas2.is_shared = 1;
|
|
refuelable_plane_gas3.is_shared = 1;
|
|
refuelable_plane_gas4.is_shared = 1;
|
|
refuelable_plane_gas5.is_shared = 1;
|
|
refuelable_plane_gas1.client_field_state = undefined;
|
|
refuelable_plane_gas2.client_field_state = undefined;
|
|
refuelable_plane_gas3.client_field_state = undefined;
|
|
refuelable_plane_gas4.client_field_state = undefined;
|
|
refuelable_plane_gas5.client_field_state = undefined;
|
|
|
|
refuelable_plane = spawnstruct();
|
|
refuelable_plane.name = craftable_name;
|
|
refuelable_plane add_craftable_piece( refuelable_plane_gas1 );
|
|
refuelable_plane add_craftable_piece( refuelable_plane_gas2 );
|
|
refuelable_plane add_craftable_piece( refuelable_plane_gas3 );
|
|
refuelable_plane add_craftable_piece( refuelable_plane_gas4 );
|
|
refuelable_plane add_craftable_piece( refuelable_plane_gas5 );
|
|
refuelable_plane.triggerthink = ::planefuelable;
|
|
plane.custom_craftablestub_update_prompt = ::prison_plane_update_prompt;
|
|
include_craftable( refuelable_plane );
|
|
}
|
|
|
|
include_key_craftable( craftable_name, model_name )
|
|
{
|
|
part_key = generate_zombie_craftable_piece( craftable_name, undefined, model_name, 32, 15, 0, undefined, ::onpickup_key, undefined, undefined, undefined, undefined, undefined, undefined, 1 );
|
|
part = spawnstruct();
|
|
part.name = craftable_name;
|
|
part add_craftable_piece( part_key );
|
|
part.triggerthink = maps\mp\zombies\_zm_craftables::setup_craftable_pieces;
|
|
include_craftable( part );
|
|
}
|
|
|
|
onpickup_key( player )
|
|
{
|
|
flag_set( "key_found" );
|
|
|
|
if ( level.is_master_key_west )
|
|
level clientnotify( "fxanim_west_pulley_up_start" );
|
|
else
|
|
level clientnotify( "fxanim_east_pulley_up_start" );
|
|
|
|
a_m_checklist = getentarray( "plane_checklist", "targetname" );
|
|
|
|
foreach ( m_checklist in a_m_checklist )
|
|
{
|
|
m_checklist showpart( "j_check_key" );
|
|
m_checklist showpart( "j_strike_key" );
|
|
}
|
|
|
|
a_door_structs = getstructarray( "quest_trigger", "script_noteworthy" );
|
|
|
|
foreach ( struct in a_door_structs )
|
|
{
|
|
if ( isdefined( struct.unitrigger_stub ) )
|
|
struct.unitrigger_stub maps\mp\zombies\_zm_unitrigger::run_visibility_function_for_all_triggers();
|
|
}
|
|
|
|
player playsound( "evt_key_pickup" );
|
|
player thread do_player_general_vox( "quest", "sidequest_key_response", undefined, 100 );
|
|
//level setclientfield( "piece_key_warden", 1 );
|
|
} |