Added cse_sys_field_rations source

This commit is contained in:
Thomas Kooi 2015-01-12 23:26:09 +01:00
parent d8ebf8bef1
commit 70c0e3c5e6
85 changed files with 2953 additions and 0 deletions

View File

@ -0,0 +1,33 @@
class CfgFunctions {
class CSE {
class FieldRations {
file = "cse\cse_sys_field_rations\functions";
class reduceLevels_FR { recompile = 1; };
class updateFieldRations_FR { recompile = 1; };
class updateUIStatus_FR { recompile = 1; };
class actionEat_FR { recompile = 1; };
class canEat_FR { recompile = 1; };
class getEatableValue_FR { recompile = 1; };
class itemIsEatable_FR { recompile = 1; };
class hasEatableItem_FR { recompile = 1; };
class actionDrink_FR { recompile = 1; };
class canDrink_FR { recompile = 1; };
class getDrinkableValue_FR { recompile = 1; };
class itemIsDrinkable_FR { recompile = 1; };
class hasDrinkableItem_FR { recompile = 1; };
class canRefill_FR { recompile = 1; };
class itemIsRefillable_FR { recompile = 1; };
class hasRefillableItem_FR { recompile = 1; };
class actionRefill_FR { recompile = 1; };
class actionRefillCamelbak_FR;
class hasCamelbak_FR;
class isCamelbak_FR;
class getMaxContent_Camelbak_FR;
class getInitialContent_Camelbak_FR;
class canRefillCamelbak_FR;
};
};
};

View File

@ -0,0 +1,412 @@
class CfgMagazines {
class Default;
class CA_magazine: Default {};
class cse_backwardsCompatMagazineBase_FR: CA_magazine {};
class cse_waterbottle: cse_backwardsCompatMagazineBase_FR {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Water Bottle";
picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa";
model = "\A3\Structures_F_EPA\Items\Food\BottlePlastic_V2_F.p3d";
descriptionShort = "A waterbottle";
mass = 5;
cse_isDrinkable = 3.75;
cse_onDrink = "cse_waterbottle_half";
};
class cse_canteen: cse_backwardsCompatMagazineBase_FR {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Canteen (Water)";
picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa";
model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d";
descriptionShort = "A Canteen containing water";
mass = 5;
cse_isDrinkable = 3.75;
cse_onDrink = "cse_canteen_half";
};
class cse_canteen_half: cse_canteen {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Canteen (Half)";
picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa";
model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d";
descriptionShort = "A Canteen containing water (Half)";
mass = 5;
cse_isDrinkable = 3.75;
cse_onDrink = "cse_canteen_empty";
cse_onRefill = "cse_canteen";
};
class cse_canteen_empty: cse_canteen {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Canteen (Empty)";
picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa";
model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d";
descriptionShort = "A Canteen containing water (Half)";
mass = 5;
cse_isDrinkable = 0;
cse_onDrink = "";
cse_onRefill = "cse_canteen";
};
class cse_waterbottle_half: cse_waterbottle {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Water Bottle 1/2";
picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa";
model ="\cse\cse_sys_field_rations\waterbottle.p3d";
descriptionShort = "Half full waterbottle";
cse_onDrink = "cse_waterbottle_empty";
cse_isDrinkable = 3.75;
se_onRefill = "cse_waterbottle";
};
class cse_waterbottle_empty: cse_waterbottle {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Empty Water Bottle";
picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle_empty.paa";
model ="\cse\cse_sys_field_rations\waterbottle.p3d";
descriptionShort = "An empty waterbottle";
cse_isDrinkable = 0;
cse_onRefill = "cse_waterbottle";
cse_onDrink = "";
};
class cse_MRE_BASE: cse_waterbottle {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE.paa";
model ="\cse\cse_sys_field_rations\mre_type1.p3d";
descriptionShort = "A Meal Ready to Eat, unprepared";
mass = 3;
cse_isEatable = 10;
cse_isDrinkable = 0;
};
class cse_MRE_LambC: cse_MRE_BASE {
displayName = "MRE Lamb Curry";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
model ="\cse\cse_sys_field_rations\mre_type1.p3d";
descriptionShort = "An MRE containing Lamb Curry. Heat for best effect";
};
class cse_MRE_LambC_prepared: cse_MRE_LambC {
displayName = "MRE Lamb Curry (Heated)";
};
class cse_MRE_Rice: cse_MRE_BASE {
displayName = "MRE Rice";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type2.paa";
model ="\cse\cse_sys_field_rations\mre_type2.p3d";
descriptionShort = "An MRE Containing Rice. Heat for best effect";
};
class cse_MRE_Rice_prepared: cse_MRE_Rice {
displayName = "MRE Rice (Heated)";
};
class cse_MRE_CreamTomatoSoup: cse_MRE_BASE {
displayName = "MRE Cream Tomato Soup";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa";
model ="\cse\cse_sys_field_rations\mre_type3.p3d";
descriptionShort = "An MRE Containing Tomato Soup cream. Mix with water and heat for best effect";
};
class cse_MRE_CreamTomatoSoup_prepared: cse_MRE_CreamTomatoSoup {
displayName = "MRE Cream Tomato Soup (Heated)";
};
class cse_MRE_CreamChickenSoup: cse_MRE_BASE {
displayName = "MRE Cream Chicken Soup";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa";
model ="\cse\cse_sys_field_rations\mre_type3.p3d";
descriptionShort = "An MRE Containing Chicken Soup. Mix with water and heat for best effect";
};
class cse_MRE_CreamChickenSoup_prepared: cse_MRE_CreamChickenSoup {
displayName = "MRE Cream Chicken Soup (Heated)";
};
class cse_MRE_ChickenTikkaMassala: cse_MRE_BASE {
displayName = "MRE Chicken Tikka Massala";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type4.paa";
model = "\cse\cse_sys_field_rations\mre_type4.p3d";
descriptionShort = "An MRE with Chicken Tikka Massala. Heat for best effect";
};
class cse_MRE_ChickenTikkaMassala_prepared: cse_MRE_ChickenTikkaMassala {
displayName = "MRE Chicken Tikka Massala (Heated)";
};
class cse_MRE_SteakVegetables: cse_MRE_BASE {
displayName = "MRE Steak & Vegetables";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type5.paa";
model ="\cse\cse_sys_field_rations\mre_type5.p3d";
descriptionShort = "An MRE Containing Steak & Vegetables. Heat for best effect";
};
class cse_MRE_SteakVegetables_prepared: cse_MRE_SteakVegetables {
displayName = "MRE Steak & Vegetables (Heated)";
};
class cse_MRE_MeatballsPasta: cse_MRE_BASE {
displayName = "MRE Meatballs & Pasta";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa";
model ="\cse\cse_sys_field_rations\mre_type6.p3d";
descriptionShort = "An MRE Containing Meatballs & Pasta. Heat for best effect";
};
class cse_MRE_MeatballsPasta_prepared: cse_MRE_MeatballsPasta {
displayName = "MRE Meatballs & Pastas (Heated)";
};
class cse_MRE_ChickenHerbDumplings: cse_MRE_BASE {
displayName = "MRE Chicken with Herb Dumplings";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa";
model ="\cse\cse_sys_field_rations\mre_type6.p3d";
descriptionShort = "An MRE Containing Chicken with Herb Dumplings. Heat for best effect";
};
class cse_MRE_ChickenHerbDumplings_prepared: cse_MRE_ChickenHerbDumplings {
displayName = "MRE Chicken with Herb Dumplings (Heated)";
};
class cse_Humanitarian_Ration: cse_MRE_BASE {
displayName = "Humanitarian Ration";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_human.paa";
model ="\cse\cse_sys_field_rations\mre_human.p3d";
descriptionShort = "An Humanitarian Ration, for handing out to the local population";
};
class cse_US_MRE_ChiliBeans: cse_MRE_BASE {
displayName = "Chile with Beans MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Chili with Beans";
};
class cse_US_MRE_ChiliBeans_prepared: cse_US_MRE_ChiliBeans {
displayName = "Chile with Beans MRE (Heated)";
};
class cse_US_MRE_ChickenFajita: cse_MRE_BASE {
displayName = "Chicken Fajita MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "A Chicken Fajita MRE";
};
class cse_US_MRE_ChickenFajita_prepared: cse_US_MRE_ChickenFajita {
displayName = "Chicken Fajita MRE (Heated)";
};
class cse_US_MRE_ChickenNoodles: cse_MRE_BASE {
displayName = "Chicken with Noodles MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Chicken with Noodles";
};
class cse_US_MRE_ChickenNoodles_prepared: cse_US_MRE_ChickenNoodles {
displayName = "Chicken Fajita MRE(Heated)";
};
class cse_US_MRE_PorkSausageGravy: cse_MRE_BASE {
displayName = "Pork Sausage with Gravy MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Pork Sausage with Gravy";
};
class cse_US_MRE_PorkSausageGravy_prepared: cse_US_MRE_PorkSausageGravy {
displayName = "Pork Sausage Gravy MRE(Heated)";
};
class cse_US_MRE_MedChicen: cse_MRE_BASE {
displayName = "Mediterranean Chicken MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Mediterranean Chicken";
};
class cse_US_MRE_MedChicken_prepared: cse_US_MRE_MedChicen {
displayName = "Mediterranean Chicken MRE(Heated)";
};
class cse_US_MRE_BeefRoastVeggies: cse_MRE_BASE {
displayName = "Beef Roast with Veggies MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Beef Roast with Veggies";
};
class cse_US_MRE_BeefRoastVeggies_prepared: cse_US_MRE_BeefRoastVeggies {
displayName = "Beef Roast Veg MRE(Heated)";
};
class cse_US_MRE_BeefBrisket: cse_MRE_BASE {
displayName = "Beef Brisket MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Beef Brisket";
};
class cse_US_MRE_BeefBrisket_prepared: cse_US_MRE_BeefBrisket {
displayName = "Beef Brisket MRE(Heated)";
};
class cse_US_MRE_MeatballMarinara: cse_MRE_BASE {
displayName = "Meatball Marinara MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Meatballs with Marinara Sauce";
};
class cse_US_MRE_MeatballMarinara_prepared: cse_US_MRE_MeatballMarinara {
displayName = "Meatball Marinara(Heated)";
};
class cse_US_MRE_BeefStew: cse_MRE_BASE {
displayName = "Beef Stew MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Beef Stew";
};
class cse_US_MRE_BeefStew_prepared: cse_US_MRE_BeefStew {
displayName = "Beef Stew MRE(Heated)";
};
class cse_US_MRE_ChiliMacaroni: cse_MRE_BASE {
displayName = "Chile Macaroni MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Chile Macaroni";
};
class cse_US_MRE_ChileMacaroni_prepared: cse_US_MRE_ChiliMacaroni {
displayName = "Chile Macaroni MRE(Heated)";
};
class cse_US_MRE_VegetableLasagna: cse_MRE_BASE {
displayName = "Vegetable Lasagna MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Vegetable Lasagna";
};
class cse_US_MRE_VegetableLasagna_prepared: cse_US_MRE_VegetableLasagna {
displayName = "Vegetable Lasagna MRE(Heated)";
};
class cse_US_MRE_SpicyPennePasta: cse_MRE_BASE {
displayName = "Spicy Penne Pasta MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Spicy Penne Pasta";
};
class cse_US_MRE_SpicyPennePasta_prepared: cse_US_MRE_SpicyPennePasta {
displayName = "Spicy Penne Pasta MRE(Heated)";
};
class cse_US_MRE_CheeseTortellini: cse_MRE_BASE {
displayName = "Cheese Tortellini MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing CheeseTortellini";
};
class cse_US_MRE_CheeseTortellini_prepared: cse_US_MRE_CheeseTortellini {
displayName = "Cheese Tortellini MRE(Heated)";
};
class cse_US_MRE_Ratatouille: cse_MRE_BASE {
displayName = "Ratatouille MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Ratatouille";
};
class cse_US_MRE_Ratatouille_prepared: cse_US_MRE_Ratatouille {
displayName = "Ratatouille MRE (Heated)";
};
class cse_US_MRE_MexicanStyleChickenStew: cse_MRE_BASE {
displayName = "Mexican Style Chicken Stew MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Mexican Style Chicken Stew";
};
class cse_US_MRE_MexicanStyleChickenStew_prepared: cse_US_MRE_MexicanStyleChickenStew {
displayName = "Mexican Style Chicken Stew MRE (Heated)";
};
class cse_US_MRE_PorkRib: cse_MRE_BASE {
displayName = "Pork Rib MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Pork Rib";
};
class cse_US_MRE_PorkRib_prepared: cse_US_MRE_PorkRib {
displayName = "Pork Rib MRE (Heated)";
};
class cse_US_MRE_MapleSausage: cse_MRE_BASE {
displayName = "Maple Sausage MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Maple Sausage";
};
class cse_US_MRE_MapleSausage_prepared: cse_US_MRE_MapleSausage {
displayName = "Maple Sausage MRE (Heated)";
};
class cse_US_MRE_BeefRavioli: cse_MRE_BASE {
displayName = "Beef Ravioli MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Beef Ravioli";
};
class cse_US_MRE_BeefRavioli_prepared: cse_US_MRE_BeefRavioli {
displayName = "Beef Ravioli MRE (Heated)";
};
class cse_US_MRE_SloppyJoe: cse_MRE_BASE {
displayName = "Sloppy Joe MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing a Sloppy Joe";
};
class cse_US_MRE_SloppyJoe_prepared: cse_US_MRE_SloppyJoe {
displayName = "Sloppy Joe MRE (Heated)";
};
class cse_US_MRE_SpaghettiMeatSauce: cse_MRE_BASE {
displayName = "Spaghetti with Meat Sauce MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Spaghetti with Meat Sauce";
};
class cse_US_MRE_SpaghettiMeatSauce_prepared: cse_US_MRE_SpaghettiMeatSauce {
displayName = "Spaghetti with Meat Sauce MRE (Heated)";
};
class cse_US_MRE_LemonPepperTuna: cse_MRE_BASE {
displayName = " Lemon Pepper Tuna MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Lemon Pepper Tuna";
};
class cse_US_MRE_LemonPepperTuna_prepared: cse_US_MRE_LemonPepperTuna {
displayName = "Lemon Pepper Tuna MRE (Heated)";
};
class cse_US_MRE_AsianBeefStrips: cse_MRE_BASE {
displayName = "Asian Beef Strips MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Asian Beef Strips";
};
class cse_US_MRE_AsianBeefStrips_prepared: cse_US_MRE_AsianBeefStrips {
displayName = "Asian Beef Strips MRE (Heated)";
};
class cse_US_MRE_ChickenPestoPasta: cse_MRE_BASE {
displayName = "Chicken Pesto Pasta MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Chicken Pesto Pasta";
};
class cse_US_MRE_ChickenPestoPasta_prepared: cse_US_MRE_ChickenPestoPasta {
displayName = "Chicken Pesto Pasta (Heated)";
};
class cse_US_MRE_SouthwestStyleBeefBlackBeans: cse_MRE_BASE {
displayName = "Southwest Style Beef & Black Beans";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Southwest Style Beef & Black Beans";
};
class cse_US_MRE_SouthwestStyleBeefBlackBeans_prepared: cse_US_MRE_SouthwestStyleBeefBlackBeans {
displayName = "Southwest Style Beef & Black Beans (Heated)";
};
class cse_mre_c_ration: cse_MRE_BASE {
displayName = "C Ration";
picture = "\cse\cse_sys_field_rations\data\pictures\gbl_mre_c_ration.paa";
descriptionShort = "C ration";
};
};

View File

@ -0,0 +1,7 @@
class CfgSounds {
class cse_drinking {
name = "cse_drinking";
sound[] = {"cse\cse_sys_field_rations\sounds\drinkingSound.ogg","db-1",1.0};
titles[] = {};
};
};

View File

@ -0,0 +1,201 @@
class CfgVehicles {
class Logic;
class Module_F: Logic {
class ArgumentsBaseUnits {};
};
class cse_sys_field_rations: Module_F {
scope = 2;
displayName = "Field Rations [CSE]";
icon = "\cse\cse_main\data\cse_basic_module.paa";
category = "cseModules";
function = "cse_fnc_initalizeModule_F";
functionPriority = 1;
isGlobal = 1;
isTriggerActivated = 0;
class Arguments {
class timeWithoutWater {
displayName = "Time without water";
description = "How long should a unit be able to go without water";
typeName = "NUMBER";
class values {
class Twodays {name="48 hours"; value= 0.5; };
class 32Hours {name="32 hours"; value= 0.75; };
class oneDay {name="24 hours"; value=1; default=1; };
class halfDay {name="12 hours"; value=2; };
class quarterDay {name="6 hours"; value=4; };
class eightDay {name="3 hours"; value=8; };
class oneHour {name="1 hour"; value=24; };
};
};
class timeWithoutFood {
displayName = "Time without food";
description = "How long should a unit be able to go without food";
typeName = "NUMBER";
class values {
class Twodays {name="48 hours"; value= 0.5; };
class 32Hours {name="32 hours"; value= 0.75; default=1;};
class oneDay {name="24 hours"; value=1; };
class halfDay {name="12 hours"; value=2; };
class quarterDay {name="6 hours"; value=4; };
class eightDay {name="3 hours"; value=8; };
class oneHour {name="1 hour"; value=24; };
};
};
};
};
class NATO_Box_Base;
class cse_field_rations_all : NATO_Box_Base {
scope = 2;
accuracy = 1000;
displayName = "Field Rations [All] (CSE)";
model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F";
author = "Combat Space Enhancement";
class TransportWeapons {
class cse_waterbottle {
weapon = "cse_waterbottle";
count = 20;
};
class _xx_cse_canteen {
weapon = "cse_canteen";
count = 20;
};
class _xx_cse_MRE_LambC {
weapon = "cse_MRE_LambC";
count = 10;
};
class _xx_cse_MRE_Rice {
weapon = "cse_MRE_Rice";
count = 10;
};
class _xx_cse_MRE_CreamTomatoSoup {
weapon = "cse_MRE_CreamTomatoSoup";
count = 10;
};
class _xx_cse_MRE_CreamChickenSoup {
weapon = "cse_MRE_CreamChickenSoup";
count = 10;
};
class _xx_cse_MRE_ChickenTikkaMassala {
weapon = "cse_MRE_ChickenTikkaMassala";
count = 10;
};
class _xx_cse_MRE_SteakVegetables {
weapon = "cse_MRE_SteakVegetables";
count = 10;
};
class _xx_cse_MRE_MeatballsPasta {
weapon = "cse_MRE_MeatballsPasta";
count = 10;
};
class _xx_cse_MRE_ChickenHerbDumplings {
weapon = "cse_MRE_ChickenHerbDumplings";
count = 10;
};
class _xx_cse_Humanitarian_Ration {
weapon = "cse_Humanitarian_Ration";
count = 10;
};
class _xx_cse_US_MRE_ChiliBeans {
weapon = "cse_US_MRE_ChiliBeans";
count = 10;
};
class _xx_cse_US_MRE_ChickenFajita {
weapon = "cse_US_MRE_ChickenFajita";
count = 10;
};
class _xx_cse_US_MRE_ChickenNoodles {
weapon = "cse_US_MRE_ChickenNoodles";
count = 10;
};
class _xx_cse_US_MRE_PorkSausageGravy {
weapon = "cse_US_MRE_PorkSausageGravy";
count = 10;
};
class _xx_cse_US_MRE_MedChicen {
weapon = "cse_US_MRE_MedChicen";
count = 10;
};
class _xx_cse_US_MRE_BeefRoastVeggies {
weapon = "cse_US_MRE_BeefRoastVeggies";
count = 10;
};
class _xx_cse_US_MRE_BeefBrisket {
weapon = "cse_US_MRE_BeefBrisket";
count = 10;
};
class _xx_cse_US_MRE_MeatballMarinara {
weapon = "cse_US_MRE_MeatballMarinara";
count = 10;
};
class _xx_cse_US_MRE_BeefStew {
weapon = "cse_US_MRE_BeefStew";
count = 10;
};
class _xx_cse_US_MRE_ChiliMacaroni {
weapon = "cse_US_MRE_ChiliMacaroni";
count = 10;
};
class _xx_cse_US_MRE_VegetableLasagna {
weapon = "cse_US_MRE_VegetableLasagna";
count = 10;
};
class _xx_cse_US_MRE_SpicyPennePasta {
weapon = "cse_US_MRE_SpicyPennePasta";
count = 10;
};
class _xx_cse_US_MRE_CheeseTortellini {
weapon = "cse_US_MRE_CheeseTortellini";
count = 10;
};
class _xx_cse_US_MRE_Ratatouille {
weapon = "cse_US_MRE_Ratatouille";
count = 10;
};
class _xx_cse_US_MRE_MexicanStyleChickenStew {
weapon = "cse_US_MRE_MexicanStyleChickenStew";
count = 10;
};
class _xx_cse_US_MRE_PorkRib {
weapon = "cse_US_MRE_PorkRib";
count = 10;
};
class _xx_cse_US_MRE_MapleSausage {
weapon = "cse_US_MRE_MapleSausage";
count = 10;
};
class _xx_cse_US_MRE_BeefRavioli {
weapon = "cse_US_MRE_BeefRavioli";
count = 10;
};
class _xx_cse_US_MRE_SloppyJoe {
weapon = "cse_US_MRE_SloppyJoe";
count = 10;
};
class _xx_cse_US_MRE_SpaghettiMeatSauce {
weapon = "cse_US_MRE_SpaghettiMeatSauce";
count = 10;
};
class _xx_cse_US_MRE_LemonPepperTuna {
weapon = "cse_US_MRE_LemonPepperTuna";
count = 10;
};
class _xx_cse_US_MRE_AsianBeefStrips {
weapon = "cse_US_MRE_AsianBeefStrips";
count = 10;
};
class _xx_cse_US_MRE_ChickenPestoPasta {
weapon = "cse_US_MRE_ChickenPestoPasta";
count = 10;
};
class _xx_cse_US_MRE_SouthwestStyleBeefBlackBeans {
weapon = "cse_US_MRE_SouthwestStyleBeefBlackBeans";
count = 10;
};
class _xx_cse_mre_c_ration {
weapon = "cse_mre_c_ration";
count = 10;
};
};
};
};

View File

@ -0,0 +1,431 @@
class CfgWeapons {
class ItemCore;
class InventoryItem_Base_F;
class cse_waterbottle: ItemCore {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Water Bottle";
picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa";
model = "\A3\Structures_F_EPA\Items\Food\BottlePlastic_V2_F.p3d";
descriptionShort = "A waterbottle";
class ItemInfo: InventoryItem_Base_F
{
mass= 5;
type= 201;
};
cse_isDrinkable = 3.75;
cse_onDrink = "cse_waterbottle_half";
};
class cse_canteen: ItemCore {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Canteen (Water)";
picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa";
model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d";
descriptionShort = "A Canteen containing water";
class ItemInfo: InventoryItem_Base_F
{
mass= 5;
type= 201;
};
cse_isDrinkable = 3.75;
cse_onDrink = "cse_canteen_half";
};
class cse_canteen_half: cse_canteen {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Canteen (Half)";
picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa";
model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d";
descriptionShort = "A Canteen containing water (Half)";
class ItemInfo: InventoryItem_Base_F
{
mass= 5;
type= 201;
};
cse_isDrinkable = 3.75;
cse_onDrink = "cse_canteen_empty";
cse_onRefill = "cse_canteen";
};
class cse_canteen_empty: cse_canteen {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Canteen (Empty)";
picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa";
model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d";
descriptionShort = "A Canteen containing water (Half)";
class ItemInfo: InventoryItem_Base_F
{
mass= 5;
type= 201;
};
cse_isDrinkable = 0;
cse_onDrink = "";
cse_onRefill = "cse_canteen";
};
class cse_waterbottle_half: cse_waterbottle {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Water Bottle 1/2";
picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa";
model ="\cse\cse_sys_field_rations\waterbottle.p3d";
descriptionShort = "Half full waterbottle";
cse_onDrink = "cse_waterbottle_empty";
cse_isDrinkable = 3.75;
se_onRefill = "cse_waterbottle";
};
class cse_waterbottle_empty: cse_waterbottle {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "Empty Water Bottle";
picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle_empty.paa";
model ="\cse\cse_sys_field_rations\waterbottle.p3d";
descriptionShort = "An empty waterbottle";
cse_isDrinkable = 0;
cse_onRefill = "cse_waterbottle";
cse_onDrink = "";
};
class cse_MRE_BASE: cse_waterbottle {
scope = 2;
value = 1;
count = 1;
type = 16;
displayName = "MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE.paa";
model ="\cse\cse_sys_field_rations\mre_type1.p3d";
descriptionShort = "A Meal Ready to Eat, unprepared";
class ItemInfo: InventoryItem_Base_F
{
mass= 2;
type= 201;
};
cse_isEatable = 10;
cse_isDrinkable = 0;
};
class cse_MRE_LambC: cse_MRE_BASE {
displayName = "MRE Lamb Curry";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
model ="\cse\cse_sys_field_rations\mre_type1.p3d";
descriptionShort = "An MRE containing Lamb Curry. Heat for best effect";
};
class cse_MRE_LambC_prepared: cse_MRE_LambC {
displayName = "MRE Lamb Curry (Heated)";
};
class cse_MRE_Rice: cse_MRE_BASE {
displayName = "MRE Rice";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type2.paa";
model ="\cse\cse_sys_field_rations\mre_type2.p3d";
descriptionShort = "An MRE Containing Rice. Heat for best effect";
};
class cse_MRE_Rice_prepared: cse_MRE_Rice {
displayName = "MRE Rice (Heated)";
};
class cse_MRE_CreamTomatoSoup: cse_MRE_BASE {
displayName = "MRE Cream Tomato Soup";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa";
model ="\cse\cse_sys_field_rations\mre_type3.p3d";
descriptionShort = "An MRE Containing Tomato Soup cream. Mix with water and heat for best effect";
};
class cse_MRE_CreamTomatoSoup_prepared: cse_MRE_CreamTomatoSoup {
displayName = "MRE Cream Tomato Soup (Heated)";
};
class cse_MRE_CreamChickenSoup: cse_MRE_BASE {
displayName = "MRE Cream Chicken Soup";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa";
model ="\cse\cse_sys_field_rations\mre_type3.p3d";
descriptionShort = "An MRE Containing Chicken Soup. Mix with water and heat for best effect";
};
class cse_MRE_CreamChickenSoup_prepared: cse_MRE_CreamChickenSoup {
displayName = "MRE Cream Chicken Soup (Heated)";
};
class cse_MRE_ChickenTikkaMassala: cse_MRE_BASE {
displayName = "MRE Chicken Tikka Massala";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type4.paa";
model = "\cse\cse_sys_field_rations\mre_type4.p3d";
descriptionShort = "An MRE with Chicken Tikka Massala. Heat for best effect";
};
class cse_MRE_ChickenTikkaMassala_prepared: cse_MRE_ChickenTikkaMassala {
displayName = "MRE Chicken Tikka Massala (Heated)";
};
class cse_MRE_SteakVegetables: cse_MRE_BASE {
displayName = "MRE Steak & Vegetables";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type5.paa";
model ="\cse\cse_sys_field_rations\mre_type5.p3d";
descriptionShort = "An MRE Containing Steak & Vegetables. Heat for best effect";
};
class cse_MRE_SteakVegetables_prepared: cse_MRE_SteakVegetables {
displayName = "MRE Steak & Vegetables (Heated)";
};
class cse_MRE_MeatballsPasta: cse_MRE_BASE {
displayName = "MRE Meatballs & Pasta";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa";
model ="\cse\cse_sys_field_rations\mre_type6.p3d";
descriptionShort = "An MRE Containing Meatballs & Pasta. Heat for best effect";
};
class cse_MRE_MeatballsPasta_prepared: cse_MRE_MeatballsPasta {
displayName = "MRE Meatballs & Pastas (Heated)";
};
class cse_MRE_ChickenHerbDumplings: cse_MRE_BASE {
displayName = "MRE Chicken with Herb Dumplings";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa";
model ="\cse\cse_sys_field_rations\mre_type6.p3d";
descriptionShort = "An MRE Containing Chicken with Herb Dumplings. Heat for best effect";
};
class cse_MRE_ChickenHerbDumplings_prepared: cse_MRE_ChickenHerbDumplings {
displayName = "MRE Chicken with Herb Dumplings (Heated)";
};
class cse_Humanitarian_Ration: cse_MRE_BASE {
displayName = "Humanitarian Ration";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_human.paa";
model ="\cse\cse_sys_field_rations\mre_human.p3d";
descriptionShort = "An Humanitarian Ration, for handing out to the local population";
};
class cse_US_MRE_ChiliBeans: cse_MRE_BASE {
displayName = "Chile with Beans MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Chili with Beans";
};
class cse_US_MRE_ChiliBeans_prepared: cse_US_MRE_ChiliBeans {
displayName = "Chile with Beans MRE (Heated)";
};
class cse_US_MRE_ChickenFajita: cse_MRE_BASE {
displayName = "Chicken Fajita MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "A Chicken Fajita MRE";
};
class cse_US_MRE_ChickenFajita_prepared: cse_US_MRE_ChickenFajita {
displayName = "Chicken Fajita MRE (Heated)";
};
class cse_US_MRE_ChickenNoodles: cse_MRE_BASE {
displayName = "Chicken with Noodles MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Chicken with Noodles";
};
class cse_US_MRE_ChickenNoodles_prepared: cse_US_MRE_ChickenNoodles {
displayName = "Chicken Fajita MRE(Heated)";
};
class cse_US_MRE_PorkSausageGravy: cse_MRE_BASE {
displayName = "Pork Sausage with Gravy MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Pork Sausage with Gravy";
};
class cse_US_MRE_PorkSausageGravy_prepared: cse_US_MRE_PorkSausageGravy {
displayName = "Pork Sausage Gravy MRE(Heated)";
};
class cse_US_MRE_MedChicen: cse_MRE_BASE {
displayName = "Mediterranean Chicken MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Mediterranean Chicken";
};
class cse_US_MRE_MedChicken_prepared: cse_US_MRE_MedChicen {
displayName = "Mediterranean Chicken MRE(Heated)";
};
class cse_US_MRE_BeefRoastVeggies: cse_MRE_BASE {
displayName = "Beef Roast with Veggies MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Beef Roast with Veggies";
};
class cse_US_MRE_BeefRoastVeggies_prepared: cse_US_MRE_BeefRoastVeggies {
displayName = "Beef Roast Veg MRE(Heated)";
};
class cse_US_MRE_BeefBrisket: cse_MRE_BASE {
displayName = "Beef Brisket MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Beef Brisket";
};
class cse_US_MRE_BeefBrisket_prepared: cse_US_MRE_BeefBrisket {
displayName = "Beef Brisket MRE(Heated)";
};
class cse_US_MRE_MeatballMarinara: cse_MRE_BASE {
displayName = "Meatball Marinara MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Meatballs with Marinara Sauce";
};
class cse_US_MRE_MeatballMarinara_prepared: cse_US_MRE_MeatballMarinara {
displayName = "Meatball Marinara(Heated)";
};
class cse_US_MRE_BeefStew: cse_MRE_BASE {
displayName = "Beef Stew MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Beef Stew";
};
class cse_US_MRE_BeefStew_prepared: cse_US_MRE_BeefStew {
displayName = "Beef Stew MRE(Heated)";
};
class cse_US_MRE_ChiliMacaroni: cse_MRE_BASE {
displayName = "Chile Macaroni MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Chile Macaroni";
};
class cse_US_MRE_ChileMacaroni_prepared: cse_US_MRE_ChiliMacaroni {
displayName = "Chile Macaroni MRE(Heated)";
};
class cse_US_MRE_VegetableLasagna: cse_MRE_BASE {
displayName = "Vegetable Lasagna MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Vegetable Lasagna";
};
class cse_US_MRE_VegetableLasagna_prepared: cse_US_MRE_VegetableLasagna {
displayName = "Vegetable Lasagna MRE(Heated)";
};
class cse_US_MRE_SpicyPennePasta: cse_MRE_BASE {
displayName = "Spicy Penne Pasta MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Spicy Penne Pasta";
};
class cse_US_MRE_SpicyPennePasta_prepared: cse_US_MRE_SpicyPennePasta {
displayName = "Spicy Penne Pasta MRE(Heated)";
};
class cse_US_MRE_CheeseTortellini: cse_MRE_BASE {
displayName = "Cheese Tortellini MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing CheeseTortellini";
};
class cse_US_MRE_CheeseTortellini_prepared: cse_US_MRE_CheeseTortellini {
displayName = "Cheese Tortellini MRE(Heated)";
};
class cse_US_MRE_Ratatouille: cse_MRE_BASE {
displayName = "Ratatouille MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Ratatouille";
};
class cse_US_MRE_Ratatouille_prepared: cse_US_MRE_Ratatouille {
displayName = "Ratatouille MRE (Heated)";
};
class cse_US_MRE_MexicanStyleChickenStew: cse_MRE_BASE {
displayName = "Mexican Style Chicken Stew MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE containing Mexican Style Chicken Stew";
};
class cse_US_MRE_MexicanStyleChickenStew_prepared: cse_US_MRE_MexicanStyleChickenStew {
displayName = "Mexican Style Chicken Stew MRE (Heated)";
};
class cse_US_MRE_PorkRib: cse_MRE_BASE {
displayName = "Pork Rib MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Pork Rib";
};
class cse_US_MRE_PorkRib_prepared: cse_US_MRE_PorkRib {
displayName = "Pork Rib MRE (Heated)";
};
class cse_US_MRE_MapleSausage: cse_MRE_BASE {
displayName = "Maple Sausage MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Maple Sausage";
};
class cse_US_MRE_MapleSausage_prepared: cse_US_MRE_MapleSausage {
displayName = "Maple Sausage MRE (Heated)";
};
class cse_US_MRE_BeefRavioli: cse_MRE_BASE {
displayName = "Beef Ravioli MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Beef Ravioli";
};
class cse_US_MRE_BeefRavioli_prepared: cse_US_MRE_BeefRavioli {
displayName = "Beef Ravioli MRE (Heated)";
};
class cse_US_MRE_SloppyJoe: cse_MRE_BASE {
displayName = "Sloppy Joe MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing a Sloppy Joe";
};
class cse_US_MRE_SloppyJoe_prepared: cse_US_MRE_SloppyJoe {
displayName = "Sloppy Joe MRE (Heated)";
};
class cse_US_MRE_SpaghettiMeatSauce: cse_MRE_BASE {
displayName = "Spaghetti with Meat Sauce MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Spaghetti with Meat Sauce";
};
class cse_US_MRE_SpaghettiMeatSauce_prepared: cse_US_MRE_SpaghettiMeatSauce {
displayName = "Spaghetti with Meat Sauce MRE (Heated)";
};
class cse_US_MRE_LemonPepperTuna: cse_MRE_BASE {
displayName = " Lemon Pepper Tuna MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Lemon Pepper Tuna";
};
class cse_US_MRE_LemonPepperTuna_prepared: cse_US_MRE_LemonPepperTuna {
displayName = "Lemon Pepper Tuna MRE (Heated)";
};
class cse_US_MRE_AsianBeefStrips: cse_MRE_BASE {
displayName = "Asian Beef Strips MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Asian Beef Strips";
};
class cse_US_MRE_AsianBeefStrips_prepared: cse_US_MRE_AsianBeefStrips {
displayName = "Asian Beef Strips MRE (Heated)";
};
class cse_US_MRE_ChickenPestoPasta: cse_MRE_BASE {
displayName = "Chicken Pesto Pasta MRE";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Chicken Pesto Pasta";
};
class cse_US_MRE_ChickenPestoPasta_prepared: cse_US_MRE_ChickenPestoPasta {
displayName = "Chicken Pesto Pasta (Heated)";
};
class cse_US_MRE_SouthwestStyleBeefBlackBeans: cse_MRE_BASE {
displayName = "Southwest Style Beef & Black Beans";
picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa";
descriptionShort = "An MRE Containing Southwest Style Beef & Black Beans";
};
class cse_US_MRE_SouthwestStyleBeefBlackBeans_prepared: cse_US_MRE_SouthwestStyleBeefBlackBeans {
displayName = "Southwest Style Beef & Black Beans (Heated)";
};
class cse_mre_c_ration: cse_MRE_BASE {
displayName = "C Ration";
picture = "\cse\cse_sys_field_rations\data\pictures\gbl_mre_c_ration.paa";
descriptionShort = "C ration";
};
};

View File

@ -0,0 +1,8 @@
class Combat_Space_Enhancement {
class cfgModules {
class cse_sys_field_rations {
init = "call compile preprocessFile 'cse\cse_sys_field_rations\init_sys_field_rations.sqf';";
name = "Field Rations";
};
};
};

View File

@ -0,0 +1,3 @@
#include "gui\define.h"
#include "gui\dialog_menu.h"

View File

@ -0,0 +1,31 @@
#define _ARMA_
class CfgPatches {
class cse_sys_field_rations {
units[] = {"cse_field_rations_all"};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"cse_gui", "cse_main", "cse_f_eh", "cse_f_configuration", "cse_f_modules", "cse_f_states"};
version = "0.10.0_rc";
author[] = {"Combat Space Enhancement"};
authorUrl = "http://csemod.com";
};
};
class CfgAddons {
class PreloadAddons {
class cse_sys_field_rations {
list[] = {"cse_sys_field_rations"};
};
};
};
#include "CfgFunctions.h"
#include "Combat_Space_Enhancement.h"
#include "CfgVehicles.h"
// Here for backwards compatabilty.
// #include "CfgMagazines.h"
#include "CfgWeapons.h"
#include "CfgSounds.h"
#include "GUI.h"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,32 @@
ambient[]={1,1,1,1};
diffuse[]={0.5,0.5,0.5,1};
forcedDiffuse[]={0.5,0.5,0.5,0};
emmisive[]={0,0,0,1};
specular[]={0.30000001,0.30000001,0.30000001,0};
specularPower=17;
PixelShaderID="NormalMapSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
texture="cse\cse_sys_field_rations\data\MRE_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage2
{
texture="cse\cse_sys_field_rations\data\MRE_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,32 @@
ambient[]={1,1,1,1};
diffuse[]={0.5,0.5,0.5,1};
forcedDiffuse[]={0.5,0.5,0.5,0};
emmisive[]={0,0,0,1};
specular[]={0.30000001,0.30000001,0.30000001,0};
specularPower=17;
PixelShaderID="NormalMapSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
texture="cse\cse_sys_field_rations\data\MRE_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage2
{
texture="cse\cse_sys_field_rations\data\MRE_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,39 @@
/**
* fn_actionDrink_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_item", "_time", "_res"];
_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_param;
_item = [_this, 1, "", [""]] call BIS_fnc_param;
_time = [_this, 2, 0, [0]] call BIS_fnc_param;
["cse_fieldRations_actionConsuming", true, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon;
CSE_ORIGINAL_POSITION_PLAYER = getPos _unit;
playsound "cse_drinking";
_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar;
["cse_fieldRations_actionConsuming", false, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon;
if ([_item] call cse_fnc_itemIsDrinkable_FR && _res) then {
_unit removeItem _item;
_unit setvariable ["cse_drink_status_fr", ((_unit getvariable ["cse_drink_status_fr", 100]) + ([_item] call cse_fnc_getDrinkableValue_FR)) min 100];
_onDrink = getText(ConfigFile >> "CfgWeapons" >> _item >> "cse_onDrink");
if (_onDrink != "") then {
_unit addItem _onDrink;
};
[format["ACTION DRINK: %1 FOUND %2",_unit, _item]] call cse_fnc_debug;
if ((_unit getvariable ["cse_drink_status_fr", 100]) >= 100) then {
hint "You feel stuffed..";
};
};

View File

@ -0,0 +1,33 @@
/**
* fn_actionEat_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_item", "_time", "_res"];
_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_param;
_item = [_this, 1, "", [""]] call BIS_fnc_param;
_time = [_this, 2, 0, [0]] call BIS_fnc_param;
["cse_fieldRations_actionConsuming", true, CSE_ICON_PATH + "icon_survival.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon;
CSE_ORIGINAL_POSITION_PLAYER = getPos _unit;
_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar;
["cse_fieldRations_actionConsuming", false, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon;
if ([_item] call cse_fnc_itemIsEatable_FR && _res) then {
_unit removeItem _item;
_unit setvariable ["cse_food_status_fr", ((_unit getvariable ["cse_food_status_fr", 100]) + ([_item] call cse_fnc_getEatableValue_FR)) min 100];
[format["ACTIONEAT: %1 FOUND %2",_unit, _item]] call cse_fnc_debug;
if ((_unit getvariable ["cse_food_status_fr", 100]) >= 100) then {
hint "You feel stuffed..";
};
};

View File

@ -0,0 +1,26 @@
/**
* fn_actionRefillCamelbak_FR.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_unit", "_item", "_onRefill", "_time", "_res"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_time = [_this, 1, 0, [0]] call BIS_fnc_param;
CSE_ORIGINAL_POSITION_PLAYER = getPos _unit;
_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar;
if ([uniformContainer _unit] call cse_fnc_isCamelbak_FR && _res) then {
_maxValue = getNumber(ConfigFile >> "cfgWeapons" >> typeOf (uniformContainer _unit) >> "cse_camelbak_maxContent");
if (_maxValue > 0) then {
_uniform = uniformContainer _unit;
_uniform setvariable ["cse_camelbak_status_fr", _maxValue];
};
};

View File

@ -0,0 +1,28 @@
/**
* fn_actionRefill_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_item", "_onRefill", "_time", "_res"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_item = [_this, 1, "", [""]] call BIS_fnc_param;
_time = [_this, 2, 0, [0]] call BIS_fnc_param;
CSE_ORIGINAL_POSITION_PLAYER = getPos _unit;
_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar;
if ([_item] call cse_fnc_itemIsRefillable_FR && _res) then {
_unit removeItem _item;
_onRefill = getText(ConfigFile >> "CfgWeapons" >> _item >> "cse_onRefill");
if (_onRefill != "") then {
_unit addItem _onRefill;
};
[format["ACTION REFILL: %1 FOUND %2 %3",_unit, _item, _onRefill]] call cse_fnc_debug;
};

View File

@ -0,0 +1,11 @@
/**
* fn_canDrink_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
(((_this select 0) getvariable ["cse_drink_status_fr", 100]) < 101)

View File

@ -0,0 +1,14 @@
/**
* fn_canEat_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
((_unit getvariable ["cse_food_status_fr", 100]) < 101)

View File

@ -0,0 +1,6 @@
private ["_unit", "_target"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_target = [_this, 1, objNull, [objNull]] call bis_fnc_param;
([_unit,_target] call cse_fnc_canRefill_FR);

View File

@ -0,0 +1,16 @@
/**
* fn_canRefill_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_target"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_target = [_this, 1, objNull, [objNull]] call bis_fnc_param;
(((_target getvariable ["cse_isRefillObject_FR", false]) || (_target iskindof "Land_Misc_Well_C_EP1") || (_target iskindof "Land_Misc_Well_L_EP1") || (_target iskindof "Land_Barrel_water") || (_target iskindof "Land_stand_waterl_EP1") || (_target iskindof "Land_Reservoir_EP1")) && (_target distance _unit < 5))

View File

@ -0,0 +1,18 @@
/**
* fn_getDrinkableValue_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_item", "_return"];
_item = [_this, 0, "", [""]] call bis_fnc_param;
_return = 0;
if ([_item] call cse_fnc_itemIsDrinkable_FR) then {
_return = getNumber(ConfigFile >> "CfgWeapons" >> _item >> "cse_isDrinkable");
};
_return;

View File

@ -0,0 +1,18 @@
/**
* fn_getEatableValue_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_item", "_return"];
_item = [_this, 0, "", [""]] call bis_fnc_param;
_return = 0;
if ([_item] call cse_fnc_itemIsEatable_FR) then {
_return = getNumber(ConfigFile >> "CfgWeapons" >> _item >> "cse_isEatable");
};
_return;

View File

@ -0,0 +1,13 @@
/**
* fn_getStartContent_Camelbak_FR.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_camelbak"];
_camelbak = [_this, 0, objNull, [objNull]] call bis_fnc_param;
(getNumber(ConfigFile >> "cfgWeapons" >> typeOf _camelbak >> "cse_camelbak_initialContent") min ([_camelbak] call cse_fnc_getMaxContent_Camelbak_FR));

View File

@ -0,0 +1,13 @@
/**
* fn_getMaxContent_Camelbak_FR.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_camelbak"];
_camelbak = [_this, 0, objNull, [objNull]] call bis_fnc_param;
getNumber(ConfigFile >> "cfgWeapons" >> typeOf _camelbak >> "cse_camelbak_maxContent");

View File

@ -0,0 +1,16 @@
/**
* fn_hasCamelbak_FR.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_unit"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
if !(_unit isKindOf "CAManBase") exitwith {false};
([uniformContainer _unit] call cse_fnc_isCamelbak_FR);

View File

@ -0,0 +1,22 @@
/**
* fn_hasDrinkableItem_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_return", "_magazines"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_return = false;
_magazines = items _unit;
{
if ([_x] call cse_fnc_itemIsDrinkable_FR) exitwith {
_return = true;
};
}foreach _magazines;
_return;

View File

@ -0,0 +1,22 @@
/**
* fn_hasEatableItem_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_return", "_magazines"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_return = false;
_magazines = items _unit;
{
if ([_x] call cse_fnc_itemIsEatable_FR) exitwith {
_return = true;
};
}foreach _magazines;
_return;

View File

@ -0,0 +1,22 @@
/**
* fn_hasRefillableItem_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_unit", "_return", "_magazines"];
_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_return = false;
_magazines = items _unit;
{
if ([_x] call cse_fnc_itemIsRefillable_FR) exitwith {
_return = true;
};
}foreach _magazines;
_return;

View File

@ -0,0 +1,17 @@
/**
* fn_isCamelbak_FR.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_return", "_object"];
_object = [_this, 0, objNull, [objNull]] call bis_fnc_param;
_return = false;
if (isClass (ConfigFile >> "cfgWeapons" >> typeOf _object)) then {
_return = getNumber(ConfigFile >> "cfgWeapons" >> typeOf _object >> "cse_camelbak_maxContent") > 0;
};
_return

View File

@ -0,0 +1,20 @@
/**
* fn_itemIsDrinkable_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_item", "_return", "_cfg"];
_item = [_this, 0, "", [""]] call bis_fnc_param;
_return = false;
_cfg = (ConfigFile >> "CfgWeapons" >> _item);
if (isClass _cfg) then {
_return = (getNumber (_cfg >> "cse_isDrinkable") > 0);
};
_return;

View File

@ -0,0 +1,20 @@
/**
* fn_itemIsEatable_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_item", "_return", "_cfg"];
_item = [_this, 0, "", [""]] call bis_fnc_param;
_return = false;
_cfg = (ConfigFile >> "CfgWeapons" >> _item);
if (isClass _cfg) then {
_return = (getNumber (_cfg >> "cse_isEatable") > 0);
};
_return;

View File

@ -0,0 +1,20 @@
/**
* fn_itemIsRefillable_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_item", "_return", "_cfg"];
_item = [_this, 0, "", [""]] call bis_fnc_param;
_return = false;
_cfg = (ConfigFile >> "CfgWeapons" >> _item);
if (isClass _cfg) then {
_return = (getText(_cfg >> "cse_onRefill") != "");
};
_return;

View File

@ -0,0 +1,40 @@
/**
* fn_reduceLevels_FR.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_absSpeed", "_camelbak_state","_decentWater","_decentFood", "_unit"];
_unit = _this select 0;
_drinkStatus = _unit getvariable ["cse_drink_status_fr", 100];
_foodStatus = _unit getvariable ["cse_food_status_fr", 100];
_absSpeed = abs(speed _unit);
_decentWater = CSE_DESCENT_RATE_WATER_FR;
_decentFood = CSE_DESCENT_RATE_FOOD_FR;
// TODO add in weight calculation and effect
// If _unit is inside a vehicle, adjust waterlevels
if (vehicle _unit == _unit) then {
if (_absSpeed > 1) then {
_decentWater = _decentWater + (_absSpeed / 400);
_decentFood = _decentFood + (_absSpeed / 1200);
};
};
if ([_unit] call cse_fnc_hasCamelbak_FR) then {
_camelbak_state = (uniformContainer _unit) getvariable ["cse_camelbak_status_fr", [(uniformContainer _unit)] call cse_fnc_getInitialContent_Camelbak_FR];
if (_camelbak_state > 0) then {
(uniformContainer _unit) setvariable ["cse_camelbak_status_fr", _camelbak_state - _decentWater];
} else {
_unit setvariable ["cse_drink_status_fr", _drinkStatus - _decentWater];
};
} else {
_unit setvariable ["cse_drink_status_fr", _drinkStatus - _decentWater];
};
_unit setvariable ["cse_food_status_fr", _foodStatus - _decentFood];

View File

@ -0,0 +1,53 @@
/**
* fn_updateFieldRations_FR.sqf
* @Descr: Updates the hydration and hunger levels for given unit and if the unit is the player, it will also give a call to the UI icons from Field Rations.
* @Author: Glowbal
*
* @Arguments: [unit OBJECT (The unit that will have the levels updated)]
* @Return: void
* @PublicAPI: false
*/
private ["_unit", "_drinkStatus","_foodStatus","_camelbakStatus", "_animState", "_aniMStateChars", "_animP"];
_unit = _this select 0;
[_unit] call cse_fnc_reduceLevels_FR;
_drinkStatus = _unit getvariable ["cse_drink_status_fr", 100];
_foodStatus = _unit getvariable ["cse_food_status_fr", 100];
_camelbakStatus = _unit getvariable ["cse_camelbak_status_fr", 0];
//[format["drink: %1 Food: %2 Camelbak: %3 - %4", _drinkStatus, _foodStatus, _camelbakStatus, _unit]] call cse_fnc_debug;
[] call cse_fnc_updateUIStatus_FR;
if (_drinkStatus < 25 || _foodStatus < 25) then {
if (speed _unit > 12 && vehicle _unit == _unit) then {
_unit playMove "amovppnemstpsraswrfldnon";
};
};
if (_drinkStatus < 30 || _foodStatus < 30) then {
CSE_SHOW_UI_ICONS_FR = true;
} else {
CSE_SHOW_UI_ICONS_FR = false;
};
if (_drinkStatus < 20 || _foodStatus < 20) then {
if (random(1) > 0.8) then {
[_unit] call cse_fnc_setUnconsciousState;
};
};
_animState = animationState _unit;
_animStateChars = toArray _animState;
_animP = toString [_animStateChars select 5,_animStateChars select 6,_aniMStateChars select 7];
if (_drinkStatus < 7 || _foodStatus < 7) then {
if (speed _unit > 1 && vehicle _unit == _unit && (_animP != "pne")) then {
_unit playMove "amovppnemstpsraswrfldnon";
};
};
if (_drinkStatus < 1 || _foodStatus < 1) then {
if (random(1) > 0.2) then {
[_unit] call cse_fnc_setDead;
};
};

View File

@ -0,0 +1,60 @@
/**
* fn_updateUIStatus_FR.sqf
* @Descr: Updates the UI icons for field rations, based on player stats.
* @Author: Glowbal
*
* @Arguments: [skipCheck BOOL (Whatever or not checks for display should be skipped. True will force display)]
* @Return: void
* @PublicAPI: true
*/
#define DEFAULT_ALPHA_LEVEL 0.4
private ["_unit","_PlayerStatusUI","_ctrlPlayerStatusDrink", "_ctrlPlayerStatusFood", "_ctrlCamelBakStatus", "_alphaCamelBak", "_drinkStatus","_foodStatus","_camelbakStatus", "_greenCamelBak", "_greenDrink", "_greenFood", "_yellowFood","_yellowDrink","_yellowCamelBak", "_redFood", "_redDrink", "_redCamelBak"];
_skipChecks = [_this, 0, false, [false]] call BIS_fnc_Param;
if !(hasInterface) exitwith {};
_unit = player;
disableSerialization;
_PlayerStatusUI = uiNamespace getVariable "CSE_sys_field_rations_PlayerStatusUI";
if (!isnil "_PlayerStatusUI") then {
_ctrlPlayerStatusDrink = _PlayerStatusUI displayCtrl 11113;
_ctrlPlayerStatusFood = _PlayerStatusUI displayCtrl 11112;
_ctrlCamelBakStatus = _PlayerStatusUI displayCtrl 11114;
_drinkStatus = _unit getvariable ["cse_drink_status_fr", 100];
_foodStatus = _unit getvariable ["cse_food_status_fr", 100];
_camelbakStatus = _unit getvariable ["cse_camelbak_status_fr", 0];
if (CSE_SHOW_UI_ICONS_FR || CSE_SHOW_UI_ICONS_ONACTION_FR || CSE_SHOW_UI_ICONS_SETTING_FR || ((_drinkStatus < 30) || (_foodStatus < 30))) then {
_alphaCamelBak = 0;
if ([_unit] call cse_fnc_hasCamelbak_FR) then {
_alphaCamelBak = DEFAULT_ALPHA_LEVEL;
};
_greenCamelBak = _camelbakStatus/100;
_redCamelBak = 1.0 - _greenCamelBak;
_yellowCamelBak = 0;
_ctrlCamelBakStatus ctrlSetTextColor [_redCamelBak,_greenCamelBak,_yellowCamelBak, _alphaCamelBak];
_greenFood = _foodStatus/100;
_redFood = 1.0 - _greenFood;
_yellowFood = 0;
_ctrlPlayerStatusFood ctrlSetTextColor [_redFood,_greenFood,_yellowFood, DEFAULT_ALPHA_LEVEL];
_greenDrink = _drinkStatus/100;
_redDrink = 1.0 - _greenDrink;
_yellowDrink = 0;
_ctrlPlayerStatusDrink ctrlSetTextColor [_redDrink,_greenDrink,_yellowDrink, DEFAULT_ALPHA_LEVEL];
} else {
_ctrlCamelBakStatus ctrlSetTextColor [0, 0, 0, 0];
_ctrlPlayerStatusFood ctrlSetTextColor [0, 0, 0, 0];
_ctrlPlayerStatusDrink ctrlSetTextColor [0, 0, 0, 0];
};
if (!_skipChecks) then {
if (CSE_SHOW_UI_ICONS_ONACTION_FR) then {
CSE_SHOW_UI_ICONS_ONACTION_FR = false;
};
};
};

View File

@ -0,0 +1,797 @@
#ifndef CSE_DEFINE_H
#define CSE_DEFINE_H
// define.hpp
#define true 1
#define false 0
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_TOOLBOX 6
#define CT_CHECKBOXES 7
#define CT_PROGRESS 8
#define CT_HTML 9
#define CT_STATIC_SKEW 10
#define CT_ACTIVETEXT 11
#define CT_TREE 12
#define CT_STRUCTURED_TEXT 13
#define CT_CONTEXT_MENU 14
#define CT_CONTROLS_GROUP 15
#define CT_SHORTCUTBUTTON 16
#define CT_XKEYDESC 40
#define CT_XBUTTON 41
#define CT_XLISTBOX 42
#define CT_XSLIDER 43
#define CT_XCOMBO 44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK 98
#define CT_ANIMATED_USER 99
#define CT_MAP 100
#define CT_MAP_MAIN 101
#define CT_LISTNBOX 102
// Static styles
#define ST_POS 0x0F
#define ST_HPOS 0x03
#define ST_VPOS 0x0C
#define ST_LEFT 0x00
#define ST_RIGHT 0x01
#define ST_CENTER 0x02
#define ST_DOWN 0x04
#define ST_UP 0x08
#define ST_VCENTER 0x0c
#define ST_TYPE 0xF0
#define ST_SINGLE 0
#define ST_MULTI 16
#define ST_TITLE_BAR 32
#define ST_PICTURE 48
#define ST_FRAME 64
#define ST_BACKGROUND 80
#define ST_GROUP_BOX 96
#define ST_GROUP_BOX2 112
#define ST_HUD_BACKGROUND 128
#define ST_TILE_PICTURE 144
#define ST_WITH_RECT 160
#define ST_LINE 176
#define ST_SHADOW 0x100
#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI
#define ST_KEEP_ASPECT_RATIO 0x800
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
// Slider styles
#define SL_DIR 0x400
#define SL_VERT 0
#define SL_HORZ 0x400
#define SL_TEXTURES 0x10
// Listbox styles
#define LB_TEXTURES 0x10
#define LB_MULTI 0x20
#define FontCSE "PuristaMedium"
class cse_gui_backgroundBase {
type = CT_STATIC;
idc = -1;
style = ST_PICTURE;
colorBackground[] = {0,0,0,0};
colorText[] = {1, 1, 1, 1};
font = FontCSE;
text = "";
sizeEx = 0.032;
};
class cse_gui_editBase
{
access = 0;
type = 2;
x = 0;
y = 0;
h = 0.04;
w = 0.2;
colorBackground[] =
{
0,
0,
0,
1
};
colorText[] =
{
0.95,
0.95,
0.95,
1
};
colorSelection[] =
{
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
1
};
autocomplete = "";
text = "";
size = 0.2;
style = "0x00 + 0x40";
font = "PuristaMedium";
shadow = 2;
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorDisabled[] =
{
1,
1,
1,
0.25
};
};
class cse_gui_buttonBase {
idc = -1;
type = 16;
style = ST_LEFT;
text = "";
action = "";
x = 0.0;
y = 0.0;
w = 0.25;
h = 0.04;
size = 0.03921;
sizeEx = 0.03921;
color[] = {1.0, 1.0, 1.0, 1};
color2[] = {1.0, 1.0, 1.0, 1};
/*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"};
colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8};
colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8};
*/
colorBackground[] = {1,1,1,0.95};
colorbackground2[] = {1,1,1,0.95};
colorDisabled[] = {1,1,1,0.6};
colorFocused[] = {1,1,1,1};
colorBackgroundFocused[] = {1,1,1,1};
periodFocus = 1.2;
periodOver = 0.8;
default = false;
class HitZone {
left = 0.00;
top = 0.00;
right = 0.00;
bottom = 0.00;
};
class ShortcutPos {
left = 0.00;
top = 0.00;
w = 0.00;
h = 0.00;
};
class TextPos {
left = 0.002;
top = 0.0004;
right = 0.0;
bottom = 0.00;
};
textureNoShortcut = "";
animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa";
animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
period = 0.5;
font = FontCSE;
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0};
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1};
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
class Attributes {
font = FontCSE;
color = "#E5E5E5";
align = "center";
shadow = "true";
};
class AttributesImage {
font = FontCSE;
color = "#E5E5E5";
align = "left";
shadow = "true";
};
};
class cse_gui_RscProgress {
type = 8;
style = 0;
colorFrame[] = {1,1,1,0.7};
colorBar[] = {1,1,1,0.7};
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class cse_gui_staticBase {
idc = -1;
type = CT_STATIC;
x = 0.0;
y = 0.0;
w = 0.183825;
h = 0.104575;
style = ST_LEFT;
font = FontCSE;
sizeEx = 0.03921;
colorText[] = {0.95, 0.95, 0.95, 1.0};
colorBackground[] = {0, 0, 0, 0};
text = "";
};
class RscListBox;
class cse_gui_listBoxBase : RscListBox{
type = CT_LISTBOX;
style = ST_MULTI;
font = FontCSE;
sizeEx = 0.03921;
color[] = {1, 1, 1, 1};
colorText[] = {0.543, 0.5742, 0.4102, 1.0};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 1};
colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
period = 1.2;
rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 1};
maxHistoryDelay = 1.0;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
class ListScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
class ScrollBar {
color[] = {1, 1, 1, 0.6};
colorActive[] = {1, 1, 1, 1};
colorDisabled[] = {1, 1, 1, 0.3};
thumb = "";
arrowFull = "";
arrowEmpty = "";
border = "";
};
};
class cse_gui_listNBox {
access = 0;
type = CT_LISTNBOX;// 102;
style =ST_MULTI;
w = 0.4;
h = 0.4;
font = FontCSE;
sizeEx = 0.031;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
columns[] = {0.0};
color[] = {1, 1, 1, 1};
rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 0.2};
colorText[] = {1,1, 1, 1.0};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 0.0};
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
colorActive[] = {0,0,0,1};
colorDisabled[] = {0,0,0,0.3};
rows = 1;
drawSideArrows = 0;
idcLeft = -1;
idcRight = -1;
maxHistoryDelay = 1;
soundSelect[] = {"", 0.1, 1};
period = 1;
shadow = 2;
class ScrollBar {
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
border = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
thumb = "#(argb,8,8,3)color(1,1,1,1)";
};
class ListScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
};
class RscCombo;
class cse_gui_comboBoxBase: RscCombo {
idc = -1;
type = 4;
style = "0x10 + 0x200";
x = 0;
y = 0;
w = 0.3;
h = 0.035;
color[] = {0,0,0,0.6};
colorActive[] = {1,0,0,1};
colorBackground[] = {0,0,0,1};
colorDisabled[] = {1,1,1,0.25};
colorScrollbar[] = {1,0,0,1};
colorSelect[] = {0,0,0,1};
colorSelectBackground[] = {1,1,1,0.7};
colorText[] = {1,1,1,1};
arrowEmpty = "";
arrowFull = "";
wholeHeight = 0.45;
font = FontCSE;
sizeEx = 0.031;
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
maxHistoryDelay = 1.0;
class ScrollBar
{
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
border = "";
};
class ComboScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
};
class cse_gui_mapBase {
moveOnEdges = 1;
x = "SafeZoneXAbs";
y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "SafeZoneWAbs";
h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
type = 100; // Use 100 to hide markers
style = 48;
shadow = 0;
ptsPerSquareSea = 5;
ptsPerSquareTxt = 3;
ptsPerSquareCLn = 10;
ptsPerSquareExp = 10;
ptsPerSquareCost = 10;
ptsPerSquareFor = 9;
ptsPerSquareForEdge = 9;
ptsPerSquareRoad = 6;
ptsPerSquareObj = 9;
showCountourInterval = 0;
scaleMin = 0.001;
scaleMax = 1.0;
scaleDefault = 0.16;
maxSatelliteAlpha = 0.85;
alphaFadeStartScale = 0.35;
alphaFadeEndScale = 0.4;
colorBackground[] = {0.969,0.957,0.949,1.0};
colorSea[] = {0.467,0.631,0.851,0.5};
colorForest[] = {0.624,0.78,0.388,0.5};
colorForestBorder[] = {0.0,0.0,0.0,0.0};
colorRocks[] = {0.0,0.0,0.0,0.3};
colorRocksBorder[] = {0.0,0.0,0.0,0.0};
colorLevels[] = {0.286,0.177,0.094,0.5};
colorMainCountlines[] = {0.572,0.354,0.188,0.5};
colorCountlines[] = {0.572,0.354,0.188,0.25};
colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
colorPowerLines[] = {0.1,0.1,0.1,1.0};
colorRailWay[] = {0.8,0.2,0.0,1.0};
colorNames[] = {0.1,0.1,0.1,0.9};
colorInactive[] = {1.0,1.0,1.0,0.5};
colorOutside[] = {0.0,0.0,0.0,1.0};
colorTracks[] = {0.84,0.76,0.65,0.15};
colorTracksFill[] = {0.84,0.76,0.65,1.0};
colorRoads[] = {0.7,0.7,0.7,1.0};
colorRoadsFill[] = {1.0,1.0,1.0,1.0};
colorMainRoads[] = {0.9,0.5,0.3,1.0};
colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
colorGrid[] = {0.1,0.1,0.1,0.6};
colorGridMap[] = {0.1,0.1,0.1,0.6};
colorText[] = {1, 1, 1, 0.85};
font = "PuristaMedium";
sizeEx = 0.0270000;
stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
onMouseButtonClick = "";
onMouseButtonDblClick = "";
fontLabel = "PuristaMedium";
sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontGrid = "TahomaB";
sizeExGrid = 0.02;
fontUnits = "TahomaB";
sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontNames = "PuristaMedium";
sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
fontInfo = "PuristaMedium";
sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontLevel = "TahomaB";
sizeExLevel = 0.02;
text = "#(argb,8,8,3)color(1,1,1,1)";
class ActiveMarker {
color[] = {0.30, 0.10, 0.90, 1.00};
size = 50;
};
class Legend
{
x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
font = "PuristaMedium";
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
colorBackground[] = {1,1,1,0.5};
color[] = {0,0,0,1};
};
class Task
{
icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
colorCreated[] = {1,1,1,1};
colorCanceled[] = {0.7,0.7,0.7,1};
colorDone[] = {0.7,1,0.3,1};
colorFailed[] = {1,0.3,0.2,1};
size = 27;
importance = 1;
coefMin = 1;
coefMax = 1;
};
class Waypoint
{
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
color[] = {0,0,0,1};
size = 20;
importance = "1.2 * 16 * 0.05";
coefMin = 0.900000;
coefMax = 4;
};
class WaypointCompleted
{
icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
color[] = {0,0,0,1};
size = 20;
importance = "1.2 * 16 * 0.05";
coefMin = 0.900000;
coefMax = 4;
};
class CustomMark
{
icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
size = 24;
importance = 1;
coefMin = 1;
coefMax = 1;
color[] = {0,0,0,1};
};
class Command
{
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
size = 18;
importance = 1;
coefMin = 1;
coefMax = 1;
color[] = {1,1,1,1};
};
class Bush
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = "14/2";
importance = "0.2 * 14 * 0.05 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class Rock
{
icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
color[] = {0.1,0.1,0.1,0.8};
size = 12;
importance = "0.5 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class SmallTree
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
importance = "0.6 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class Tree
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
importance = "0.9 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class busstop
{
icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class fuelstation
{
icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class hospital
{
icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class church
{
icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class lighthouse
{
icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class power
{
icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powersolar
{
icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwave
{
icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwind
{
icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class quay
{
icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class shipwreck
{
icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class transmitter
{
icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class watertower
{
icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class Cross
{
icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Chapel
{
icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Bunker
{
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 14;
importance = "1.5 * 14 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Fortress
{
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Fountain
{
icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
size = 11;
importance = "1 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Ruin
{
icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
size = 16;
importance = "1.2 * 16 * 0.05";
coefMin = 1;
coefMax = 4;
color[] = {0,0,0,1};
};
class Stack
{
icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.9;
coefMax = 4;
color[] = {0,0,0,1};
};
class Tourism
{
icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
size = 16;
importance = "1 * 16 * 0.05";
coefMin = 0.7;
coefMax = 4;
color[] = {0,0,0,1};
};
class ViewTower
{
icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
size = 16;
importance = "2.5 * 16 * 0.05";
coefMin = 0.5;
coefMax = 4;
color[] = {0,0,0,1};
};
};
#endif

View File

@ -0,0 +1,172 @@
class cse_dialog_menu_frm {
idd = 54328;
movingEnable = false;
onLoad = "uiNamespace setVariable ['cse_dialog_menu_frm', _this select 0];";
onUnload = "uiNamespace setVariable ['cse_dialog_menu_frm', nil];";
class controlsBackground {
class HeaderBackground: cse_gui_backgroundBase{
idc = -1;
type = CT_STATIC;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
style = ST_LEFT + ST_SHADOW;
font = "PuristaMedium";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {0.95, 0.95, 0.95, 0.75};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
text = "";
};
class CenterBackground: HeaderBackground {
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
h = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
};
class LeftBackground: CenterBackground {
y = "4.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
h = "12.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "25 * (((safezoneW / safezoneH) min 1.2) / 40)";
};
class RightBackground: LeftBackground {
x = "26.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
w = "12.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
};
};
class controls {
class HeaderName {
idc = 1;
type = CT_STATIC;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
style = ST_LEFT + ST_SHADOW;
font = "PuristaMedium";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {0.95, 0.95, 0.95, 0.75};
colorBackground[] = {0,0,0,0};
text = "Dialog with Person";
};
class labelShow : cse_gui_staticBase {
idc = 12;
x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "2.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "Name:";
};
class labelShow2: cse_gui_staticBase {
idc = 13;
x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "3.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "State:";
};
class actionClose : cse_gui_buttonBase {
idc = 10;
text = "Close";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)";
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1, 1, 1, 1};
color2[] = {0,0,0, 1};
colorBackgroundFocused[] = {1,1,1,1};
colorBackground[] = {1,1,1,1};
colorbackground2[] = {1,1,1,1};
colorDisabled[] = {0.5,0.5,0.5,0.8};
colorFocused[] = {0,0,0,1};
periodFocus = 1;
periodOver = 1;
action = "closedialog 0;";
};
class listboxConversationOverView: cse_gui_listNBox {
idc = 200;
x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "23 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
colorBackground[] = {0, 0, 0, 0.9};
colorSelectBackground[] = {0, 0, 0, 0.9};
columns[] = {0.0, 0.25};
};
class labelTitle: cse_gui_staticBase {
idc = 250;
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "5.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "Conversation Selection";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
};
class actionListBox1: cse_gui_listBoxBase {
idc = 400;
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "7.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
colorBackground[] = {0,0,0, 0.9};
colorSelectBackground[] = {0,0,0, 0.9};
colorSelectBackground2[] = { 0.9, 0.9, 0.9, 0.9};
color[] = {1, 1, 1, 1};
colorText[] = {1, 1, 1, 1};
colorSelect[] = {1, 1, 1, 1};
colorSelect2[] = {0,0,0, 1};
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.75)";
rowHeight = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.75)";
};
class labelKey: cse_gui_staticBase {
idc = 300;
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "6.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
};
class actionPerformAction: actionClose {
idc = 30;
text = "Say selected line type";
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)";
action = "[CSE_AIM_DIALOG_INTERACTION_TARGET_AIM, player] call cse_fnc_playerSpeaksLine_AIM; ";
animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {0,0,0, 1};
color2[] = {0,0,0, 1};
colorBackgroundFocused[] = {1,1,1,1};
colorBackground[] = {1,1,1,1};
colorbackground2[] = {1,1,1,1};
colorDisabled[] = {0.5,0.5,0.5,0.8};
colorFocused[] = {0,0,0,1};
};
};
};

View File

@ -0,0 +1,48 @@
#define RIGHT_SIDE (safezoneW + safezoneX)
#define LEFT_SIDE safezoneX
#define TOP_SIDE safeZoneY
#define BOTTOM_SIDE (safeZoneH + safezoneY)
#define ICON_WIDTH (1.75 * (((safezoneW / safezoneH) min 1.2) / 40))
#define X_POS_ICONS RIGHT_SIDE - (1.1 * ICON_WIDTH)
#define Y_POS_ICONS BOTTOM_SIDE - (0.1 * ICON_WIDTH)
#define DIFFERENCE_ICONS (1.1 * ICON_WIDTH)
class RscTitles {
class CSE_sys_field_rations_PlayerStatusUI {
duration = 1e+011;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSE_sys_field_rations_PlayerStatusUI', _this select 0];";
class controlsBackground {
class FoodStatus: cse_gui_backgroundBase {
text = "cse\cse_sys_field_rations\data\hud_foodstatus.paa";
colorText[] = {0.0,1.0,0.0,0.4};
idc = 11112;
x = X_POS_ICONS;
y = Y_POS_ICONS;
w = ICON_WIDTH;
h = ICON_WIDTH;
};
class drinkStatus: cse_gui_backgroundBase {
text = "cse\cse_sys_field_rations\data\icons\icon_drinking.paa";
colorText[] = {0.0,1.0,0.0,0.4};
idc = 11113;
x = X_POS_ICONS;
y = Y_POS_ICONS - DIFFERENCE_ICONS;
w = ICON_WIDTH;
h = ICON_WIDTH;
};
/* class CamelBak: cse_gui_backgroundBase {
text = "cse\cse_sys_field_rations\data\hud_camelbak.paa";
colorText[] = {0.0,1.0,0.0,0};
idc = 11114;
x = "0.955313 * safezoneW + safezoneX";
y = "0.80 * safezoneH + safezoneY";
w = 0.05;
h = 0.09;
};*/
};
};
};

View File

@ -0,0 +1,36 @@
// CSE FRM HUD
// by Glowbal
class RscTitles{
class RscCSEPlayerStatus {
duration = 10000000000;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEFRMStatusUI', _this select 0];";
class controlsBackground {
class cse_FoodStatus: cse_backgroundBase {
text = "cse\cse_sys_field_rations\data\hud_foodstatus2.paa";
colorText[] = {0.0, 1.0, 0.0, 0.9};
idc = 11112;
x = "0.955313 * safezoneW + safezoneX";
y = "0.90 * safezoneH + safezoneY";
w = "0.04 * safezoneW";
h = "0.05 * safezoneH";
};
class cse_drinkStatus: cse_FoodStatus {
text = "cse\cse_sys_field_rations\data\hud_drinkstatus2.paa";
idc = 11113;
y = "0.85 * safezoneH + safezoneY";
};
class cse_CamelBak: cse_FoodStatus {
text = "cse\cse_sys_field_rations\data\hud_camelbak.paa";
idc = 11114;
y = "0.80 * safezoneH + safezoneY";
};
};
};
};

View File

@ -0,0 +1,156 @@
/**
* init_sys_field_rations.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
24 hours:
- 86400 seconds total
Run every 10 seconds so:
- 8640 iterations in 24 hours
If we want to lower the decent rate from 100% to 0 in 24 hours:
100% / 8640 = 0.011574% per iteration.
To increase it, decrease the modifier.
To decease it, increase the modifier.
*/
#define DEFAULT_DECENT_RATE 0.011574
private ["_args", "_entries"];
CSE_DESCENT_RATE_WATER_FR = DEFAULT_DECENT_RATE;
CSE_DESCENT_RATE_FOOD_FR = DEFAULT_DECENT_RATE;
CSE_SHOW_UI_ICONS_FR = false;
CSE_SHOW_UI_ICONS_ONACTION_FR = false;
CSE_SHOW_UI_ICONS_SETTING_FR = true;
["cse_drink_status_fr",100,false,"frm", false] call cse_fnc_defineVariable;
["cse_food_status_fr",100,false,"frm", false] call cse_fnc_defineVariable;
if (!hasInterface) exitwith {}; // only want to run this on clients
_args = _this;
{
if (_x select 0 == "timeWithoutWater") then {
CSE_DESCENT_RATE_WATER_FR = DEFAULT_DECENT_RATE * (_X select 1);
};
if (_x select 0 == "timeWithoutFood") then {
CSE_DESCENT_RATE_FOOD_FR = DEFAULT_DECENT_RATE * (_X select 1);
};
}foreach _args;
waituntil{!isnil "cse_gui"};
[format["FRM - Field Rations Module initialised"],2] call cse_fnc_debug;
["itemAdd", ["cse_sys_field_rations_task_loop_CMS", {
if (alive player) then {
[player] call cse_fnc_updateFieldRations_FR;
};
}, 10]] call BIS_fnc_loop;
sleep 1;
101 cutRsc ["CSE_sys_field_rations_PlayerStatusUI","PLAIN"];
[] call cse_fnc_updateUIStatus_FR;
waituntil {!isnil "cse_gui"};
cse_displayEntries_Eat_FRM = {
private ["_subMenus", "_passedMags", "_magazines"];
_subMenus = [];
_passedMags = [];
_magazines = items player;
{
if (!((_x) in _passedMags)) then {
_passedMags pushback _x;
if ([(_x)] call cse_fnc_itemIsEatable_FR) then {
_subMenus set [ count _subMenus,
call compile format['[getText(configFile >> "CfgWeapons" >> "%1" >> "displayName"),getText(configFile >> "CfgWeapons" >> "%1" >> "picture"), {
closeDialog 0;
[player,"%1",10] spawn cse_fnc_actionEat_FR; CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR;
}, true, "Eat " + getText(configFile >> "CfgWeapons" >> "%1" >> "displayName")]',(_x)]
];
};
};
}foreach _magazines;
[_subMenus] call cse_fnc_debug;
[ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI;
CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR;
};
cse_displayEntries_Drink_FRM = {
private ["_subMenus", "_passedMags", "_magazines"];
_subMenus = [];
_passedMags = [];
_magazines = items player;
{
if (!(_x in _passedMags)) then {
_passedMags pushback _x;
if ([_x] call cse_fnc_itemIsDrinkable_FR) then {
_subMenus set [ count _subMenus,
call compile format['[getText(configFile >> "CfgWeapons" >> "%1" >> "displayName"),getText(configFile >> "CfgWeapons" >> "%1" >> "picture"), {
closeDialog 0;
[player,"%1", 4.5] spawn cse_fnc_actionDrink_FR; CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR;
}, true, "Drink " + getText(configFile >> "CfgWeapons" >> "%1" >> "displayName")]',_x]
];
};
};
}foreach _magazines;
[ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI;
CSE_SHOW_UI_ICONS_ONACTION_FR = true;
[true] call cse_fnc_updateUIStatus_FR;
};
cse_displayEntries_Refill_FRM = {
private ["_subMenus", "_passedMags", "_magazines"];
_subMenus = [];
_passedMags = [];
_magazines = items player;
{
if (!(_x in _passedMags)) then {
_passedMags pushback _x;
if ([_x] call cse_fnc_itemIsRefillable_FR) then {
_subMenus set [ count _subMenus,
call compile format['[getText(configFile >> "CfgWeapons" >> "%1" >> "displayName"),getText(configFile >> "CfgWeapons" >> "%1" >> "picture"), {
closeDialog 0;
[player,"%1",6] spawn cse_fnc_actionRefill_FR; CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR;
}, true, "Refill " + getText(configFile >> "CfgWeapons" >> "%1" >> "displayName")]',_x]
];
};
};
}foreach _magazines;
[_subMenus] call cse_fnc_debug;
[ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI;
CSE_SHOW_UI_ICONS_ONACTION_FR = true;
[true] call cse_fnc_updateUIStatus_FR;
};
_entries = [
["Eat", {(([player] call cse_fnc_canEat_FR) && ([player] call cse_fnc_hasEatableItem_FR))}, CSE_ICON_PATH + "icon_survival.paa", cse_displayEntries_Eat_FRM, "Show consume options"],
["Drink", {(([player] call cse_fnc_canDrink_FR) && ([player] call cse_fnc_hasDrinkableItem_FR))}, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", cse_displayEntries_Drink_FRM, "Show drink options"],
["Refill", {(([player, _this select 1] call cse_fnc_canRefill_FR) && ([player] call cse_fnc_hasRefillableItem_FR))}, "cse\cse_sys_field_rations\data\hud_drinkstatus.paa", cse_displayEntries_Refill_FRM, "Show refill actions"],
["Camelbak", {(([player, _this select 1] call cse_fnc_canRefillCamelbak_FR) && ([player] call cse_fnc_hasCamelbak_FR))}, "cse\cse_sys_field_rations\data\hud_drinkstatus.paa", {[player,10] spawn cse_fnc_actionRefillCamelbak_FR;}, "Refill camelbak"]
];
["ActionMenu","survival", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F;
// This is here for backwards compatability. This code will be removed in the near future.
_showError = false;
{
_configEntry = (configFile >> "CfgMagazines" >> _x);
if([_configEntry, "cse_backwardsCompatMagazineBase_FR"] call cse_fnc_inheritsFrom) then {
player removeMagazine _x;
player addItem _x;
diag_log format["WARNING: Outdated Field Rations magazine classname %1 found. Please replace magazine by item variant. Future versions will not support this anymore.", _x];
_showError = true;
};
}foreach (magazines player);
if (_showError) then {
["Outdated Field Rations Classnames have been found. Please replace magazine classname by item variant. Future versions will not support magazine variant"] call BIS_fnc_error;
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project name="Combat Space Enhancement">
<Package name="cse_sys_field_rations">
<Container ID="FieldRations">
</Container>
</Package>
</Project>

Binary file not shown.

Binary file not shown.