5 Commits
Author SHA1 Message Date
Fastwind 32934e7b80 Reduce minimum distance from outpost/sectors
Build Mission PBO / lint (push) Successful in 11s
Build Mission PBO / pack (push) Successful in 8s
Build Mission PBO / deploy (push) Successful in 6s
2026-08-10 20:06:06 +00:00
InHooman 33d4f0dff3 Adding back pricing changes
Build Mission PBO / lint (push) Successful in 11s
Build Mission PBO / pack (push) Successful in 7s
Build Mission PBO / deploy (push) Successful in 7s
2026-07-30 00:00:49 +03:00
MrFastwind 5fdb54cb88 ci: fix pipefail killing lint step before grep check, uncomment artifact upload
Build Mission PBO / lint (push) Successful in 8s
Build Mission PBO / pack (push) Successful in 7s
Build Mission PBO / deploy (push) Successful in 7s
- Add '|| true' to SQFVM pipeline so pipefail doesn't kill the step
  before we can grep for [ERR] lines
- Uncomment lint log artifact upload step
- description.ext false positive filtered by grep -v
2026-07-24 19:04:25 +02:00
MrFastwind 54c24088f0 adds lint check on build
Build Mission PBO / lint (push) Failing after 6s
Build Mission PBO / pack (push) Has been skipped
Build Mission PBO / deploy (push) Has been skipped
2026-07-24 19:00:54 +02:00
MrFastwind 2d3fc26827 missing comma with unrelated code 2026-07-24 19:00:26 +02:00
4 changed files with 123 additions and 77 deletions
+41
View File
@@ -8,9 +8,50 @@ on:
env:
PBO_NAME: "KPLib-Ruha.ruha.pbo"
SQFVM_VERSION: "v2026.04.03-ed9f5f5"
SQFVM_URL: "https://github.com/SQFvm/runtime/releases/download/v2026.04.03-ed9f5f5/sqfvm_linux_x64_gcc.zip"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download SQFVM
run: |
curl -sL "$SQFVM_URL" -o /tmp/sqfvm.zip
unzip -o /tmp/sqfvm.zip -d /tmp/sqfvm
chmod +x /tmp/sqfvm/sqfvm_linux_x64_gcc/sqfvm
- name: Run SQFVM lint
run: |
SRC="$(realpath src)"
ARGS=()
while IFS= read -r -d '' f; do
ARGS+=(-i "$f")
done < <(find "$SRC" -name "*.sqf" -print0)
# pipefail would kill this step on SQFVM's non-zero exit before we can check the log
/tmp/sqfvm/sqfvm_linux_x64_gcc/sqfvm \
-a --parse-only --no-execute-print \
--input-config "$SRC/description.ext" \
"${ARGS[@]}" 2>&1 | tee lint_output.log || true
# Filter known false positive: SQFVM config parser chokes on & in author string
if grep -v "description.ext" lint_output.log | grep -q "^\[ERR\]"; then
echo "::error::SQFVM found syntax errors"
exit 1
fi
- name: Upload lint log
if: always()
uses: actions/upload-artifact@v3
with:
name: sqfvm-lint.log
path: lint_output.log
if-no-files-found: warn
pack:
needs: [lint]
runs-on: ubuntu-latest
steps:
+80 -75
View File
@@ -131,84 +131,89 @@ light_vehicles = [
];
heavy_vehicles = [
["tbd_mtlb_s60",200,40,100],
["tbd_mtlb_vmk",200,60,100],
["tbd_mtlb_shturm",200,0,100],
["tbd_mtlb_s8",200,0,125],
["tbd_mtlb_pkt",200,75,125],
["tbd_mtlb_mt12",200,75,125],
["tbd_mtlb_engineer",300,100,150],
["tbd_mtlb_bmo",300,150,150],
["tbd_mtlb_bm21",300,200,150],
["tbd_mtlb_ambulance",300,225,150],
["tbd_mtlb_6ma1_tkn4g",300,250,175],
["tbd_mtlb",300,250,175],
["rhsusf_M1117_O",300,250,175],
["rhsusf_m113_usarmy_medical",300,250,175],
["UAF_M113_MK19",300,250,175],
["UAF_M113_M2",300,250,175],
["b_afougf_m113_unarmed",400,300,200],
//BRDM
["b_afougf_BRDM2_HQ",225,100,200],
["b_afougf_BRDM2",250,200,200],
["b_afougf_BRDM2_ATGM",300,400,200],
["TSB_BRDM2_ZU23_g",400,300,200],
["UF_M2A2_BUSKI",400,300,200],
["UF_M2A2",400,350,225],
["UAF_bmp_3m",500,350,225],
["UAF_bmp_3",500,400,250],
["b_afougf_prp3_Base",500,400,250],
["b_afougf_brm1k_Base",500,500,250],
["b_afougf_bmp2d",550,550,250],
["b_afougf_bmp2",600,1250,300],
["b_afougf_bmp1p",600,1250,300],
["b_afougf_bmp1",800,1750,400],
["b_afougf_bmd2",800,1750,400],
["b_afougf_bmd1",800,1750,400],
["b_afougf_BRDM2_HQ",800,1750,400],
["b_afougf_BRDM2_UM",800,1750,400],
["b_afougf_BRDM2_ATGM",800,1750,400],
["b_afougf_BRDM2",800,1750,400],
["FA_UAF_BTR4",800,1750,400],
["FA_UAF_BTR3",800,1750,400],
["FA_UAF_BMP1U",800,1750,400],
["FA_UAF_2S17",800,1750,400],
["FA_UAF_Zamak_MLRS",800,1750,400],
["UAF_2s1",800,1750,400],
["uaf_2s3",800,1750,400],
["UAF_m109",800,1750,400],
["b_afougf_yt_BM21",800,1750,400],
["b_afougf_m142_base",800,1750,400],
["tbd_mtlb_tundzha",800,1750,400],
["tbd_mtlb_nona",800,1750,400],
["FA_UAF_Leopard2A4",800,1750,400],
["FA_UAF_Leopard2A4_ERA",800,1750,400],
["FA_UAF_T64BM",800,1750,400],
["FA_UAF_T64BM2",800,1750,400],
["FA_UAF_T64BV",800,1750,400],
["FA_UAF_T84M",800,1750,400],
["b_afougf_t72bb",800,1750,400],
["t80bv_Ukraine",800,1750,400],
["b_afougf_t80u",800,1750,400],
["UAF_t72b3",800,1750,400],
["UF_M1A1",800,1750,400],
["tbd_mtlb_strela_m3",500,500,500],
["b_afougf_zsu234_aa",500,500,500]
["rhsusf_M1117_O",300,300,175],
//MT-LB
["tbd_mtlb",250,0,250],
["tbd_mtlb_pkt",200,100,250],
["tbd_mtlb_vmk",200,200,250],
["tbd_mtlb_6ma1_tkn4g",250,300,250],
["tbd_mtlb_s60",225,250,250],
["tbd_mtlb_mt12",225,300,250],
["tbd_mtlb_s8",225,225,250],
["tbd_mtlb_shturm",300,400,250],
["tbd_mtlb_bmo",300,375,250],
["tbd_mtlb_engineer",350,0,250],
//M113
["b_afougf_m113_unarmed",275,0,200],
["UAF_M113_M2",300,150,200],
["UAF_M113_MK19",300,175,200],
["rhsusf_m113_usarmy_medical",375,0,200],
["rhsusf_m113_usarmy_supply",375,150,200],
//BTR
["b_afougf_old_btr70",250,150,225],
["b_afougf_btr80_common",300,150,250],
["FA_UAF_BTR3",450,650,350],
["FA_UAF_BTR4",550,650,400],
//BMP
["b_afougf_prp3_Base",325,0,350],
["b_afougf_bmd1",300,350,350],
["b_afougf_bmd2",325,375,350],
["b_afougf_brm1k_Base",325,500,350],
["b_afougf_bmp1p",325,350,350],
["b_afougf_bmp2d",350,375,350],
["UAF_bmp_3",400,400,350],
["UAF_bmp_3m",400,400,350],
["FA_UAF_BMP1U",450,600,325],
["UF_M2A2",700,500,300],
["UF_M2A2_BUSKI",750,500,300],
//Tanks
["FA_UAF_T64BV",800,800,600],
["FA_UAF_T64BM",900,850,650],
["FA_UAF_T64BM2",925,850,650],
["b_afougf_t72bb",750,800,600],
["UAF_t72b3",925,850,650],
["t80bv_Ukraine",975,875,600],
["b_afougf_t80u",1000,875,800],
["FA_UAF_T84M",1000,875,650],
["FA_UAF_Leopard2A4",1250,975,650],
["FA_UAF_Leopard2A4_ERA",1275,975,650],
["UF_M1A1",1500,1200,1000],
//Arty
["tbd_mtlb_tundzha",250,225,250],
["UAF_2s1",325,450,350],
["uaf_2s3",400,450,400],
["FA_UAF_2S17",425,475,350],
["tbd_mtlb_nona",325,475,250],
["UAF_m109",750,875,575],
["b_afougf_yt_BM21",250,600,150],
["FA_UAF_Zamak_MLRS",300,600,175],
["tbd_mtlb_bm21",350,600,250],
["b_afougf_m142_base",1775,1775,200],
//AA
["tbd_mtlb_strela_m3",400,800,250],
["b_afougf_zsu234_aa",750,600,600]
];
air_vehicles = [
["UA_VVS_bayraktartb2",75,0,25],
["RHS_UH60M2",80,0,30],
["RHS_UH60M",200,0,100],
["b_afougf_Mi8MTV3_UPK23",200,100,100],
["b_afougf_Mi8MTV3_Evac",200,0,100],
["b_afougf_Mi8MTV3_Cargo",200,200,100],
["b_afougf_Mi24V_UPK23",225,0,125],
["b_afougf_Mi24V_AT",225,200,125],
["b_afougf_a29",225,0,125],
["b_afougf_l39m1",225,200,125],
["b_afougf_Su25SM",500,400,200],
["FA_UAF_F16A",500,500,200],
["b_afougf_mig29sm",750,750,250],
["Su27_ua",750,750,250]
["UA_VVS_bayraktartb2",300,300,250],
["b_afougf_Mi8MTV3_Cargo",600,0,575],
["b_afougf_Mi8MTV3_Evac",600,0,575],
["b_afougf_Mi8MTV3_UPK23",600,650,575],
["RHS_UH60M2",900,0,525],
["RHS_UH60M",900,400,525],
["b_afougf_Mi24V_UPK23",750,650,600],
["b_afougf_Mi24V_AT",750,700,600],
["b_afougf_a29",575,800,500],
["b_afougf_l39m1",750,550,800],
["b_afougf_Su25SM",1000,1250,950],
["b_afougf_mig29sm",1250,875,1300],
["FA_UAF_F16A",1550,1125,850],
["Su27_ua",1374,975,1400]
];
static_vehicles = [
@@ -335,7 +340,7 @@ buildings = [
support_vehicles = [
[Arsenal_typename,100,200,0],
[Respawn_truck_typename,200,0,100],
[Respawn_truck_typename,350,0,250],
[FOB_box_typename,300,500,0],
[FOB_truck_typename,300,500,75],
[KP_liberation_small_storage_building,0,0,0],
+1 -1
View File
@@ -115,7 +115,7 @@ opfor_troup_transports = [
"gm_ge_army_fuchsa0_engineer_win", // Fuchs (Engineer)
"gm_ge_army_fuchsa0_reconnaissance_win", // Fuchs (Recon, MILAN)
"gm_ge_army_m113a1g_apc_win", // M113A3 (MG3)
"gm_ge_army_m113a1g_apc_milan_win" // M113A3 (MILAN)
"gm_ge_army_m113a1g_apc_milan_win", // M113A3 (MILAN)
"gm_ge_army_ch53g" // CH-53G
];
+1 -1
View File
@@ -5,7 +5,7 @@ if ( count GRLIB_all_fobs >= GRLIB_maximum_fobs ) exitWith {
};
_minfobdist = 1000;
_minsectordist = GRLIB_capture_size + GRLIB_fob_range;
_minsectordist = GRLIB_capture_size;
_distfob = 1;
_clearedtobuildfob = true;
_distsector = 1;