diff --git a/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_CarryInjured.asi b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_CarryInjured.asi index f9193a36..4eaa486a 100755 --- a/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_CarryInjured.asi +++ b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_CarryInjured.asi @@ -1,4 +1,4 @@ -AnimSetInstanceSource { +AnimSetInstanceSource "{613764EA923CF6C4}" { Template "{7F633C1C12A72901}Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled_Template.ast" Lines { AnimSetInstanceSource_Line "Vehicle.CoDriver.Idle" { diff --git a/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi new file mode 100644 index 00000000..01e7cb07 --- /dev/null +++ b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi @@ -0,0 +1,97 @@ +AnimSetInstanceSource "{6136A0C37DBB6595}" { + Template "{7F633C1C12A72901}Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled_Template.ast" + Lines { + AnimSetInstanceSource_Line "Vehicle.CoDriver.Idle" { + Resource "{C86BDABCDBE56196}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.Driver.Idle" { + Resource "{C86BDABCDBE56196}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.Gunner.Idle" { + Resource "{C86BDABCDBE56196}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerL.Idle" { + Resource "{C86BDABCDBE56196}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerR.Idle" { + Resource "{C86BDABCDBE56196}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.UniqueSeat.Idle" { + Resource "{C86BDABCDBE56196}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.CoDriver.UnconsciousIdle" { + Resource "{13DFE41BA3B966C9}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.Driver.UnconsciousIdle" { + Resource "{13DFE41BA3B966C9}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.Gunner.UnconsciousIdle" { + Resource "{13DFE41BA3B966C9}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerL.UnconsciousIdle" { + Resource "{13DFE41BA3B966C9}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerR.UnconsciousIdle" { + Resource "{13DFE41BA3B966C9}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.UniqueSeat.UnconsciousIdle" { + Resource "{13DFE41BA3B966C9}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_loop.anm" + } + AnimSetInstanceSource_Line "Vehicle.CoDriver.UnconsciousIn" { + Resource "{74B1CC58CFA02178}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_in.anm" + } + AnimSetInstanceSource_Line "Vehicle.Driver.UnconsciousIn" { + Resource "{74B1CC58CFA02178}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_in.anm" + } + AnimSetInstanceSource_Line "Vehicle.Gunner.UnconsciousIn" { + Resource "{74B1CC58CFA02178}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_in.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerL.UnconsciousIn" { + Resource "{74B1CC58CFA02178}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_in.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerR.UnconsciousIn" { + Resource "{74B1CC58CFA02178}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_in.anm" + } + AnimSetInstanceSource_Line "Vehicle.UniqueSeat.UnconsciousIn" { + Resource "{74B1CC58CFA02178}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_in.anm" + } + AnimSetInstanceSource_Line "Vehicle.CoDriver.UnconsciousOut" { + Resource "{0CEDDDC58B74041F}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_out.anm" + } + AnimSetInstanceSource_Line "Vehicle.Driver.UnconsciousOut" { + Resource "{0CEDDDC58B74041F}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_out.anm" + } + AnimSetInstanceSource_Line "Vehicle.Gunner.UnconsciousOut" { + Resource "{0CEDDDC58B74041F}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_out.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerL.UnconsciousOut" { + Resource "{0CEDDDC58B74041F}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_out.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerR.UnconsciousOut" { + Resource "{0CEDDDC58B74041F}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_out.anm" + } + AnimSetInstanceSource_Line "Vehicle.UniqueSeat.UnconsciousOut" { + Resource "{0CEDDDC58B74041F}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_unconscious_out.anm" + } + AnimSetInstanceSource_Line "Vehicle.CoDriver.Death" { + Resource "{2A948FDF4AD9B65E}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_death_idle.anm" + } + AnimSetInstanceSource_Line "Vehicle.Driver.Death" { + Resource "{2A948FDF4AD9B65E}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_death_idle.anm" + } + AnimSetInstanceSource_Line "Vehicle.Gunner.Death" { + Resource "{2A948FDF4AD9B65E}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_death_idle.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerL.Death" { + Resource "{2A948FDF4AD9B65E}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_death_idle.anm" + } + AnimSetInstanceSource_Line "Vehicle.PassengerR.Death" { + Resource "{2A948FDF4AD9B65E}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_death_idle.anm" + } + AnimSetInstanceSource_Line "Vehicle.UniqueSeat.Death" { + Resource "{2A948FDF4AD9B65E}anims/anm/player/vehicles/Ambulances/anm/p_ambulance_patient_death_idle.anm" + } + } + RBF AnimSetInstanceSourceRBFArray "{5DC3656B0EF64C8C}" { + } +} \ No newline at end of file diff --git a/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi.meta b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi.meta new file mode 100644 index 00000000..b1a7d2b9 --- /dev/null +++ b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3DB68DDD9D578EB6}Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi" + Configurations { + AnimSetInstanceResourceClass PC { + } + AnimSetInstanceResourceClass XBOX_ONE : PC { + } + AnimSetInstanceResourceClass XBOX_SERIES : PC { + } + AnimSetInstanceResourceClass PS4 : PC { + } + AnimSetInstanceResourceClass HEADLESS : PC { + } + AnimSetInstanceResourceClass PS5 : PC { + } + } +} \ No newline at end of file diff --git a/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled.aw b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled.aw index 0fbe5f54..8a2d5e30 100755 --- a/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled.aw +++ b/addons/carrying/Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled.aw @@ -14,6 +14,7 @@ BaseSource { "{C1CCA4C15DEF005F}Assets/Vehicles/Wheeled/workspaces/Player_Wheeled_M998.asi" "{741E6D13EB6C6205}Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled_M998.asi" "{B241F1D8F215C583}Assets/Vehicles/Wheeled/workspaces/Player_CarryInjured.asi" + "{3DB68DDD9D578EB6}Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi" } AnimGraph "{66618A6A119CAD93}Assets/Vehicles/Wheeled/workspaces/Vehicles_Wheeled_Graph.agr" PreviewModels { diff --git a/addons/carrying/Language/ACE_Carrying_localization.cs_cz.conf b/addons/carrying/Language/ACE_Carrying_localization.cs_cz.conf index 6ac49dcd..dc875ad8 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.cs_cz.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.cs_cz.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Nést" "Nošení" + "Place casualty" "Položit" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.de_de.conf b/addons/carrying/Language/ACE_Carrying_localization.de_de.conf index d6891178..a6de9cb1 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.de_de.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.de_de.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Tragen" "Am Tragen" + "Place casualty" "Ablegen" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.en_us.conf b/addons/carrying/Language/ACE_Carrying_localization.en_us.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.en_us.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.en_us.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.es_es.conf b/addons/carrying/Language/ACE_Carrying_localization.es_es.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.es_es.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.es_es.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.fr_fr.conf b/addons/carrying/Language/ACE_Carrying_localization.fr_fr.conf index c5ec330c..bb672ed9 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.fr_fr.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.fr_fr.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Porter" "Porter" + "Place casualty" "Déposer" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.it_it.conf b/addons/carrying/Language/ACE_Carrying_localization.it_it.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.it_it.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.it_it.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.ja_jp.conf b/addons/carrying/Language/ACE_Carrying_localization.ja_jp.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.ja_jp.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.ja_jp.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.ko_kr.conf b/addons/carrying/Language/ACE_Carrying_localization.ko_kr.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.ko_kr.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.ko_kr.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.pl_pl.conf b/addons/carrying/Language/ACE_Carrying_localization.pl_pl.conf index 3a6c4917..35d786d7 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.pl_pl.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.pl_pl.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" - "Carry" - "Carrying" - "Release" + "Podnieś" + "Noszenie" + "Połóż rannego" + "Połóż" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.pt_br.conf b/addons/carrying/Language/ACE_Carrying_localization.pt_br.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.pt_br.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.pt_br.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.ru_ru.conf b/addons/carrying/Language/ACE_Carrying_localization.ru_ru.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.ru_ru.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.ru_ru.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.st b/addons/carrying/Language/ACE_Carrying_localization.st index 171b19de..4ef33eed 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.st +++ b/addons/carrying/Language/ACE_Carrying_localization.st @@ -4,9 +4,9 @@ StringTable { CustomStringTableItem "{5DDEFB516A0DA608}" { Id "ACE_Carrying-AddonName" Target_en_us "ACE - Carrying" - Modified 1578023399 + Modified 1630934708 Author "kexanone" - LastChanged "kexanone" + LastChanged "veteran29" } CustomStringTableItem "{5DDEFB51C773DDD9}" { Id "ACE_Carrying-UserAction_Carry" @@ -14,9 +14,10 @@ StringTable { Target_fr_fr "Porter" Target_de_de "Tragen" Target_cs_cz "Nést" - Modified 1574895272 + Target_pl_pl "Podnieś" + Modified 1630934696 Author "kexanone" - LastChanged "apollo-jk" + LastChanged "veteran29" } CustomStringTableItem "{5E0C2A71118B03B7}" { Id "ACE_Carrying-UserAction_Carrying" @@ -24,9 +25,18 @@ StringTable { Target_fr_fr "Porter" Target_de_de "Am Tragen" Target_cs_cz "Nošení" - Modified 1577870149 + Target_pl_pl "Noszenie" + Modified 1630934692 Author "kexanone" - LastChanged "apollo-jk" + LastChanged "veteran29" + } + CustomStringTableItem "{613521B70C031A0D}" { + Id "ACE_Carrying-UserAction_PlaceCasualty" + Target_en_us "Place casualty" + Target_pl_pl "Połóż rannego" + Modified 1630934649 + Author "veteran29" + LastChanged "veteran29" } CustomStringTableItem "{5E0EB8A9BCC4201E}" { Id "ACE_Carrying-UserAction_Release" @@ -34,9 +44,10 @@ StringTable { Target_fr_fr "Déposer" Target_de_de "Ablegen" Target_cs_cz "Položit" - Modified 1578028452 + Target_pl_pl "Połóż" + Modified 1630934677 Author "kexanone" - LastChanged "apollo-jk" + LastChanged "filip" } } } \ No newline at end of file diff --git a/addons/carrying/Language/ACE_Carrying_localization.zh_cn.conf b/addons/carrying/Language/ACE_Carrying_localization.zh_cn.conf index 3a6c4917..d93ad2c3 100755 --- a/addons/carrying/Language/ACE_Carrying_localization.zh_cn.conf +++ b/addons/carrying/Language/ACE_Carrying_localization.zh_cn.conf @@ -1,16 +1,16 @@ StringTableRuntime { Ids { "ACE_Carrying-AddonName" - "ACE_Carrying-UserAction_AddCasualty" "ACE_Carrying-UserAction_Carry" "ACE_Carrying-UserAction_Carrying" + "ACE_Carrying-UserAction_PlaceCasualty" "ACE_Carrying-UserAction_Release" } Texts { "ACE - Carrying" - "Add Casualty" "Carry" "Carrying" + "Place casualty" "Release" } } \ No newline at end of file diff --git a/addons/carrying/Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et b/addons/carrying/Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et new file mode 100644 index 00000000..0986d08d --- /dev/null +++ b/addons/carrying/Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et @@ -0,0 +1,10 @@ +ACE_Carrying_StrecherHelperCompartment : "{FF78613C1DAFF28F}Prefabs/Helpers/ACE_Carrying_HelperCompartment.et" { + ID "4B42E71698F5739C" + components { + VehicleAnimationComponent "{50B812962B17E60B}" { + AnimInjection AnimationAttachmentInfo "{50B812961A339FD2}" { + AnimInstance "{3DB68DDD9D578EB6}Assets/Vehicles/Wheeled/workspaces/Player_StrecherInjured.asi" + } + } + } +} \ No newline at end of file diff --git a/addons/carrying/Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et.meta b/addons/carrying/Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et.meta new file mode 100644 index 00000000..0724f08b --- /dev/null +++ b/addons/carrying/Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{F9861A601F934DE7}Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et" + Configurations { + EntityTemplateResourceClass PC { + } + EntityTemplateResourceClass XBOX_ONE : PC { + } + EntityTemplateResourceClass XBOX_SERIES : PC { + } + EntityTemplateResourceClass PS4 : PC { + } + EntityTemplateResourceClass PS5 : PC { + } + EntityTemplateResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et new file mode 100644 index 00000000..b7cb52ca --- /dev/null +++ b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et @@ -0,0 +1,31 @@ +StaticModelEntity : "{5EC6836A5694F691}Prefabs/Props/Military/Furniture/FurnitureMilitary_base.et" { + ID "5272E314F01B2DBE" + components { + ActionsManagerComponent "{6134DC9906AC249B}" { + ActionContexts { + UserActionContext "{6134DC99055BF0FB}" { + ContextName "default" + Position PointInfo "{6134DC991F3E2EC8}" { + Offset 0 0.54 0 + } + Radius 0.5 + } + } + additionalActions { + ACE_Carrying_PlaceOnEntityUserAction "{6134DC992974CC40}" { + ParentContextList { + "default" + } + UIInfo UIInfo "{6134DC99F2B42E43}" { + Name "#ACE_Carrying-UserAction_PlaceCasualty" + } + Duration 0.5 + m_ACE_Carrying_PointInfo PointInfo "{6135218E4CEE71C6}" { + Offset 0 1.11 0.052 + Angles 0 -90 0 + } + } + } + } + } +} \ No newline at end of file diff --git a/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et.meta b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et.meta new file mode 100644 index 00000000..995c8746 --- /dev/null +++ b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{C6BFE324CCCFE6C4}Prefabs/Props/Military/Furniture/CotMilitary_USSR_01.et" + Configurations { + EntityTemplateResourceClass PC { + } + EntityTemplateResourceClass XBOX_ONE : PC { + } + EntityTemplateResourceClass XBOX_SERIES : PC { + } + EntityTemplateResourceClass PS4 : PC { + } + EntityTemplateResourceClass PS5 : PC { + } + EntityTemplateResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_US_01.et b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_US_01.et new file mode 100644 index 00000000..22dac1d6 --- /dev/null +++ b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_US_01.et @@ -0,0 +1,31 @@ +StaticModelEntity : "{5EC6836A5694F691}Prefabs/Props/Military/Furniture/FurnitureMilitary_base.et" { + ID "5272E314F01B2DBE" + components { + ActionsManagerComponent "{6134DCAE01DF536B}" { + ActionContexts { + UserActionContext "{6134DCAE233104A3}" { + ContextName "default" + Position PointInfo "{6134DCA0AF4EA371}" { + Offset 0 0.54 0 + } + Radius 0.5 + } + } + additionalActions { + ACE_Carrying_PlaceOnEntityUserAction "{6134DCA7B8CBA475}" { + ParentContextList { + "default" + } + UIInfo UIInfo "{6134DC99E11D6BEC}" { + Name "#ACE_Carrying-UserAction_PlaceCasualty" + } + Duration 0.5 + m_ACE_Carrying_PointInfo PointInfo "{613521899ADD7A0F}" { + Offset 0 1 0.052 + Angles 0 -90 0 + } + } + } + } + } +} \ No newline at end of file diff --git a/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_US_01.et.meta b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_US_01.et.meta new file mode 100644 index 00000000..d8a04834 --- /dev/null +++ b/addons/carrying/Prefabs/Props/Military/Furniture/CotMilitary_US_01.et.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{C9CFDED29542A968}Prefabs/Props/Military/Furniture/CotMilitary_US_01.et" + Configurations { + EntityTemplateResourceClass PC { + } + EntityTemplateResourceClass XBOX_ONE : PC { + } + EntityTemplateResourceClass XBOX_SERIES : PC { + } + EntityTemplateResourceClass PS4 : PC { + } + EntityTemplateResourceClass PS5 : PC { + } + EntityTemplateResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_HelperCompartment.c b/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_HelperCompartment.c index 4b6ad9b8..759c7367 100644 --- a/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_HelperCompartment.c +++ b/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_HelperCompartment.c @@ -56,6 +56,9 @@ class ACE_Carrying_HelperCompartment : GenericEntity if (!compartmentAccess) return; + // Clean-up when carried has left the comparment + compartmentAccess.GetOnCompartmentLeft().Insert(OnCompartmentLeft); + compartmentAccess.MoveInVehicle(this, ECompartmentType.Cargo); } @@ -142,9 +145,6 @@ class ACE_Carrying_HelperCompartment : GenericEntity if (!compartmentAccess) return; - // Clean-up when carried has left the comparment - compartmentAccess.GetOnCompartmentLeft().Insert(OnCompartmentLeft); - vector target_pos; vector target_transform[4]; m_pCarrier.GetWorldTransform(target_transform); @@ -158,11 +158,15 @@ class ACE_Carrying_HelperCompartment : GenericEntity if (carriedRpl) carriedRpl.ForceNodeMovement(GetOrigin()); } + //------------------------------------------------------------------------------------------------ //! Clean-up when the carried player has left the compartment - protected void OnCompartmentLeft() + protected void OnCompartmentLeft(IEntity compartment) { + if (compartment != this) + return; + RplId carriedId = RplId.Invalid(); if (m_pCarried) @@ -217,4 +221,11 @@ class ACE_Carrying_HelperCompartment : GenericEntity { return m_pCarried; } -} + + //------------------------------------------------------------------------------------------------ + //! Returns the carried unit + bool IsCarrierPlayer() + { + return m_pCarrier.Type() == ChimeraCharacter; + } +} \ No newline at end of file diff --git a/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_StrecherHelperCompartment.c b/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_StrecherHelperCompartment.c new file mode 100644 index 00000000..ebb90ebf --- /dev/null +++ b/addons/carrying/Scripts/Game/ACE_Carrying/Entities/ACE_Carrying_StrecherHelperCompartment.c @@ -0,0 +1,49 @@ +//------------------------------------------------------------------------------------------------ +class ACE_Carrying_StrecherHelperCompartmentClass : ACE_Carrying_HelperCompartmentClass +{ +} + +//------------------------------------------------------------------------------------------------ +class ACE_Carrying_StrecherHelperCompartment : ACE_Carrying_HelperCompartment +{ + //------------------------------------------------------------------------------------------------ + override void Init(IEntity carrier, IEntity carried) + { + m_pCarrier = carrier; + m_pCarried = carried; + + carrier.AddChild(this, -1); + + RplComponent rpl = RplComponent.Cast(FindComponent(RplComponent)); + if (!rpl) + return; + + SCR_CharacterControllerComponent carriedController = SCR_CharacterControllerComponent.Cast(carried.FindComponent(SCR_CharacterControllerComponent)); + if (!carriedController) + return; + + carriedController.m_OnLifeStateChanged.Insert(OnCarriedLifeStateChanged); + + SCR_CompartmentAccessComponent compartmentAccess = SCR_CompartmentAccessComponent.Cast(carried.FindComponent(SCR_CompartmentAccessComponent)); + if (!compartmentAccess) + return; + + // Clean-up when carried has left the comparment + compartmentAccess.GetOnCompartmentLeft().Insert(OnCompartmentLeft); + + compartmentAccess.MoveInVehicle(this, ECompartmentType.Cargo); + + } + + override void RpcDo_Owner_CleanUp(RplId carriedId) + { + // nothing to cleanup + } + + void SetTransformPoint(notnull PointInfo transformPoint) + { + vector transform[4]; + transformPoint.GetLocalTransform(transform); + SetLocalTransform(transform); + } +} diff --git a/addons/carrying/Scripts/Game/ACE_Carrying/Tools/ACE_Carrying_Tools.c b/addons/carrying/Scripts/Game/ACE_Carrying/Tools/ACE_Carrying_Tools.c index ff9e30f4..749126c8 100644 --- a/addons/carrying/Scripts/Game/ACE_Carrying/Tools/ACE_Carrying_Tools.c +++ b/addons/carrying/Scripts/Game/ACE_Carrying/Tools/ACE_Carrying_Tools.c @@ -2,13 +2,14 @@ //! Helper methods for carrying class ACE_Carrying_Tools { - protected static const ResourceName HELPER_PREFAB_NAME = "{FF78613C1DAFF28F}Prefabs/Helpers/ACE_Carrying_HelperCompartment.et"; + protected static const ResourceName HELPER_CARRY_PREFAB_NAME = "{FF78613C1DAFF28F}Prefabs/Helpers/ACE_Carrying_HelperCompartment.et"; + protected static const ResourceName HELPER_STRECHER_PREFAB_NAME = "{F9861A601F934DE7}Prefabs/Helpers/ACE_Carrying_StrecherHelperCompartment.et"; //------------------------------------------------------------------------------------------------ //! Start to carry the specified static void Carry(notnull IEntity carrier, notnull IEntity carried) { - ACE_Carrying_HelperCompartment helper = ACE_Carrying_HelperCompartment.Cast(GetGame().SpawnEntityPrefab(Resource.Load(HELPER_PREFAB_NAME), null, EntitySpawnParams())); + ACE_Carrying_HelperCompartment helper = ACE_Carrying_HelperCompartment.Cast(GetGame().SpawnEntityPrefab(Resource.Load(HELPER_CARRY_PREFAB_NAME), null, EntitySpawnParams())); helper.Init(carrier, carried); } @@ -38,6 +39,15 @@ class ACE_Carrying_Tools helper.Terminate(); } + //------------------------------------------------------------------------------------------------ + //! Place the carried player on entity + static void PlaceOnEntity(notnull IEntity entity, notnull IEntity carried, notnull PointInfo placementInfo) + { + ACE_Carrying_StrecherHelperCompartment helper = ACE_Carrying_StrecherHelperCompartment.Cast(GetGame().SpawnEntityPrefab(Resource.Load(HELPER_STRECHER_PREFAB_NAME), null, EntitySpawnParams())); + helper.Init(entity, carried); + helper.SetTransformPoint(placementInfo); + } + //------------------------------------------------------------------------------------------------ //! True if the given player is currently a carrier static bool IsCarrier(IEntity carrier) @@ -55,7 +65,11 @@ class ACE_Carrying_Tools if (!carried) return false; - return GetHelperCompartmentFromCarried(carried); + ACE_Carrying_HelperCompartment compartment = GetHelperCompartmentFromCarried(carried); + if (!compartment) + return false; + + return compartment.IsCarrierPlayer(); } //------------------------------------------------------------------------------------------------ diff --git a/addons/carrying/Scripts/Game/ACE_Carrying/UserActions/ACE_Carrying_PlaceOnEntityUserAction.c b/addons/carrying/Scripts/Game/ACE_Carrying/UserActions/ACE_Carrying_PlaceOnEntityUserAction.c new file mode 100644 index 00000000..2be9fa64 --- /dev/null +++ b/addons/carrying/Scripts/Game/ACE_Carrying/UserActions/ACE_Carrying_PlaceOnEntityUserAction.c @@ -0,0 +1,35 @@ +//------------------------------------------------------------------------------------------------ +class ACE_Carrying_PlaceOnEntityUserAction: ScriptedUserAction +{ + [Attribute(desc: "Placement Info")] + private ref PointInfo m_ACE_Carrying_PointInfo; + + //------------------------------------------------------------------------------------------------ + override void Init(IEntity pOwnerEntity, GenericComponent pManagerComponent) + { + super.Init(pOwnerEntity, pManagerComponent); + + if (m_ACE_Carrying_PointInfo) + m_ACE_Carrying_PointInfo.Init(pOwnerEntity); + } + + //------------------------------------------------------------------------------------------------ + override bool CanBeShownScript(IEntity user) + { + return ACE_Carrying_Tools.IsCarrier(user); + } + + //------------------------------------------------------------------------------------------------ + override void PerformAction(IEntity pOwnerEntity, IEntity pUserEntity) + { + IEntity carried = ACE_Carrying_Tools.GetCarried(pUserEntity); + if (!carried) + return; + + ACE_Carrying_Tools.PlaceOnEntity(pOwnerEntity, carried, m_ACE_Carrying_PointInfo); + } + + //------------------------------------------------------------------------------------------------ + //! Methods are executed on the local player + override bool CanBroadcastScript() { return false; }; +}