sreVbriefing.html)3Ndescription.ext)3NYGUI\Crate_CA.paa)3NVGUI\Lightning_CA.paa)3NVGUI\MBG_WOO_Common.hpp)3N(GUI\MBG_WOO_MainInterface.hpp)3NCOinit.sqf)3N^MBG_WOO_Basic_Config.sqf)3NMBG_WOO_ENDGame.sqf)3NMBG_WOO_F_Building_Panels.sqf)3N;MBG_WOO_F_InterfaceControl.sqf)3NiMBG_WOO_F_ResourceControl.sqf)3NHMBG_WOO_F_TacticalSupport.sqf)3NMBG_WOO_F_UnitControl.sqf)3N'MBG_WOO_F_UnitInteraction.sqf)3N9MBG_WOO_F_UnitOverviewList.sqf)3NW MBG_WOO_MainInterface.sqf)3NMBG_WOO_UnitConfig.sqf)3N4mission.sqm)3N#overview.html)3NToDo.txt)3N!

West lost.


West HQ was destroyed.




East lost.


East HQ was destroyed.




Resistance lost.


Resistance HQ was destroyed.


respawn = 1; respawnDelay = 10; OnLoadMission = "Version 0.5 - 11th July 2011"; OnLoadMissionTime = False; loadScreen = "\MBG_WOO\MBG_WOO_LOGO_CO.paa"; class Header { gameType = Team; minPlayers = 2; maxPlayers = 6; playerCountMultipleOf = 1; }; #include "GUI\MBG_WOO_Common.hpp" #include "GUI\MBG_WOO_MainInterface.hpp"GGATCGVAGGATCXAMGGATGALFGGATSFFO@@PTUU@{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{kI$IkI$IsUUU+I$IUsUUUI$ITsUUU{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{kI$I4sUUU-I$IsUUI$usUU+IsUՀIUsUu_055u`uXuR(8ӜjHsWI$usUVI$sUUzI$I׽{UUUx{k{k{k{k{k{k{k{k{k{k{kI$I5Z-I$UsUUIu cI4sU- u{׽{ ֵ_uqWֵ0z_+YΒUU0U׽qU+ƒ%8׽m-YU^Xx9ӜW .-׽TWq8uzqzHsW I$sUWI$@4{UUVI$IsUUUx{k{k{k{k{kMk'4{- 󜢭r-x((׽0_8qWYΒ U8ƒ _Uy_UUUW+84UUyΖYX8׽ *8Ɩ^^u:667'W/8UUxӜUWW*U4U4Q$uӜusxHuR?UZW{k{k c.{uu%UUU{UQ Ӝ -4%׽q^կyU zYβU8UxU-8u`eˀ/-yΖBֵ@8%)/ƲUqWur  ӜV uӜu^Ҕ Umkxumk~Uu c^UU0 cuUUsR~5/{k{k{iJ Mk 0s* q{_-U_׽0*8uV ƕz*Yζ5yΖՠ*y4^X8ƶrU\84bj{IJ@`1 qu7;߂88u]qzszUsUUmkUs,cjR8sMkppmk c mk c'``  sZ ++{k{k  c *:0{mk. HQ{?Q(P]q*8"q\Vy-UUyΎs_y0-8ux8Ӝ8q8Ʋ^X4ܯ5ӜUuӜ^ֵ}{WUs WUUsWUUQMk{si{mkb{,cx{mkꭊs,c؜mk(B`s,cݽr$@$siJ{k{kII0s??0{/.U(B`qjR {%"Qs 70nqsrshh{5uU_0UU/׮\0-^usUU{ zUUT{\UUU{s +s{Mk`{s! {mk\{mk -{Z*`s!_Mk1xU 01% 0,c\\TV@$@${)J {k{kII${Z@Q{77Q{j{ )JӜiJ {0B 0{rQ{4Q{ q{UWZMk sTTT{ZԷsMk {sc{sssw{Mk^{mk^7b01*W{E)W,c$!x  c!{mk{\~zr,c)+sZH$H${R{k{k{k{Z qj{%5{P`0Mk QRz((*qIJ `09 q{R{ ,cX*+s9+(׽sTTTT{Zzx{ c{ cZ{Mk`^Mk߿se)^s$!Wmke)xU-s! ,c@jjMkRsZ;:>{mkb{=MkZ{k{k{k{k0s{z Q{<Q"! s0sq{K{Bb s9 `0IJ 0s4Q2"׽sT\\\{Mk0{MkT{ c *kj({e)x^ns$!/s9 {s~x{ c {Z@@@`sZsZ76&&{,c? cB` c9B{k{k{k{k {R {sa0{ 8%5{p`Qsq mk奧'{Mkq³{/Qֵs\\\\sos0mk {؏-mkXp{mka}t{Z---){,ch``{ c ){Zp``ps c;?c{Z',c??Z``pp  sR=9{k{k{k{k {R 0Ӝ{--Q{/q_n.0s_~|x0,c'mkJk{{qyYsQ{]uQWs\\\\{EGgEs??mk -ss\_{,c '{b)>{Z``@@{,c#{ZppPPsZsZ'' Ӝ,c?7'bPXX\@$@$sZ {k{k{k{kII{Mk**j{%{fQk  Q%5sx`@q{ + )Q,c,cbbq{0{h|qus\XXX0s͍s0A %0{ j{Π^mk{Mk`{ ccKnX{ c "{RPMkZ./ mkZ #Ҕ c' ,c\^VV@$H$sR{k{k{k{kII${iJ@{%55{0b,<q{/-8q"! 0VT\QZ0sHuQmkQs~~hhQ{%%%sXXXX0s0sQIJm R㥖0mkz{ c {s-{Mkj{mk;){ZsZBjmkR Z 0 c֗H$H$sZ{k{k{k{k{kb?=u{X\^Z,cXPRPqmk +y0%UX0Xx`Q,c{Mk0 c qsq{'''.sXXXX{mk 0s0(B {iJPQIJ7k/0{{Mk{mkjjhhsRMkZb{kimkZQZ s c7UH$H$s9{k{k{k{k{k0b*.spz}k{ cp```mk5Uq{rcc8 Mk_^\Xsמ*0Z Mk0{. sPPPP{mk0mk77'={9 {ZXXXMkR`#iJ',ca{s#u{mk`Bc{,ckmkZysZ``hhӜLcKJB mkBk/{k{k{k{k{k{k sB  sCAC{Z@`pBMkZ%0s*1!80%5MkP`@QsMk {mk\~~0mk(8sZZPP{mkzs57{9 {ZsMke{ c{R`{R{ c:&smk mkZXp@{Z}R@```  sR-=={k{k{k{k{k{k sIJ 0qs mkIMkZ5QMk --)Qn׽{ sUV\X{Z&. s~~zj0sڹusRRRRs{Mk'//{B {Rؘs,cWsZ?>67{s0({R6~{R's,c s co"*sZ=〠rRps_W @${B{k{k{k{k{k{kII{IJ@umk5sU_~,cIJ": c Q{(*'us7׽sPp,c&&/s*>0mkOK4mkRZZ[Mk{mk'{9{Rmk cύ{Z7''{ss csB`sR饖s,c)sRhZB@$@$sA{k{k{k{k{k{kI$I$s$!@s1 ֎s%Uy)J^x0jR Z(0mk`j ֵs,cmkڢqson@sSSS[{mk/sMk{9{RMkZ*sZ''''{sKjsR=%%sZPXPP,ciJb{IJmk ck} ciJX\jH$H$s(B{k{k{k{k{k{k{kI$I$s)J@s9mk 5U\` c0s6s%7u{P`@0,c諩{cciaӜsQSSS{mk/ {mkldl{9{RMkiJ*..7sZ{ c```siJ ӜR__/Z mkXWUMkZj@$s9H$I$sf1{k{k{k{k{k{k{k{kI$I$s1@ {Mkjގs%UU֎sX` sq{r .qs\ssSsss{Mk/% { cfs9sR cIJ&..{Z {Z`8 c}-,cx^Q c_]_ {IJj$I$sIJ{k{k{k{k{k{k{k{k{k{k{k{k sZ@{5UU{\pÍ{'5Mk^\\X0smksssssMkm{ co{(BmkRtZB 4R Mk%+pӜ cUUmk c*@${9jH$I$sR{k{k{k{k{k{k{k{k{k{k{k{k{k{k {R#@y{5UU׽{^xc{Z`UMkX__]{ c')sssyy{ c/ sZ@hl{(BiJWWW7IJ-Tmk^UQ,c\WUU {9$H${E)*{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k {9 0@Qs ,cjsZ!0MkqMk{cssnsZ/'sZlhhnB mk X4 cp^UUmk c@$sBz@$I$s1{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k {B@0{J/0,c^xxs,c:QMkccccmkZ46?mkRHH4sc^U{MkTWuU {(B$H${1*{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{kI${9${,cX{ c7,cCCCCmkR>>mkZ(4&mk c~${1@$I$sf1{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{kI$sR@{Z{ cCKBJ cR s)J$H$s9j{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{kI$sIJ@{9${$!@$I${e){k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k$I$sBL{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k{k@@{k{k{k{k{k{k{k@m۶m$UsUUU-I$I4sUUU{k{k{k{k{k{k{k{km۶ Ӝ,c@mFU cusUU뀿 usU @sժ @0׽ mk`p4?ֵsW׽sU\musUUP$4sUUUb{k{kvn6nӜ,c?4{ UQࢪq*Ӝ Ux U- yu׽IJӜW׽V_uUU{(\u,c^Uۏ}ز c@{iJ0sQ{uQ5UUs 8ƶV}8uWƲ xzUR(qzsUszUU,csMkJpbmkZ+@؇}ۮsiJII$0b*jӜ{=}mk\r0Z q{``ֵ%UUU׽s Mk\TswUUQ{TUU{sNZsiJ `s1xsA 09p{Z{kqsI%5s}QiJ QR(-qMk$ b|{Mk-`(s9`s1X- {9+ {Zиs c )q cRRXX{k{kQZ .0UUs|xpcQmkА0Mk {TTTTs:0mkj{,c8{Mk<<4&{Z c=?b\T{k{kȏJ*.&*Ӝs|80a%4 cx0s .Q{4sT1R* c{mk({,c>sZ c=Z{k{k@0Z:**4Mk|~~mk?ymk~xrc0s=Qs:/4sTTTTR{Z$t{R{s`aJsZu_x`Q,c57@?ÿخs12 {k{k6no;sIJqMkjzZ---0A%5umk_ssVTT{Zsb${,c s c2sZ` cMm_p{9 {k{k@c;aۮs$!@@8Ɔ1/8ZUs?u{TXRcQsӜsVV{ZsZ{ c ) sZCCIAmkR* . MkRXxz۰ s)J{k{k{k@s9,@yήsUy{UWTRUs?Qss{bMkRޞ{ cq c} b qR@ǁmۮsIJz@H$I$sf1{k{k{k{k@ {,c@Z/UMk?zMkMk\{,cR_W MkPW@$!@?۶mۮsR{k{k{k{k{k{k{k@ {Z0@Z&{Mk=7v cXZ7 R@LJ {1: H$I$sIJ{k{k{k{k{k{k{k{k{k@vnmۮsR@{Z{ZPZz@Mk9@|ضms9:{k{k{k{k{k{k{k{k{k{k{k{k@@ sIJ@;wmۮsE)p H$I$s9{k{k{k{k{k{k{k pI$IӜsUUU5߶m۶ sUUU@mP4sUU mC׽sU. @϶ 8{U^@m׽sUUj@϶m۶ UsUUU{ko4s-u0 5U׽q pֵ{{WsWU}4,c oo0b**U{\SsӜmk>us}{qZjsR sIJ7((@ÿ0Z@QJ***׽0mEsq{BAKM{,c${mkMk@ٗ}0Zp߶cg{Mk*jj,c,u{T\RsqsKImO{MkT^{Mk c560۵M{B@cmۮs$!@I$hb0B-{o嵴0sokcBsZx0Mk]Y]/@{Z{{ppH$O$sf1{kI$I${MkjuMk0,cko Z_ s %J$spXT{k{k ϡm۾s@PU{k{k@D߶a;6ns% s@@`@*vnvfsEx$I$sPTUUNF.lsAQ//// Script by Mondkalb //// Copyright reserved //// DO NOT modify this file without permission given by me (Mondkalb). //// Mondkalb@vr-web.de //// 28th May 2011 #define MBG_WOO_FONT_MAIN EtelkaMonospaceProBold #define MBG_WOO_FONT_SMALL Bitstream #define MBG_WOO_FONT_SIZE 0.018 * safezoneH #define MBG_WOO_COLOR_YELLOW {1.0, 1.0, 0.0, 1.0} #define MBG_WOO_COLOR_ALPHAYELLOW {1.0, 1.0, 0.0, 0.3} #define MBG_WOO_COLOR_WHITE {1.0, 1.0, 1.0, 1.0} #define MBG_WOO_COLOR_GREY {0.6, 0.6, 0.6, 1.0} #define MBG_WOO_COLOR_DARKGREY {0.2, 0.2, 0.2, 1.0} #define MBG_WOO_COLOR_BLACK {0.0, 0.0, 0.0, 1.0} #define MBG_WOO_COLOR_NONE {0.0, 0.0, 0.0, 0.0} class MBG_WOO_BASE_STATIC_TEXT { idc = -1; type = 0; style = 0x00; colorText[] = MBG_WOO_COLOR_WHITE; colorBackground[] = MBG_WOO_COLOR_BLACK; font = MBG_WOO_FONT_MAIN; sizeEx = MBG_WOO_FONT_SIZE; x = 0.3; y = 0.1; w = 0.4; h = 0.03; text = ""; }; class MBG_WOO_BASE_STATIC_PICTURE : MBG_WOO_BASE_STATIC_TEXT { style = 48; text = "GUI\Crate_CA.paa"; w = safeZoneW*0.04; h = safeZoneW*0.02; }; class MBG_WOO_BASE_STATIC_FRAME { idc = -1; type = 0; style = 0x00; colorText[] = MBG_WOO_COLOR_NONE; colorBackground[] = MBG_WOO_COLOR_NONE; font = MBG_WOO_FONT_MAIN; sizeEx = MBG_WOO_FONT_SIZE; x = 0.3; y = 0.1; w = 0.4; h = 0.03; text = ""; }; class MBG_WOO_BASE_BUTTON { idc = -1; type = 1; style = 0x02; default = 0; colorText[] = MBG_WOO_COLOR_WHITE; font = MBG_WOO_FONT_MAIN; sizeEx = MBG_WOO_FONT_SIZE; colorFocused[] = MBG_WOO_COLOR_NONE; colorDisabled[] = MBG_WOO_COLOR_NONE; colorBackground[] = MBG_WOO_COLOR_NONE; colorBackgroundDisabled[] = MBG_WOO_COLOR_NONE; colorBackgroundActive[] = MBG_WOO_COLOR_NONE; offsetX = 0.003; offsetY = 0.003; offsetPressedX = 0.002; offsetPressedY = 0.002; colorShadow[] = MBG_WOO_COLOR_NONE; colorBorder[] = MBG_WOO_COLOR_NONE; borderSize = 0.0; soundEnter[] = { "", 0, 1 }; soundPush[] = { "", 0.1, 1 }; soundClick[] = { "", 0, 1 }; soundEscape[] = { "", 0, 1 }; x = 0.4; y = 0.475; w = 0.2; h = 0.05; text = ""; action = ""; }; class MBG_WOO_BASE_LIST { idc = -1; type = 5; style = 0x10; x = 0.1; y = 0.1; w = 0.2; h = 0.3; font = MBG_WOO_FONT_MAIN; sizeEx = MBG_WOO_FONT_SIZE; rowHeight = safezoneH*0.03; color[] = MBG_WOO_COLOR_WHITE; colorText[] = MBG_WOO_COLOR_WHITE; colorBackground[] = MBG_WOO_COLOR_NONE; colorSelect[] = MBG_WOO_COLOR_YELLOW; colorSelectBackground[] = MBG_WOO_COLOR_DARKGREY; soundSelect[] = {"", 0.0, 1}; soundExpand[] = {"", 0.0, 1}; soundCollapse[] = {"", 0.0, 1}; maxHistoryDelay = 1.0; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = MBG_WOO_COLOR_WHITE; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; }; class MBG_WOO_BASE_MapControl { access = 0; type = 101; style = 48; x = 0.05; y = 0.05; w = 0.90; h = 0.90; colorBackground[] = {1, 1, 1, 1.00}; colorText[] = {0.00, 0.00, 0.00, 1.00}; colorSea[] = {0.00, 0.35, 0.50, 0.60}; colorForest[] = {0.10, 0.50, 0.10, 0.50}; colorRocks[] = {0.50, 0.50, 0.50, 0.50}; colorCountlines[] = {0.65, 0.45, 0.27, 0.50}; colorMainCountlines[] = {0.65, 0.45, 0.27, 1.00}; colorCountlinesWater[] = {0.00, 0.53, 1.00, 0.50}; colorMainCountlinesWater[] = {0.00, 0.53, 1.00, 1.00}; colorForestBorder[] = {0.40, 0.80, 0.00, 1.00}; colorRocksBorder[] = {0.50, 0.50, 0.50, 1.00}; colorPowerLines[] = {0.00, 0.00, 0.00, 1.00}; colorNames[] = {0.00, 0.00, 0.00, 1.00}; colorInactive[] = {1.00, 1.00, 1.00, 0.50}; colorLevels[] = {0.00, 0.00, 0.00, 1.00}; colorOutside[] = {0.00, 0.35, 0.50, 1}; colorRailWay[] = {1, 0, 0.5, 1}; alphaFadeStartScale = 1; alphaFadeEndScale = 2; font = "TahomaB"; sizeEx = 0.040000; fontLabel = "TahomaB"; sizeExLabel = 0.02; fontGrid = "TahomaB"; sizeExGrid = 0.02; fontUnits = "TahomaB"; sizeExUnits = 0.02; fontNames = "TahomaB"; sizeExNames = 0.02; fontInfo = "TahomaB"; sizeExInfo = 0.02; fontLevel = "TahomaB"; sizeExLevel = 0.02; stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; ptsPerSquareSea = 6; ptsPerSquareTxt = 8; ptsPerSquareCLn = 8; ptsPerSquareExp = 8; ptsPerSquareCost = 8; ptsPerSquareFor = "4.0f"; ptsPerSquareForEdge = "10.0f"; ptsPerSquareRoad = 2; ptsPerSquareObj = 10; maxSatelliteAlpha = 0.5; text = "\ca\ui\data\map_background2_co.paa"; showCountourInterval=2; scaleDefault = 0.1; onMouseButtonClick = ""; onMouseButtonDblClick = ""; class ActiveMarker { color[] = {0.30, 0.10, 0.90, 1.00}; size = 50; }; class Bunker { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 14; importance = "1.5 * 14 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class Bush { icon = "\ca\ui\data\map_bush_ca.paa"; color[] = {0.55, 0.64, 0.43, 1.00}; size = 14; importance = "0.2 * 14 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class BusStop { icon = "\ca\ui\data\map_busstop_ca.paa"; color[] = {0.00, 0.00, 1.00, 1.00}; size = 10; importance = "1 * 10 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class Command { icon = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {0.00, 0.00, 0.00, 1.00}; size = 18; importance = 1.00; coefMin = 1.00; coefMax = 1.00; }; class Cross { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "0.7 * 16 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class Chapel { icon = "\ca\ui\data\map_chapel_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; class Church { icon = "\ca\ui\data\map_church_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; class CustomMark { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 16; importance = 0.7 * 16 * 0.05; coefMin = 0.25; coefMax = 4; }; class Fortress { icon = "\ca\ui\data\map_bunker_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class Fuelstation { icon = "\ca\ui\data\map_fuelstation_ca.paa"; color[] = {1.00, 0.35, 0.35, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.75; coefMax = 4.00; }; class Fountain { icon = "\ca\ui\data\map_fountain_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 12; importance = "1 * 12 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class Hospital { icon = "\ca\ui\data\map_hospital_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.50; coefMax = 4; }; class Lighthouse { icon = "\ca\ui\data\map_lighthouse_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 20; importance = "3 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; class Quay { icon = "\ca\ui\data\map_quay_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2 * 16 * 0.05"; coefMin = 0.50; coefMax = 4.00; }; class Rock { icon = "\ca\ui\data\map_rock_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 12; importance = 0.5 * 12 * 0.05; coefMin = 0.25; coefMax = 4; }; class Ruin { icon = "\ca\ui\data\map_ruin_ca.paa"; color[] = {0.78, 0, 0.05, 1}; size = 16; importance = 1.2 * 16 * 0.05; coefMin = 1; coefMax = 4; }; class Stack { icon = "\ca\ui\data\map_stack_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; class Tree { icon = "\ca\ui\data\map_tree_ca.paa"; color[] = {0.55, 0.64, 0.43, 1.00}; size = 12; importance = "0.9 * 16 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class SmallTree { icon = "\ca\ui\data\map_smalltree_ca.paa"; color[] = {0.55, 0.64, 0.43, 1.00}; size = 12; importance = "0.6 * 12 * 0.05"; coefMin = 0.25; coefMax = 4.00; }; class Task { icon = "\ca\ui\data\map_cross_ca.paa"; color[] = {0.55, 0.64, 0.43, 1}; size = 16; importance = 0.7 * 16 * 0.05; coefMin = 0.25; coefMax = 4; iconCreated = "#(argb,8,8,3)color(1,1,1,1)"; iconCanceled = "#(argb,8,8,3)color(0,0,1,1)"; iconDone = "#(argb,8,8,3)color(0,0,0,1)"; iconFailed = "#(argb,8,8,3)color(1,0,0,1)"; colorCreated[] = {1,1,1,1}; colorCanceled[] = {1,1,1,1}; colorDone[] = {1,1,1,1}; colorFailed[] = {1,1,1,1}; }; class Tourism { icon = "\ca\ui\data\map_tourism_ca.paa"; color[] = {0.78, 0.00, 0.05, 1.00}; size = 16; importance = "1 * 16 * 0.05"; coefMin = 0.70; coefMax = 4.00; }; class Transmitter { icon = "\ca\ui\data\map_transmitter_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 20; importance = "2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; class ViewTower { icon = "\ca\ui\data\map_viewtower_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 16; importance = "2.5 * 16 * 0.05"; coefMin = 0.50; coefMax = 4.00; }; class Watertower { icon = "\ca\ui\data\map_watertower_ca.paa"; color[] = {0.00, 0.35, 0.70, 1.00}; size = 32; importance = "1.2 * 16 * 0.05"; coefMin = 0.90; coefMax = 4.00; }; class Waypoint { icon = "\ca\ui\data\map_waypoint_ca.paa"; color[] = {0.00, 0.00, 0.00, 1.00}; size = 24; importance = 1.00; coefMin = 1.00; coefMax = 1.00; }; class WaypointCompleted { icon = "\ca\ui\data\map_waypoint_completed_ca.paa"; color[] = {0.00, 0.00, 0.00, 1.00}; size = 24; importance = 1.00; coefMin = 1.00; coefMax = 1.00; }; };//// Script by Mondkalb //// Copyright reserved //// DO NOT modify this file without permission given by me (Mondkalb). //// Mondkalb@vr-web.de //// 25th May 2011 class RscTitles { class MBG_WOO_main_EventMessages { idd = 5992; movingEnable = false; duration = 60000; fadein = 0; name = "MBG_WOO_main_EventMessages"; onLoad = "MBG_WOO_EVENTMESSAGE_DISPLAY = _this"; controls[] = { MBG_WOO_main_EventMessage1, MBG_WOO_main_EventMessage2, MBG_WOO_main_EventMessage3, MBG_WOO_main_EventMessage4, MBG_WOO_main_EventMessage5, MBG_WOO_main_EventMessage6, MBG_WOO_main_EventMessage7, MBG_WOO_main_EventMessage8, }; class MBG_WOO_main_EventMessage1 : MBG_WOO_BASE_STATIC_FRAME { idc = 59121; colorBackground[] = MBG_WOO_COLOR_NONE; colorText[] = MBG_WOO_COLOR_BLACK; x = safezonex; y = (safezoneY*0.4); w = 0; h = safeZoneH*0.03; text=""; }; class MBG_WOO_main_EventMessage2 : MBG_WOO_main_EventMessage1 { idc = 59122; y = (safezoneY*0.4)+(safeZoneH*0.04); }; class MBG_WOO_main_EventMessage3 : MBG_WOO_main_EventMessage1 { idc = 59123; y = (safezoneY*0.4)+(safeZoneH*0.08); }; class MBG_WOO_main_EventMessage4 : MBG_WOO_main_EventMessage1 { idc = 59124; y = (safezoneY*0.4)+(safeZoneH*0.12); }; class MBG_WOO_main_EventMessage5 : MBG_WOO_main_EventMessage1 { idc = 59125; y = (safezoneY*0.4)+(safeZoneH*0.16); }; class MBG_WOO_main_EventMessage6 : MBG_WOO_main_EventMessage1 { idc = 59126; y = (safezoneY*0.4)+(safeZoneH*0.20); }; class MBG_WOO_main_EventMessage7 : MBG_WOO_main_EventMessage1 { idc = 59127; y = (safezoneY*0.4)+(safeZoneH*0.24); }; class MBG_WOO_main_EventMessage8 : MBG_WOO_main_EventMessage1 { idc = 59128; y = (safezoneY*0.4)+(safeZoneH*0.28); }; }; }; class MBG_WOO_mainMap { idd = 5991; movingEnable = 1; enableSimulation = 1; controlsBackground[] = { MBG_WOO_main_Map }; objects[] = {}; controls[] = {}; //----- MAP -----\\ class MBG_WOO_main_Map : MBG_WOO_BASE_MapControl { idc = 598002; x = safeZoneX; y = safeZoneY; w = safeZoneW; h = safeZoneH; scaleMax = 1; scaleMin = 0.01; maxSatelliteAlpha = 0; sizeEx=0.1; fontLabel = "TahomaB"; sizeExLabel = 0.045; fontGrid = "TahomaB"; sizeExGrid = 0.042; fontUnits = "TahomaB"; sizeExUnits = 0.042; fontNames = "TahomaB"; sizeExNames = 0.045; fontInfo = "TahomaB"; sizeExInfo = 0.045; fontLevel = "TahomaB"; sizeExLevel = 0.045; shadow = 0; onMouseButtonClick = "_this Call MBG_WOO_Overviewmap_MouseButtons"; onMouseButtonDblClick = "_this call MBG_WOO_Overviewmap_SetCamera"; }; }; class MBG_WOO_maininterface { idd = 5990; movingEnable = 1; enableSimulation = 1; controlsBackground[] = { MBG_WOO_main_BACK1, MBG_WOO_main_TEXTResourceOne, MBG_WOO_main_PICTUREResourceOne, MBG_WOO_main_TEXTResourceTwo, MBG_WOO_main_PICTUREResourceTwo, MBG_WOO_main_BACK3, MBG_WOO_main_MUFU_Picture_1, MBG_WOO_main_MUFU_Picture_2, MBG_WOO_main_MUFU_Picture_3, MBG_WOO_main_MUFU_Picture_4, MBG_WOO_main_MUFU_Picture_5, MBG_WOO_main_MUFU_Picture_6, MBG_WOO_main_MUFU_Picture_7, MBG_WOO_main_MUFU_Picture_8, MBG_WOO_main_MUFU_Picture_9, MBG_WOO_main_MUFU_Picture_10, MBG_WOO_main_MUFU_Picture_11, MBG_WOO_main_MUFU_Picture_12, MBG_WOO_main_BACK4, MBG_WOO_main_HEALTHBAR, MBG_WOO_main_STATUS_TEXT, MBG_WOO_UOL_P01, MBG_WOO_UOL_P02, MBG_WOO_UOL_P03, MBG_WOO_UOL_P04, MBG_WOO_UOL_P05, MBG_WOO_UOL_P06, MBG_WOO_UOL_P07, MBG_WOO_UOL_P08, MBG_WOO_UOL_P09, MBG_WOO_UOL_P10, MBG_WOO_UOL_P11, MBG_WOO_UOL_P12, MBG_WOO_UOL_P13, MBG_WOO_UOL_P14, MBG_WOO_UOL_P15, MBG_WOO_UOL_P16, MBG_WOO_UOL_P17, MBG_WOO_UOL_P18, MBG_WOO_UOL_P19, MBG_WOO_UOL_P20, MBG_WOO_UOL_P21, MBG_WOO_UOL_P22, MBG_WOO_UOL_P23, MBG_WOO_UOL_P24, MBG_WOO_UOL_P25, MBG_WOO_UOL_P26, MBG_WOO_UOL_P27, MBG_WOO_UOL_P28, MBG_WOO_UOL_P29, MBG_WOO_UOL_P30 }; objects[] = { }; controls[] = { MBG_WOO_main_mouseHandler, MBG_WOO_main_MUFU_Button_1, MBG_WOO_main_MUFU_Button_2, MBG_WOO_main_MUFU_Button_3, MBG_WOO_main_MUFU_Button_4, MBG_WOO_main_MUFU_Button_5, MBG_WOO_main_MUFU_Button_6, MBG_WOO_main_MUFU_Button_7, MBG_WOO_main_MUFU_Button_8, MBG_WOO_main_MUFU_Button_9, MBG_WOO_main_MUFU_Button_10, MBG_WOO_main_MUFU_Button_11, MBG_WOO_main_MUFU_Button_12, MBG_WOO_UOL_B01, MBG_WOO_UOL_B02, MBG_WOO_UOL_B03, MBG_WOO_UOL_B04, MBG_WOO_UOL_B05, MBG_WOO_UOL_B06, MBG_WOO_UOL_B07, MBG_WOO_UOL_B08, MBG_WOO_UOL_B09, MBG_WOO_UOL_B10, MBG_WOO_UOL_B11, MBG_WOO_UOL_B12, MBG_WOO_UOL_B13, MBG_WOO_UOL_B14, MBG_WOO_UOL_B15, MBG_WOO_UOL_B16, MBG_WOO_UOL_B17, MBG_WOO_UOL_B18, MBG_WOO_UOL_B19, MBG_WOO_UOL_B21, MBG_WOO_UOL_B22, MBG_WOO_UOL_B23, MBG_WOO_UOL_B24, MBG_WOO_UOL_B25, MBG_WOO_UOL_B26, MBG_WOO_UOL_B27, MBG_WOO_UOL_B28, MBG_WOO_UOL_B29, MBG_WOO_UOL_B30 }; //----- MOUSE HOOOK -----\\ class MBG_WOO_main_mouseHandler { idc = 59901; onMouseHolding = "_this call MBG_WOO_FUNC_MoveScreen"; onMouseMoving = "_this call MBG_WOO_FUNC_MoveScreen"; onMouseButtonDown = "_this call MBG_WOO_FUNC_MouseDown"; onMouseButtonUp = "_this call MBG_WOO_FUNC_MouseUp"; onMouseZChanged = "_this call MBG_WOO_FUNC_ZoomChange"; colorBackground[] = MBG_WOO_COLOR_NONE; type = 15; style = 0; x = safeZoneX-(safeZoneW*0.01); y = safeZoneY-(safeZoneH*0.01); w = safeZoneW*1.02; h = safeZoneH*1.02; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = MBG_WOO_COLOR_WHITE; colorDisabled[] = {1,1,1,0.3}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; class VScrollbar { color[] = MBG_WOO_COLOR_NONE; width = 0.1; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; }; class HScrollbar { color[] = MBG_WOO_COLOR_NONE; height = 0.1; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; }; }; //----- BACKGROUND -----\\ class MBG_WOO_main_BACK1 : MBG_WOO_BASE_STATIC_FRAME { idc = 59000; colorBackground[] = MBG_WOO_COLOR_DARKGREY; colorText[] = MBG_WOO_COLOR_WHITE; x = safeZoneX+(safeZoneW*0.85); y = safeZoneY+(safeZoneH*0.00); w = safeZoneW*0.15; h = safeZoneH*1.00; }; class MBG_WOO_main_TEXTResourceOne : MBG_WOO_main_BACK1 { idc = 59001; colorBackground[] = MBG_WOO_COLOR_GREY; x = safeZoneX+(safeZoneW*0.9); y = safeZoneY+(safeZoneH*0.01); w = safeZoneW*0.10; h = safeZoneH*0.03; text="Blah"; }; class MBG_WOO_main_PICTUREResourceOne : MBG_WOO_BASE_STATIC_PICTURE { text = "GUI\Crate_CA.paa"; x = safeZoneX+(safeZoneW*0.86); y = safeZoneY+(safeZoneH*0.01); w = safeZoneW*0.02; h = safeZoneH*0.03; }; class MBG_WOO_main_TEXTResourceTwo : MBG_WOO_main_BACK1 { idc = 59002; colorBackground[] = MBG_WOO_COLOR_GREY; x = safeZoneX+(safeZoneW*0.9); y = safeZoneY+(safeZoneH*0.05); w = safeZoneW*0.10; h = safeZoneH*0.03; text="Blah"; }; class MBG_WOO_main_PICTUREResourceTwo : MBG_WOO_BASE_STATIC_PICTURE { text = "GUI\Lightning_CA.paa"; x = safeZoneX+(safeZoneW*0.86); y = safeZoneY+(safeZoneH*0.05); w = safeZoneW*0.02; h = safeZoneH*0.03; }; class MBG_WOO_main_BACK3 : MBG_WOO_main_BACK1 { colorBackground[] = MBG_WOO_COLOR_GREY; x = safeZoneX+(safeZoneW*0.86); y = safeZoneY+(safeZoneH*0.1); w = safeZoneW*0.14; h = safeZoneH*0.3; idc = 592; }; class MBG_WOO_main_BACK4 : MBG_WOO_main_BACK1 { colorBackground[] = MBG_WOO_COLOR_GREY; x = safeZoneX+(safeZoneW*0.86); y = safeZoneY+(safeZoneH*0.42); w = safeZoneW*0.14; h = safeZoneH*0.2; idc = 593; }; class MBG_WOO_main_HEALTHBAR : MBG_WOO_main_BACK1 { idc = 59880; colorBackground[] = MBG_WOO_COLOR_YELLOW; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.44); w = safeZoneW*0.0; h = safeZoneH*0.02; }; class MBG_WOO_main_STATUS_TEXT : MBG_WOO_BASE_STATIC_TEXT { idc = 59881; style = 16; lineSpacing = 1; colorText[] = MBG_WOO_COLOR_BLACK; colorBackground[] = MBG_WOO_COLOR_WHITE; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.47); w = safeZoneW*0.12; h = safeZoneH*0.13; text="Blah"; }; //----- MUFU Buttons ---- \\ class MBG_WOO_main_MUFU_Button_1 : MBG_WOO_BASE_BUTTON { idc = 59801; colorBackground[] = MBG_WOO_COLOR_NONE; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.11); w = safeZoneW*0.03; h = safeZoneH*0.05; colorBackgroundActive[] = MBG_WOO_COLOR_ALPHAYELLOW; soundEnter[] = {"\ca\ui\data\sound\new1.wss", 0.1, 1}; soundPush[] = {"\ca\ui\data\sound\new2.wss", 0.1, 1}; }; class MBG_WOO_main_MUFU_Button_2 : MBG_WOO_main_MUFU_Button_1 { idc = 59802; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Button_3 : MBG_WOO_main_MUFU_Button_1 { idc = 59803; x = safeZoneX+(safeZoneW*0.95); }; class MBG_WOO_main_MUFU_Button_4 : MBG_WOO_main_MUFU_Button_1 { idc = 59804; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.17); }; class MBG_WOO_main_MUFU_Button_5 : MBG_WOO_main_MUFU_Button_4 { idc = 59805; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Button_6 : MBG_WOO_main_MUFU_Button_4 { idc = 59806; x = safeZoneX+(safeZoneW*0.95); }; class MBG_WOO_main_MUFU_Button_7 : MBG_WOO_main_MUFU_Button_1 { idc = 59807; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.23); }; class MBG_WOO_main_MUFU_Button_8 : MBG_WOO_main_MUFU_Button_7 { idc = 59808; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Button_9 : MBG_WOO_main_MUFU_Button_7 { idc = 59809; x = safeZoneX+(safeZoneW*0.95); }; class MBG_WOO_main_MUFU_Button_10 : MBG_WOO_main_MUFU_Button_1 { idc = 598091; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.29); }; class MBG_WOO_main_MUFU_Button_11 : MBG_WOO_main_MUFU_Button_10 { idc = 598092; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Button_12 : MBG_WOO_main_MUFU_Button_10 { idc = 598093; x = safeZoneX+(safeZoneW*0.95); }; //----- MUFU PICTURES -----\\ class MBG_WOO_main_MUFU_Picture_1 : MBG_WOO_BASE_STATIC_PICTURE { idc = 59811; text = ""; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.11); w = safeZoneW*0.03; h = safeZoneH*0.05; }; class MBG_WOO_main_MUFU_Picture_2 : MBG_WOO_main_MUFU_Picture_1 { text = ""; idc = 59812; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Picture_3 : MBG_WOO_main_MUFU_Picture_1 { text = ""; idc = 59813; x = safeZoneX+(safeZoneW*0.95); }; class MBG_WOO_main_MUFU_Picture_4 : MBG_WOO_main_MUFU_Picture_1 { text = ""; idc = 59814; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.17); }; class MBG_WOO_main_MUFU_Picture_5 : MBG_WOO_main_MUFU_Picture_4 { text = ""; idc = 59815; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Picture_6 : MBG_WOO_main_MUFU_Picture_4 { text = ""; idc = 59816; x = safeZoneX+(safeZoneW*0.95); }; class MBG_WOO_main_MUFU_Picture_7 : MBG_WOO_main_MUFU_Picture_1 { text = ""; idc = 59817; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.23); }; class MBG_WOO_main_MUFU_Picture_8 : MBG_WOO_main_MUFU_Picture_7 { text = ""; idc = 59818; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Picture_9 : MBG_WOO_main_MUFU_Picture_7 { text = ""; idc = 59819; x = safeZoneX+(safeZoneW*0.95); }; class MBG_WOO_main_MUFU_Picture_10 : MBG_WOO_main_MUFU_Picture_1 { text = ""; idc = 598191; x = safeZoneX+(safeZoneW*0.87); y = safeZoneY+(safeZoneH*0.29); }; class MBG_WOO_main_MUFU_Picture_11 : MBG_WOO_main_MUFU_Picture_10 { text = ""; idc = 598192; x = safeZoneX+(safeZoneW*0.91); }; class MBG_WOO_main_MUFU_Picture_12 : MBG_WOO_main_MUFU_Picture_10 { text = ""; idc = 598193; x = safeZoneX+(safeZoneW*0.95); }; //// ---- UNIT LIST ---- \\\\ class MBG_WOO_UOL_P01 : MBG_WOO_BASE_STATIC_PICTURE { idc = 1; text = ""; x = safeZoneX+(safeZoneW*0.06); y = safeZoneY+(safeZoneH*0.06); w = safeZoneW*0.03; h = safeZonew*0.04; }; class MBG_WOO_UOL_P02 : MBG_WOO_UOL_P01 { idc = 2; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*1); }; class MBG_WOO_UOL_P03 : MBG_WOO_UOL_P01 { idc = 3; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*2); }; class MBG_WOO_UOL_P04 : MBG_WOO_UOL_P01 { idc = 4; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*3); }; class MBG_WOO_UOL_P05 : MBG_WOO_UOL_P01 { idc = 5; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*4); }; class MBG_WOO_UOL_P06 : MBG_WOO_UOL_P01 { idc = 6; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*5); }; class MBG_WOO_UOL_P07 : MBG_WOO_UOL_P01 { idc = 7; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*6); }; class MBG_WOO_UOL_P08 : MBG_WOO_UOL_P01 { idc = 8; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*7); }; class MBG_WOO_UOL_P09 : MBG_WOO_UOL_P01 { idc = 9; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*8); }; class MBG_WOO_UOL_P10 : MBG_WOO_UOL_P01 { idc = 10; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*9); }; class MBG_WOO_UOL_P11 : MBG_WOO_UOL_P01 { idc = 11; y = safeZoneY+(safeZoneH*0.06)+((safeZoneW*0.05)*1); }; class MBG_WOO_UOL_P12 : MBG_WOO_UOL_P11 { idc = 12; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*1); }; class MBG_WOO_UOL_P13 : MBG_WOO_UOL_P11 { idc = 13; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*2); }; class MBG_WOO_UOL_P14 : MBG_WOO_UOL_P11 { idc = 14; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*3); }; class MBG_WOO_UOL_P15 : MBG_WOO_UOL_P11 { idc = 15; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*4); }; class MBG_WOO_UOL_P16 : MBG_WOO_UOL_P11 { idc = 16; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*5); }; class MBG_WOO_UOL_P17 : MBG_WOO_UOL_P11 { idc = 17; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*6); }; class MBG_WOO_UOL_P18 : MBG_WOO_UOL_P11 { idc = 18; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*7); }; class MBG_WOO_UOL_P19 : MBG_WOO_UOL_P11 { idc = 19; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*8); }; class MBG_WOO_UOL_P20 : MBG_WOO_UOL_P11 { idc = 20; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*9); }; class MBG_WOO_UOL_P21 : MBG_WOO_UOL_P01 { idc = 21; y = safeZoneY+(safeZoneH*0.06)+((safeZoneW*0.05)*2); }; class MBG_WOO_UOL_P22 : MBG_WOO_UOL_P21 { idc = 22; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*1); }; class MBG_WOO_UOL_P23 : MBG_WOO_UOL_P21 { idc = 23; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*2); }; class MBG_WOO_UOL_P24 : MBG_WOO_UOL_P21 { idc = 24; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*3); }; class MBG_WOO_UOL_P25 : MBG_WOO_UOL_P21 { idc = 25; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*4); }; class MBG_WOO_UOL_P26 : MBG_WOO_UOL_P21 { idc = 26; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*5); }; class MBG_WOO_UOL_P27 : MBG_WOO_UOL_P21 { idc = 27; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*6); }; class MBG_WOO_UOL_P28 : MBG_WOO_UOL_P21 { idc = 28; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*7); }; class MBG_WOO_UOL_P29 : MBG_WOO_UOL_P21 { idc = 29; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*8); }; class MBG_WOO_UOL_P30 : MBG_WOO_UOL_P21 { idc = 30; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*9); }; //// ---- UNIT LIST BUTTONS ---- \\\\ class MBG_WOO_UOL_B01 : MBG_WOO_BASE_BUTTON { idc = 101; colorBackground[] = MBG_WOO_COLOR_NONE; x = safeZoneX+(safeZoneW*0.06); y = safeZoneY+(safeZoneH*0.06); w = safeZoneW*0.03; h = safeZonew*0.04; colorBackgroundActive[] = MBG_WOO_COLOR_ALPHAYELLOW; soundEnter[] = {"\ca\ui\data\sound\new1.wss", 0.1, 1}; soundPush[] = {"\ca\ui\data\sound\new2.wss", 0.1, 1}; }; class MBG_WOO_UOL_B02 : MBG_WOO_UOL_B01 { idc = 102; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*1); }; class MBG_WOO_UOL_B03 : MBG_WOO_UOL_B01 { idc = 103; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*2); }; class MBG_WOO_UOL_B04 : MBG_WOO_UOL_B01 { idc = 104; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*3); }; class MBG_WOO_UOL_B05 : MBG_WOO_UOL_B01 { idc = 105; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*4); }; class MBG_WOO_UOL_B06 : MBG_WOO_UOL_B01 { idc = 106; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*5); }; class MBG_WOO_UOL_B07 : MBG_WOO_UOL_B01 { idc = 107; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*6); }; class MBG_WOO_UOL_B08 : MBG_WOO_UOL_B01 { idc = 108; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*7); }; class MBG_WOO_UOL_B09 : MBG_WOO_UOL_B01 { idc = 109; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*8); }; class MBG_WOO_UOL_B10 : MBG_WOO_UOL_B01 { idc = 110; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*9); }; class MBG_WOO_UOL_B11 : MBG_WOO_UOL_B01 { idc = 111; y = safeZoneY+(safeZoneH*0.06)+((safeZoneW*0.05)*1); }; class MBG_WOO_UOL_B12 : MBG_WOO_UOL_B11 { idc = 112; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*1); }; class MBG_WOO_UOL_B13 : MBG_WOO_UOL_B11 { idc = 113; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*2); }; class MBG_WOO_UOL_B14 : MBG_WOO_UOL_B11 { idc = 114; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*3); }; class MBG_WOO_UOL_B15 : MBG_WOO_UOL_B11 { idc = 115; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*4); }; class MBG_WOO_UOL_B16 : MBG_WOO_UOL_B11 { idc = 116; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*5); }; class MBG_WOO_UOL_B17 : MBG_WOO_UOL_B11 { idc = 117; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*6); }; class MBG_WOO_UOL_B18 : MBG_WOO_UOL_B11 { idc = 118; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*7); }; class MBG_WOO_UOL_B19 : MBG_WOO_UOL_B11 { idc = 119; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*8); }; class MBG_WOO_UOL_B20 : MBG_WOO_UOL_B11 { idc = 120; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*9); }; class MBG_WOO_UOL_B21 : MBG_WOO_UOL_B01 { idc = 121; y = safeZoneY+(safeZoneH*0.06)+((safeZoneW*0.05)*2); }; class MBG_WOO_UOL_B22 : MBG_WOO_UOL_B21 { idc = 122; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*1); }; class MBG_WOO_UOL_B23 : MBG_WOO_UOL_B21 { idc = 123; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*2); }; class MBG_WOO_UOL_B24 : MBG_WOO_UOL_B21 { idc = 124; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*3); }; class MBG_WOO_UOL_B25 : MBG_WOO_UOL_B21 { idc = 125; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*4); }; class MBG_WOO_UOL_B26 : MBG_WOO_UOL_B21 { idc = 126; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*5); }; class MBG_WOO_UOL_B27 : MBG_WOO_UOL_B21 { idc = 127; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*6); }; class MBG_WOO_UOL_B28 : MBG_WOO_UOL_B21 { idc = 128; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*7); }; class MBG_WOO_UOL_B29 : MBG_WOO_UOL_B21 { idc = 129; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*8); }; class MBG_WOO_UOL_B30 : MBG_WOO_UOL_B21 { idc = 130; x = safeZoneX+(safeZoneW*0.06)+((safeZoneW*0.04)*9); }; }; sleep 0.2; _curver = 0.6; _curdate = "28th July 2011"; [] execVM "MBG_WOO_Basic_Config.sqf";/* If you need to modify this mission, this is not the place. It handles all the basic defines required for WOO to work. You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ [] execVM "MBG_WOO_UnitConfig.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_UnitInteraction.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_InterfaceControl.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_Building_Panels.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_UnitControl.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_UnitOverviewList.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_TacticalSupport.sqf"; call compile preprocessFileLineNumbers "MBG_WOO_F_ResourceControl.sqf"; If ((side player == west)) then { player setvariable ["MBG_WOO_BASE",MBG_WOO_WEST_HQ, false]; } else { player setvariable ["MBG_WOO_BASE",MBG_WOO_EAST_HQ, false]; }; //Sidespecific stuff onPlayerConnected "publicVariable 'MBG_WOO_WEST_POWER';publicVariable 'MBG_WOO_WEST_CRATES';publicVariable 'MBG_WOO_EAST_POWER';publicVariable 'MBG_WOO_EAST_CRATES';publicVariable 'MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST';publicVariable 'MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST';publicVariable 'MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST';publicVariable 'MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST';publicVariable 'MBG_WOO_GLOBAL_TOTAL_POINTS_WEST';publicVariable 'MBG_WOO_GLOBAL_TOTAL_POINTS_EAST';publicVariable 'MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL'"; if (isServer) then { MBG_WOO_AI_SIDE = east; MBG_WOO_AI_BASE = MBG_WOO_EAST_HQ; MBG_WOO_WEST_HQ setvariable ["MBG_WOO_BUILDINGQUEUE",[], true]; MBG_WOO_WEST_HQ setvariable ["MBG_WOO_BUILDINGPROGRESS", [1000000,1], true]; MBG_WOO_WEST_HQ setvariable ["MBG_WOO_BUSY",FALSE, true]; MBG_WOO_EAST_HQ setvariable ["MBG_WOO_BUILDINGQUEUE",[], true]; MBG_WOO_EAST_HQ setvariable ["MBG_WOO_BUILDINGPROGRESS", [1000000,1], true]; MBG_WOO_EAST_HQ setvariable ["MBG_WOO_BUSY",FALSE, true]; MBG_WOO_WEST_POWER = 500; MBG_WOO_WEST_CRATES = 2000; MBG_WOO_EAST_POWER = 500; MBG_WOO_EAST_CRATES = 2000; MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST = []; MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST = []; MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST = []; MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST = []; MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST = MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST + [MBG_WOO_WEST_HQ]; MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST = MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST + [MBG_WOO_EAST_HQ]; MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL = [MBG_WOO_RP1, MBG_WOO_RP2, MBG_WOO_RP3, MBG_WOO_RP4, MBG_WOO_RP5, MBG_WOO_RP6, MBG_WOO_RP7, MBG_WOO_RP8, MBG_WOO_RP9, MBG_WOO_RP10, MBG_WOO_RP11, MBG_WOO_RP12]; MBG_WOO_GLOBAL_TOTAL_POINTS_WEST = []; MBG_WOO_GLOBAL_TOTAL_POINTS_EAST = []; publicVariable 'MBG_WOO_WEST_POWER'; publicVariable 'MBG_WOO_WEST_CRATES'; publicVariable 'MBG_WOO_EAST_POWER'; publicVariable 'MBG_WOO_EAST_CRATES'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_POINTS_WEST'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_POINTS_EAST'; publicVariable 'MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL'; }; MBG_WOO_GLOBAL_UPDATE_OVERLAY = "aassd"; "MBG_WOO_GLOBAL_UPDATE_OVERLAY" addPublicVariableEventHandler { call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; if (MBG_WOO_OpenOverviewList) then {call MBG_WOO_FUNC_SHOW_OVERVIEW_LIST;}; }; [] spawn MBG_WOO_RESOURCE_TICK; //local stuff MBG_WOO_CREATEDISTANCE = 10; MBG_WOO_Zoomlevel = 0.5; MBG_WOO_NEXT_MSG_Line = 1; MBG_WOO_CURRENT_SELECTED_GROUP = group Player; MBG_WOO_WEST_DEAD_POOL = createGroup WEST; MBG_WOO_EAST_DEAD_POOL = createGroup EAST; MBG_WOO_CUR_SEL_BUILDING = player; MBG_WOO_TacticalSupport = false; MBG_WOO_TacticalSupport_Selecting = false; MBG_WOO_TacticalSupport_Marker = player; MBG_WOO_TacticalSupport_Type = 0; MBG_WOO_ControlsALT = false; MBG_WOO_ControlsSHIFT = false; MBG_WOO_ControlsCONTROL = false; MBG_WOO_RMB = FALSE; MBG_WOO_LMB = FALSE; MBG_WOO_CREATING_NEW_WP = FALSE; MBG_WOO_NEW_WAYPOINT_INDICATOR = player; MBG_WOO_TacticalSupport_RangeMarker = player; MBG_WOO_OpenOverviewList = false; MBG_LAST_DIR = 0; MBG_WOO_CamDist = -30; MBG_WOO_CamHeight = 30; MBG_WOO_CamDistDEF = MBG_WOO_CamDist; MBG_WOO_CamHeightDEF = MBG_WOO_CamHeight; {[_x] call MBG_WOO_FUNC_Refresh_Resource_Display;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL; player sidechat "init done"; player addaction [format ["Commander Screen"], "MBG_WOO_MainInterface.sqf", [Player], 1, false, true, "teamSwitchPrev", "_target == player"];_type = _this select 0; if (_type == "WEST") then { //WEST HQ Destroyed closedialog 0; titleText ["Game ended.\nWest lost!", "PLAIN"]; sleep 5; endMission "END1"; }; if (_type == "EAST") then { //WEST HQ Destroyed closedialog 0; titleText ["Game ended.\nEast lost!", "PLAIN"]; sleep 5; endMission "END2"; }; if (_type == "RES") then { //WEST HQ Destroyed closedialog 0; titleText ["Game ended.\nResistance lost!", "PLAIN"]; sleep 5; endMission "END3"; };/* If you need to modify this mission, this is not entirely the place. It handles the creation of buttons when selecting a building. You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_FILL_BUILDING_PANEL = { private ["_sales","_availPanels","_availPictures","_i","_poo","_displayname","_Pwr","_crates","_contimes","_uipic","_d","_execCode"]; _sales = _this select 0; _d = _this select 1; _i = 0; _availPictures = _this select 2; _availPanels = _this select 3; while {_i < (count _sales)} do { _poo = call compile (_sales select _i); _Pwr = ((_poo select 0) select 0); _Crates = ((_poo select 0) select 1); _Contimes = ((_poo select 0) select 2); _displayname = ((_poo select 0) select 3); _uipic = ((_poo select 0) select 5); _execCode = format ["['%1',%2] call MBG_WOO_FUNC_WORKS", (_sales select _i), _d]; ((findDisplay 5990) displayCtrl (_availPanels select _i)) buttonSetAction _execCode; ((findDisplay 5990) displayCtrl (_availPictures select _i)) ctrlSetText _uipic; ((findDisplay 5990) displayCtrl (_availPanels select _i)) ctrlEnable TRUE; _Stxt = format ["%1 - %2C - %3P - %4s",_displayname,_Crates,_Pwr,_contimes]; ((findDisplay 5990) displayCtrl (_availPanels select _i)) ctrlSetTooltip _Stxt; _i = _i + 1; }; }; MBG_WOO_FUNC_FILL_CONSTRUCION_VEHICLE_PANEL = { private ["_sales","_availPanels","_availPictures","_i","_poo","_displayname","_Pwr","_crates","_contimes","_uipic","_execCode","_TypeID","_ldr"]; _sales = _this select 0; _i = 0; _availPictures = _this select 1; _availPanels = _this select 2; while {_i < (count _sales)} do { _poo = call compile (_sales select _i); _Pwr = (_poo select 0); _Crates = (_poo select 1); _Contimes = (_poo select 2); _displayname = (_poo select 3); _uipic = (_poo select 5); _TypeID = (_poo select 6); _execCode = format ["[%1,GilmoreGirls,%3,%4,%5] call MBG_WOO_FUNC_TurnIntoBuilding", _TypeID, _ldr,_Crates,_Pwr,_Contimes]; ((findDisplay 5990) displayCtrl (_availPanels select _i)) buttonSetAction _execCode; ((findDisplay 5990) displayCtrl (_availPictures select _i)) ctrlSetText _uipic; ((findDisplay 5990) displayCtrl (_availPanels select _i)) ctrlEnable TRUE; _Stxt = format ["%1 - %2C - %3P - %4s",_displayname,_Crates,_Pwr,_contimes]; ((findDisplay 5990) displayCtrl (_availPanels select _i)) ctrlSetTooltip _Stxt; _i = _i + 1; }; }; MBG_WOO_FUNC_HQPanelMenu = { private ["_carrier","_availPictures","_availPanels"]; _availPictures = [59811,59812,59817]; _availPanels = [59801,59802,59807]; call MBG_WOO_FUNC_RefillPanelMenu; MBG_WOO_CREATEDISTANCE = 10; if ((side player) == WEST) then { [MBG_WOO_WEST_HQ_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; } else { [MBG_WOO_EAST_HQ_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; }; }; MBG_WOO_FUNC_BarracksPanelMenu = { private ["_carrier","_availPictures","_availPanels","_stxt"]; call MBG_WOO_FUNC_RefillPanelMenu; MBG_WOO_CREATEDISTANCE = 20; _availPictures = [59811,59812,59813,59814,59815,59816,59817,59818,59819,598191,598192]; _availPanels = [59801,59802,59803,59804,59805,59806,59807,59808,59809,598091,598092]; if ((side player) == WEST) then { [MBG_WOO_WEST_BARRACKS_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; } else { [MBG_WOO_EAST_BARRACKS_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; }; buttonSetAction [598093, "[MBG_WOO_CUR_SEL_BUILDING] call MBG_WOO_FUNC_RECYCLE_BUILDING"]; ctrlSetText [598193, "\MBG_Woo\UI\DESTRUCT_CA.paa"]; ctrlEnable [598093,TRUE]; _Stxt = "Remove structure"; ((findDisplay 5990) displayCtrl 598093) ctrlSetTooltip _Stxt; }; MBG_WOO_FUNC_CarFactoryPanelMenu = { private ["_carrier","_availPictures","_availPanels","_stxt"]; call MBG_WOO_FUNC_RefillPanelMenu; MBG_WOO_CREATEDISTANCE = 20; _availPictures = [59811,59812,59813,59814,59815,59816,59817,59818,59819,598191,598192]; _availPanels = [59801,59802,59803,59804,59805,59806,59807,59808,59809,598091,598092]; if ((side player) == WEST) then { [MBG_WOO_WEST_CARFACTORY_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; } else { [MBG_WOO_EAST_CARFACTORY_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; }; buttonSetAction [598093, "[MBG_WOO_CUR_SEL_BUILDING] call MBG_WOO_FUNC_RECYCLE_BUILDING"]; ctrlSetText [598193, "\MBG_Woo\UI\DESTRUCT_CA.paa"]; ctrlEnable [598093,TRUE]; _Stxt = "Remove structure"; ((findDisplay 5990) displayCtrl 598093) ctrlSetTooltip _Stxt; }; MBG_WOO_FUNC_TankFactoryPanelMenu = { private ["_carrier","_availPictures","_availPanels","_stxt"]; call MBG_WOO_FUNC_RefillPanelMenu; MBG_WOO_CREATEDISTANCE = 20; _availPictures = [59811,59812,59813,59814,59815,59816,59817,59818,59819,598191,598192]; _availPanels = [59801,59802,59803,59804,59805,59806,59807,59808,59809,598091,598092]; if ((side player) == WEST) then { [MBG_WOO_WEST_TANKFACTORY_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; } else { [MBG_WOO_EAST_TANKFACTORY_Sales, MBG_WOO_CREATEDISTANCE,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_BUILDING_PANEL; }; buttonSetAction [598093, "[MBG_WOO_CUR_SEL_BUILDING] call MBG_WOO_FUNC_RECYCLE_BUILDING"]; ctrlSetText [598193, "\MBG_Woo\UI\DESTRUCT_CA.paa"]; ctrlEnable [598093,TRUE]; _Stxt = "Remove structure"; ((findDisplay 5990) displayCtrl 598093) ctrlSetTooltip _Stxt; }; MBG_WOO_FUNC_HospitalPanelMenu = { private ["_carrier","_Stxt"]; call MBG_WOO_FUNC_RefillPanelMenu; {ctrlEnable [_x, TRUE];} foreach [59801,598093]; buttonSetAction [59801, "call MBG_WOO_FUNC_HOSPITAL"]; ctrlSetText [59811, "\MBG_Woo\UI\HEAL_CA.paa"]; _Stxt = "50C - 120s"; ((findDisplay 5990) displayCtrl 59801) ctrlSetTooltip _Stxt; buttonSetAction [598093, "[MBG_WOO_CUR_SEL_BUILDING] call MBG_WOO_FUNC_RECYCLE_BUILDING"]; ctrlSetText [598193, "\MBG_Woo\UI\DESTRUCT_CA.paa"]; _Stxt = "Remove structure"; ((findDisplay 5990) displayCtrl 598093) ctrlSetTooltip _Stxt; if (MBG_WOO_CUR_SEL_BUILDING getvariable MBG_WOO_BUSY) then { ctrlEnable [59801,false]; }; }; MBG_WOO_FUNC_HOSPITAL = { private ["_healableinf","_oo"]; MBG_WOO_CUR_SEL_BUILDING setvariable ["MBG_WOO_BUILDINGPROGRESS",[120, time], true]; MBG_WOO_CUR_SEL_BUILDING setvariable ["MBG_WOO_BUILDINGQUEUE",["Cooldown"], true]; Call MBG_WOO_FUNC_UpdateConstructionINFO; [MBG_WOO_CUR_SEL_BUILDING] spawn { (_this select 0) setvariable ["MBG_WOO_BUSY",TRUE, true]; _healableinf = nearestObjects [(getpos _healableinf), ["Man"], 72]; {_x setdamage ((damage _x) - 0.9)} foreach _healableinf; _oo = "LAND_MBG_WOO_Healzone" createvehicle (getpos (_this select 0)); _oo setpos (getpos (_this select 0)); sleep 10; deletevehicle _oo; sleep 110; (_this select 0) setvariable ["MBG_WOO_BUSY",false, true]; ["Hospital ready!",[0,1,1,0.4]] call MBG_WOO_FUNC_NewMessage; }; }; /* If you need to modify this mission, this is not the place. It handles mostly the camera controls and the GUI You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_DetectKeys = { private ["_dir","_pos"]; MBG_WOO_ControlsSHIFT = ((_this) select 2); MBG_WOO_ControlsCONTROL = ((_this) select 3); MBG_WOO_ControlsALT = ((_this) select 4); MBG_WOO_ControlsRETURN = ( ((_this) select 1) == 14); MBG_WOO_ControlsSPACEBAR = ( ((_this) select 1) == 57); MBG_WOO_Controls_M = ( ((_this) select 1) == 50); MBG_WOO_Controls_TAB = ( ((_this) select 1) == 15); if (MBG_WOO_Controls_M) then { MBG_WOO_OpenMap = true; call MBG_WOO_SHOW_OVERVIEWMAP; }; if (MBG_WOO_Controls_TAB) then { if (MBG_WOO_OpenOverviewList) then { MBG_WOO_OpenOverviewList = false; call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; } else { MBG_WOO_OpenOverviewList = true; call MBG_WOO_FUNC_SHOW_OVERVIEW_LIST; }; }; if (MBG_WOO_ControlsSPACEBAR) then { if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { call MBG_WOO_FUNC_JUMP_TO_SEL_GROUP; } else { call MBG_WOO_FUNC_DeSelectUnits; _pos = player getvariable "MBG_WOO_BASE"; _dir = (getdir MBG_WOO_Main_cam_Center); MBG_WOO_Main_cam_Center_POS = [(((getpos _pos) select 0) + ((1)*sin _dir)),(((getpos _pos) select 1) + (1)*cos _dir), ((getpos _pos) select 2)]; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; MBG_WOO_Main_cam camPreparePos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamPrepareTarget MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam camCommitPrepared 1; }; }; if (MBG_WOO_ControlsRETURN) then { MBG_WOO_CamDist = MBG_WOO_CamDist; MBG_WOO_CamHeight = MBG_WOO_CamHeight; if (getdir MBG_WOO_Main_cam_Center == 0) then { if ((MBG_WOO_CamHeight == MBG_WOO_CamHeightDEF) and (MBG_WOO_CamDist != MBG_WOO_CamDistDEF)) then { MBG_WOO_CamDist = MBG_WOO_CamDistDEF; }; if (MBG_WOO_CamHeight != MBG_WOO_CamHeightDEF) then { MBG_WOO_CamHeight = MBG_WOO_CamHeightDEF; }; } else { MBG_WOO_Main_cam_Center setdir 0; }; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin 0)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos 0),MBG_WOO_CamHeight]; MBG_WOO_Main_cam CamSetPos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamCommit 0.5; }; }; MBG_WOO_FUNC_DisableKeys = { MBG_WOO_ControlsSHIFT = false; MBG_WOO_ControlsCONTROL = false; MBG_WOO_ControlsALT = false; }; MBG_WOO_FUNC_RotateScreen = { private ["_xMovement","_yMovement","_Dir"]; if (MBG_WOO_ControlsALT) then { _xMovement = _this select 1; _yMovement = _this select 2; MBG_WOO_Main_cam_Center setdir ((getdir MBG_WOO_Main_cam_Center) + (_xMovement)); MBG_WOO_CamHeight = MBG_WOO_CamHeight + (_yMovement * 2); _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; MBG_WOO_Main_cam CamSetPos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamCommit 0.0; }; }; MBG_WOO_FUNC_MoveScreen = { private ["_xCoord","_yCoord","_thresholdX","_thresholdY","_lastpos","_newDir","_dir","_scrllUpZone","_scrllDownZone","_scrllLeftZone","_scrllRightZone"]; if (MBG_WOO_RMB) then { if (MBG_WOO_CREATING_NEW_WP) then { _lastpos = screenToWorld [_this select 1,_this select 2]; _newDir = ((_lastpos select 0) - ((getpos MBG_WOO_NEW_WAYPOINT_INDICATOR) select 0)) atan2 ((_lastpos select 1) - ((getpos MBG_WOO_NEW_WAYPOINT_INDICATOR) select 1)); _newDir = _newDir % 360; MBG_WOO_NEW_WAYPOINT_INDICATOR setdir _newDir; }; } else { //Move Screen if (not MBG_WOO_ControlsALT) then { _xCoord = (_this select 1); _yCoord = (_this select 2); _thresholdX = abs (safeZoneX * 0.85); _thresholdY = abs (safeZoneY * 0.85); _scrllUpZone = (0 - _thresholdy); _scrllDownZone = (1 + _thresholdy); _scrllLeftZone = (0 - _thresholdX); _scrllRightZone = (1 + _thresholdX); if (_thresholdy == 0) then { _scrllUpZone = 0.05; _scrllDownZone = 0.95; }; if (_thresholdX == 0) then { _scrllLeftZone = 0.05; _scrllRightZone = 0.95; }; if (_xCoord > _scrllRightZone) then { _dir = (getdir MBG_WOO_Main_cam_Center) + 90; MBG_WOO_Main_cam_Center_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((1)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (1)*cos _dir), ((getpos MBG_WOO_Main_cam_Center) select 2)]; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; }; if (_xCoord < _scrllLeftZone ) then { _dir = (getdir MBG_WOO_Main_cam_Center) -90; MBG_WOO_Main_cam_Center_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((1)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (1)*cos _dir), ((getpos MBG_WOO_Main_cam_Center) select 2)]; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; }; if (_yCoord > _scrllDownZone) then { _dir = (getdir MBG_WOO_Main_cam_Center) - 180; MBG_WOO_Main_cam_Center_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((1)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (1)*cos _dir), ((getpos MBG_WOO_Main_cam_Center) select 2)]; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; }; if (_yCoord < _scrllUpZone) then { _dir = (getdir MBG_WOO_Main_cam_Center); MBG_WOO_Main_cam_Center_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((1)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (1)*cos _dir), ((getpos MBG_WOO_Main_cam_Center) select 2)]; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; }; MBG_WOO_Main_cam CamSetPos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamSetTarget MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam CamCommit 0.2; }; // Tac Help? if (MBG_WOO_TacticalSupport_Selecting) then { _lastpos = screenToWorld [_this select 1,_this select 2]; if (MBG_WOO_LMB and (MBG_WOO_TacticalSupport_Type == 1)) then { _newDir = ((_lastpos select 0) - ((getpos MBG_WOO_TacticalSupport_Marker) select 0)) atan2 ((_lastpos select 1) - ((getpos MBG_WOO_TacticalSupport_Marker) select 1)); _newDir = _newDir % 360; MBG_WOO_TacticalSupport_Marker setdir _newDir; } else { MBG_WOO_TacticalSupport_Marker setpos _lastpos; }; }; }; }; MBG_WOO_FUNC_ZoomChange = { private ["_DeltaZoomChange","_dir"]; _DeltaZoomChange = (_this select 1); MBG_WOO_Zoomlevel = MBG_WOO_Zoomlevel + ((_DeltaZoomChange/100)*(-1)); MBG_WOO_CamDist = MBG_WOO_CamDist - ((_DeltaZoomChange*(-1))* 0.4); If (MBG_WOO_CamDist > (-1)) then {MBG_WOO_CamDist = (-1)}; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; MBG_WOO_Main_cam CamSetPos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamCommit 0.0; }; MBG_WOO_FUNC_MouseDown = { private ["_xCoord","_yCoord","_wopos","_selectablesINF","_selectablesVEH","_indicator","_i","_searching","_indica","_bpos","_selectables2","_sideVeh","_meh","_enemyBuildings"]; _xCoord = (_this select 2); _yCoord = (_this select 3); _wopos = screenToWorld [_xCoord,_yCoord]; _selectablesINF = nearestObjects [_wopos, ["Man"], 2]; _selectablesVEH = nearestObjects [_wopos, ["Car","Tank"], 5]; _selectablesBLD = []; _enemyBuildings = []; if (side player == west) then { _selectablesBLD = nearestObjects [_wopos, MBG_WOO_WEST_ALL_BUILDINGS_TYPES, 4]; _enemyBuildings = nearestObjects [_wopos, MBG_WOO_EAST_ALL_BUILDINGS_TYPES, 20]; } else { _selectablesBLD = nearestObjects [_wopos, MBG_WOO_EAST_ALL_BUILDINGS_TYPES, 4]; _enemyBuildings = nearestObjects [_wopos, MBG_WOO_WEST_ALL_BUILDINGS_TYPES, 20]; }; _selectables = nearestObjects [_wopos, ["man","Car","Tank"], 5]; //LMB if ((_this select 1) == 0) then { MBG_WOO_LMB = TRUE; if ((count _selectablesVEH) > 0) then {[_selectablesVEH, "VEH"] call MBG_WOO_FUNC_SelectUnits;} else { if ((count _selectablesINF) > 0) then {[_selectablesINF, "INF"] call MBG_WOO_FUNC_SelectUnits;} else { if ((count _selectablesBLD) > 0) then {[_selectablesBLD, "BLD"] call MBG_WOO_FUNC_SelectBuildings;} else { if (not (MBG_WOO_TacticalSupport_Selecting)) then { call MBG_WOO_FUNC_DeSelectUnits; }; }; }; }; }; //RMB if ((_this select 1) == 1) then { MBG_WOO_RMB = TRUE; if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { if (MBG_WOO_TacticalSupport_Selecting) then { ["Tactical Support selection cancelled",[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_Cancel_Tactical_Support; } else { _selectables2 = (nearestObjects [_wopos, ["Car","Tank"], 3]); if ((count _selectables2) > 0) then { _sideVeh = (side (_selectables2 select 0)); _meh = (_sideVeh == Civilian); if ((_sideVeh == (side player)) or _meh) then { //Mount WP if ((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) == (leader MBG_WOO_CURRENT_SELECTED_GROUP)) then { [(_selectables2 select 0)] call MBG_WOO_FUNC_EnterVehicle; }; }; } else { //Attack Building WP if ((count (_enemyBuildings)) > 0) then { [(_enemyBuildings select 0)] call MBG_WOO_FUNC_AttackWP; }; if ((count _selectables) > 0) then { if (((side (_selectables select 0)) != (side player)) and (alive (_selectables select 0))) then { //Attack WP [(_selectables select 0)] call MBG_WOO_FUNC_AttackWP; }; } else { //Regular WP MBG_WOO_CREATING_NEW_WP = TRUE; MBG_WOO_NEW_WAYPOINT_INDICATOR = "LAND_MBG_WOO_MBG_WOO_WAYPOINT" createvehicle [0,0,0]; MBG_WOO_NEW_WAYPOINT_INDICATOR setpos _wopos; if ((((nearestBuilding MBG_WOO_NEW_WAYPOINT_INDICATOR) distance MBG_WOO_NEW_WAYPOINT_INDICATOR) < 6) and (not ((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) != (leader MBG_WOO_CURRENT_SELECTED_GROUP)))) then { _i = 0; _searching = true; while {_searching} do { _bpos = ((nearestBuilding MBG_WOO_NEW_WAYPOINT_INDICATOR) buildingPos _i); If ((((_bpos) select 0)> 0)) then { _i = _i + 1; } else { _searching = false; }; }; if (_i > 0) then { { _x domove ((nearestBuilding MBG_WOO_NEW_WAYPOINT_INDICATOR) buildingPos (Random (floor _i))); } foreach units MBG_WOO_CURRENT_SELECTED_GROUP; _indica = "LAND_MBG_WOO_MBG_WOO_Entrance" createvehicle [0,0,0]; _indica setpos ((nearestBuilding MBG_WOO_NEW_WAYPOINT_INDICATOR) buildingexit 0); _indica setdir (getdir MBG_WOO_Main_cam_Center); MBG_WOO_CREATING_NEW_WP = False; deletevehicle MBG_WOO_NEW_WAYPOINT_INDICATOR; [_indica] spawn { sleep 2; deletevehicle (_this select 0); }; } else { [] spawn { waituntil {(not(MBG_WOO_CREATING_NEW_WP))}; call MBG_WOO_FUNC_Waypoint; }; }; }; [] spawn { waituntil {(not(MBG_WOO_CREATING_NEW_WP))}; call MBG_WOO_FUNC_Waypoint; }; }; }; }; }; }; }; MBG_WOO_FUNC_MouseUP = { if ((_this select 1) == 1) then { MBG_WOO_RMB = FALSE; MBG_WOO_CREATING_NEW_WP = FALSE; }; if ((_this select 1) == 0) then { MBG_WOO_LMB = false; if (MBG_WOO_TacticalSupport_Selecting) then { MBG_WOO_TacticalSupport_Selecting = false; if (MBG_WOO_TacticalSupport_Type == 0) then { [MBG_WOO_TacticalSupport_Marker,1000] call MBG_WOO_FUNC_105_Arty_Cast; }; if (MBG_WOO_TacticalSupport_Type == 1) then { [MBG_WOO_TacticalSupport_Marker,1500] call MBG_WOO_FUNC_105_Rocket_Cast; }; }; }; }; MBG_WOO_FUNC_UpdatePanelMenu = { private ["_carrier","_preptext","_curDisplay","_t01","_t02","_t03","_t04","_t04","_Stxt","_control","_availPictures","_availPanels"]; {((findDisplay 5990) displayCtrl _x) ctrlEnable TRUE} foreach [59801,59802,59803,59804]; call MBG_WOO_FUNC_RefillPanelMenu; _Stxt = "ERROR"; if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { if (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP) == "AWARE") then { ((findDisplay 5990) displayCtrl 59801) buttonSetAction "['STEALTH'] call MBG_WOO_FUNC_ToogleBehaviour"; ((findDisplay 5990) displayCtrl 59811) ctrlSetText "\MBG_Woo\UI\GoProne_CA.paa"; _Stxt = "Order to go prone"; } else { ((findDisplay 5990) displayCtrl 59801) buttonSetAction "['AWARE'] call MBG_WOO_FUNC_ToogleBehaviour"; ((findDisplay 5990) displayCtrl 59811) ctrlSetText "\MBG_Woo\UI\StandUp_CA.paa"; _Stxt = "Order to stand up"; }; ((findDisplay 5990) displayCtrl 59801) ctrlSetTooltip _Stxt; if ((combatMode MBG_WOO_CURRENT_SELECTED_GROUP) == "BLUE") then { ((findDisplay 5990) displayCtrl 59802) buttonSetAction "['RED'] call MBG_WOO_FUNC_ToogleHoldFire"; ((findDisplay 5990) displayCtrl 59812) ctrlSetText "\MBG_Woo\UI\OpenArms_CA.paa"; _Stxt = "Engage at will"; } else { ((findDisplay 5990) displayCtrl 59802) buttonSetAction "['BLUE'] call MBG_WOO_FUNC_ToogleHoldFire"; ((findDisplay 5990) displayCtrl 59812) ctrlSetText "\MBG_Woo\UI\HoldFire_CA.paa"; _Stxt = "Hold fire"; }; ((findDisplay 5990) displayCtrl 59802) ctrlSetTooltip _Stxt; ((findDisplay 5990) displayCtrl 59803) buttonSetAction "[] call MBG_WOO_FUNC_RTB"; ((findDisplay 5990) displayCtrl 59813) ctrlSetText "\MBG_Woo\UI\RTB_CA.paa"; _Stxt = "Return to base"; ((findDisplay 5990) displayCtrl 59803) ctrlSetTooltip _Stxt; ((findDisplay 5990) displayCtrl 59804) buttonSetAction "[] call MBG_WOO_FUNC_StopUnit"; ((findDisplay 5990) displayCtrl 59814) ctrlSetText "\MBG_Woo\UI\STOP_CA.paa"; _Stxt = "Stop"; ((findDisplay 5990) displayCtrl 59804) ctrlSetTooltip _Stxt; }; // Additional Exit vehicle thing if (((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) iskindof "Car") or ((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) iskindof "Tank")) then { ((findDisplay 5990) displayCtrl 59806) ctrlEnable TRUE; ((findDisplay 5990) displayCtrl 59806) buttonSetAction "[] call MBG_WOO_FUNC_UNLOAD_CARRIER"; ((findDisplay 5990) displayCtrl 59816) ctrlSetText "\MBG_Woo\UI\LeaveVehicle_CA.paa"; _Stxt = "Exit current vehicle"; ((findDisplay 5990) displayCtrl 59806) ctrlSetTooltip _Stxt; }; //Additional Buildings if (((typeof (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP))) == MBG_WOO_WEST_ConstVehicle) or ((typeof (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP))) == MBG_WOO_EAST_ConstVehicle)) then { _availPictures = [598191,598192,598193]; _availPanels = [598091,598092,598093]; If ((side player == west)) then { [MBG_WOO_WEST_ConstructionVehicle_Sales,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_CONSTRUCION_VEHICLE_PANEL; } else { [MBG_WOO_EAST_ConstructionVehicle_Sales,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_CONSTRUCION_VEHICLE_PANEL; }; }; //Additional Advanced Buildings if (((typeof (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP))) == MBG_WOO_WEST_ConstVehicleAdvanced) or ((typeof (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP))) == MBG_WOO_EAST_ConstVehicleAdvanced)) then { _availPictures = [598191,598192,598193]; _availPanels = [598091,598092,598093]; If ((side player == west)) then { [MBG_WOO_WEST_ConstructionVehicleAdvanced_Sales,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_CONSTRUCION_VEHICLE_PANEL; } else { [MBG_WOO_EAST_ConstructionVehicleAdvanced_Sales,_availPictures,_availPanels] call MBG_WOO_FUNC_FILL_CONSTRUCION_VEHICLE_PANEL; }; }; //Additional Tactical Support if (((MBG_WOO_CURRENT_SELECTED_GROUP getVariable "MBG_WOO_GROUPTYPE") == "MBG_WOO_WEST_4_DELTA") or ((MBG_WOO_CURRENT_SELECTED_GROUP getVariable "MBG_WOO_GROUPTYPE") == "MBG_WOO_EAST_4_DELTA"))then { ((findDisplay 5990) displayCtrl 598091) ctrlEnable TRUE; ((findDisplay 5990) displayCtrl 598091) buttonSetAction "[] call MBG_WOO_FUNC_105_Arty"; ((findDisplay 5990) displayCtrl 598191) ctrlSetText "\MBG_Woo\UI\SPECIAL\ARTY_CA.paa"; _Stxt = "Request 105 Artillery Support - 1000P"; ((findDisplay 5990) displayCtrl 598091) ctrlSetTooltip _Stxt; ((findDisplay 5990) displayCtrl 598092) ctrlEnable TRUE; ((findDisplay 5990) displayCtrl 598092) buttonSetAction "[] call MBG_WOO_FUNC_Rocket"; ((findDisplay 5990) displayCtrl 598192) ctrlSetText "\MBG_Woo\UI\SPECIAL\MISSILE_CA.paa"; _Stxt = "Cruise Missile - 2000P"; ((findDisplay 5990) displayCtrl 598092) ctrlSetTooltip _Stxt; }; call MBG_WOO_FUNC_UpdatePanelINFO; }; MBG_WOO_FUNC_UpdatePanelINFO = { private ["_poo","_preptext","_control","_x","_y","_w","_h","_poop","_alivepercentage","_combMode","_FireMode","_t1","_t2","_curCargo","_unitcount","_InitialUnitCount","_i","_removalCand","_InitialUnitCount2"]; _poop = _this select 0; disableSerialization; _poo = call compile (MBG_WOO_CURRENT_SELECTED_GROUP getVariable "MBG_WOO_GROUPTYPE"); _combMode = (combatMode MBG_WOO_CURRENT_SELECTED_GROUP); _Firemode = (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _t1 = "aa"; _t2 = "aa"; _curCargo = []; _unitcount = (count (units MBG_WOO_CURRENT_SELECTED_GROUP)); _InitialUnitCount = count (((_poo) select 1)); if (_FireMode == "STEALTH") then {_t1 = "Prone"} else {_t1 = "Standing"}; if (_combMode == "BLUE") then {_t2 = "Holding fire"} else {_t2 = "Engaging at will"}; _alivepercentage = 1; if ((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) == (leader MBG_WOO_CURRENT_SELECTED_GROUP)) then { _alivepercentage = ((_unitcount) / _InitialUnitCount); _preptext = format ["Units: %1/%2\n%3\n%4",_unitcount, _InitialUnitCount,_t1,_t2]; } else { _curCargo = (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) getvariable ["MBG_WOO_LOADED_UNITS", ["a"]]; _alivepercentage = 1- (damage (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP))); _preptext = format ["Units: %1/%2\n%3\n%4\nLoaded Squads:%5",_unitcount, _InitialUnitCount,_t1,_t2,count _curCargo]; }; _control = (findDisplay 5990) displayCtrl 59880; _control ctrlSetBackgroundColor [(1-_alivepercentage), _alivepercentage, 0, 1]; _x = safeZoneX+(safeZoneW*0.87); _y = safeZoneY+(safeZoneH*0.44); _w = ((safeZoneW*0.12)* _alivepercentage); _h = safeZoneH*0.02; _control ctrlSetPosition [_x, _y, _w, _h]; _control ctrlCommit 0.5; ctrlSetText [59881, _preptext]; }; MBG_WOO_FUNC_UpdateConstructionINFO = { private ["_inittime","_deltaTime","_curtime","_elapsedSeconds","_percentage","_curUnit","_UnitName","_poo","_poo2","_curQUEUE","_curQUEUE2"]; disableSerialization; _inittime = ((MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGPROGRESS") select 1); _deltatime = ((MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGPROGRESS") select 0); _curtime = time; _elapsedSeconds = _curtime - _inittime; _percentage = (_elapsedSeconds / _deltatime); if (_percentage > 1) then {_percentage = 0}; _curUnit = "Idle"; If ( (count (MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGQUEUE")) > 0) then { _curQUEUE = ((MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGQUEUE") select 0); _poo = call compile _curQUEUE; _curUnit = ((_poo select 0) select 3); }; _nextunit = "End of queue"; If ( (count (MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGQUEUE")) > 1) then { _curQUEUE2 = ((MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGQUEUE") select 1); _poo2 = call compile _curQUEUE2; _nextUnit = ((_poo2 select 0) select 3); }; _preptext = format ["Current: %1\nNext: %2\nTotal Queue: %3",_curUnit,_nextunit,(count (MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGQUEUE"))]; _control = (findDisplay 5990) displayCtrl 59880; _control ctrlSetBackgroundColor [1,1,0.8, 1]; _x = safeZoneX+(safeZoneW*0.87); _y = safeZoneY+(safeZoneH*0.44); _w = ((safeZoneW*0.12)* _percentage); _h = safeZoneH*0.02; _control ctrlSetPosition [_x, _y, _w, _h]; _control ctrlCommit 0.5; ctrlSetText [59881, _preptext]; }; MBG_WOO_FUNC_UpdatePanelFunds = { private ["_t","_t2"]; _t = format ["%1 (+%2)", MBG_WOO_EAST_CRATES,(10* (count MBG_WOO_GLOBAL_TOTAL_POINTS_EAST) + 5)]; _t2 = format ["%1 (+%2)", MBG_WOO_EAST_POWER,(2* (count MBG_WOO_GLOBAL_TOTAL_POINTS_EAST) + 1)]; If ((side player == west)) then { _t = format ["%1 (+%2)", MBG_WOO_WEST_CRATES,(10* (count MBG_WOO_GLOBAL_TOTAL_POINTS_WEST) + 5)]; _t2 = format ["%1 (+%2)", MBG_WOO_WEST_POWER,(2* (count MBG_WOO_GLOBAL_TOTAL_POINTS_WEST) + 1)]; }; ctrlSetText [59001, _t]; ctrlSetText [59002, _t2]; }; MBG_WOO_FUNC_EmptyPanelMenu = { private ["_control","_x","_y","_w","_h"]; disableSerialization; {CtrlSetText [_x,""];} foreach [59811,59812,59813,59814,59815,59816,59817,59818,59819,598191,598192,598193]; {ctrlEnable [_x, FALSE];} foreach [59801,59802,59803,59804,59805,59806,59807,59808,59809,598091,598092,598093]; _control = (findDisplay 5990) displayCtrl 59880; _control ctrlSetBackgroundColor [0, 0, 0, 0]; ctrlSetText [59881, ""]; call MBG_WOO_FUNC_UpdatePanelFunds; { _control = (findDisplay 5990) displayCtrl _x; _control ctrlSetBackgroundColor [0,0, 0, 0]; _control ctrlSetTextColor [0,0, 0, 0]; _control ctrlCommit 0.0; } foreach [592,593,59881]; _control = (findDisplay 5990) displayCtrl 59000; _x = safeZoneX+(safeZoneW*0.85); _y = safeZoneY+(safeZoneH*0.00); _w = safeZoneW*0.15; _h = safeZoneH*0.10; _control ctrlSetPosition [_x, _y, _w, _h]; _control ctrlCommit 0.2; }; MBG_WOO_FUNC_RefillPanelMenu = { private ["_control","_x","_y","_w","_h"]; _control = (findDisplay 5990) displayCtrl 592; _control ctrlSetBackgroundColor [0.6,0.6, 0.6, 1]; _control ctrlCommit 0.0; _control = (findDisplay 5990) displayCtrl 593; _control ctrlSetBackgroundColor [0.6,0.6, 0.6, 1]; _control ctrlCommit 0.0; _control = (findDisplay 5990) displayCtrl 59881; _control ctrlSetBackgroundColor [1,1, 1, 1]; _control ctrlSetTextColor [0,0, 0,1]; _control ctrlCommit 0.0; _control = (findDisplay 5990) displayCtrl 59000; _x = safeZoneX+(safeZoneW*0.85); _y = safeZoneY+(safeZoneH*0.00); _w = safeZoneW*0.15; _h = safeZoneH*1; _control ctrlSetPosition [_x, _y, _w, _h]; _control ctrlCommit 0.0; }; MBG_WOO_FUNC_NewMessage = { private ["_i","_text","_curLine","_xa","_y","_w","_h","_control"]; _text = _this select 0; _color = _this select 1; disableSerialization; _curLine = switch MBG_WOO_NEXT_MSG_Line do { case 1: {59121}; case 2: {59122}; case 3: {59123}; case 4: {59124}; case 5: {59125}; case 6: {59126}; case 7: {59127}; case 8: {59128}; }; _xa = safezonex; _y = (safezoneY*0.1)+((safeZoneH*0.04)* MBG_WOO_NEXT_MSG_Line); _w = count (toArray(_text))*(0.008 * safezoneH); //_w = safeZoneW*0.25; _h = safeZoneH*0.03; _control = (MBG_WOO_EVENTMESSAGE_DISPLAY select 0) displayCtrl _curLine; _control ctrlSetTextColor [0, 0, 0, 1]; _control ctrlSetBackgroundColor _color; _control ctrlSetPosition [_xa, _y, _w, _h]; _control ctrlSetText _text; _control ctrlCommit 0.5; [_control] spawn { disableSerialization; _control = _this select 0; sleep 10; _control ctrlSetTextColor [0, 0, 0, 0]; _control ctrlSetBackgroundColor [1, 1, 1, 0.0]; _control ctrlSetPosition [safezonex, (safezoneY*0.4)+(safeZoneH*0.04), 0, safeZoneH*0.03]; _control ctrlCommit 0; }; MBG_WOO_NEXT_MSG_Line = MBG_WOO_NEXT_MSG_Line + 1; if (MBG_WOO_NEXT_MSG_Line == 9) then {MBG_WOO_NEXT_MSG_Line = 1}; }; MBG_WOO_FUNC_SelectBuildings = { private ["_BLDGType","_curSelBLDG"]; [_this select 0] spawn { _curSelBLDG = ((_this select 0) select 0); _BLDGType = (typeof _curSelBLDG); call MBG_WOO_FUNC_DeSelectUnits; call MBG_WOO_FUNC_EmptyPanelMenu; waituntil {MBG_WOO_CURRENT_SELECTED_GROUP == group Player}; MBG_WOO_CUR_SEL_BUILDING = _curSelBLDG; if ((side player) == WEST) then { if (_BLDGType == MBG_WOO_WEST_BLD_Type_HQ) then {call MBG_WOO_FUNC_HQPanelMenu;}; if (_BLDGType == MBG_WOO_WEST_BLD_Type_Barracks) then {call MBG_WOO_FUNC_BarracksPanelMenu;}; if (_BLDGType == MBG_WOO_WEST_BLD_Type_CarFactory) then {call MBG_WOO_FUNC_CarFactoryPanelMenu;}; if (_BLDGType == MBG_WOO_WEST_BLD_Type_TankFactory) then {call MBG_WOO_FUNC_TankFactoryPanelMenu;}; if (_BLDGType == MBG_WOO_WEST_BLD_Type_Hospital) then {call MBG_WOO_FUNC_HospitalPanelMenu;}; } else { if (_BLDGType == MBG_WOO_EAST_BLD_Type_HQ) then {call MBG_WOO_FUNC_HQPanelMenu;}; if (_BLDGType == MBG_WOO_EAST_BLD_Type_Barracks) then {call MBG_WOO_FUNC_BarracksPanelMenu;}; if (_BLDGType == MBG_WOO_EAST_BLD_Type_CarFactory) then {call MBG_WOO_FUNC_CarFactoryPanelMenu;}; if (_BLDGType == MBG_WOO_EAST_BLD_Type_TankFactory) then {call MBG_WOO_FUNC_TankFactoryPanelMenu;}; if (_BLDGType == MBG_WOO_EAST_BLD_Type_Hospital) then {call MBG_WOO_FUNC_HospitalPanelMenu;}; }; sleep 0.1; while {MBG_WOO_CUR_SEL_BUILDING != Player} do { call MBG_WOO_FUNC_UpdateConstructionINFO; sleep 0.5; }; }; }; MBG_WOO_FUNC_TrackUnitsOnMap = { private ["_curGrp","_Mtype","_poo"]; If ((side player == west)) then { { _poo = call compile (_x getVariable "MBG_WOO_GROUPTYPE"); _Mtype = ((_poo select 0) select 4); _x addGroupIcon [_Mtype,[0,0]]; _x setGroupIconParams [[0,0,1,1],"",1,true]; } foreach MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST; } else { { _poo = call compile (_x getVariable "MBG_WOO_GROUPTYPE"); _Mtype = ((_poo select 0) select 4); _x addGroupIcon [_Mtype,[0,0]]; _x setGroupIconParams [[0,0,1,1],"",1,true]; } foreach MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST; }; setGroupIconsSelectable true; setGroupIconsVisible [true,false]; }; MBG_WOO_FUNC_DetectKeysOnMap = { MBG_WOO_Controls_M = ( ((_this) select 1) == 50); if (MBG_WOO_Controls_M) then { closeDialog 5991; if (side player == west) then { {clearGroupIcons _x} foreach MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST; } else { {clearGroupIcons _x} foreach MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST; }; deleteMarkerLocal "MBG_WOO_CAMERA_MARKER"; }; }; MBG_WOO_SHOW_OVERVIEWMAP = { private ["_oo","_map","_te"]; _oo = createdialog "MBG_WOO_mainMap"; _map = (findDisplay 5991) displayCtrl 598002; _map ctrlMapAnimAdd [0, 0.1, MBG_WOO_Main_cam_Center_POS]; ctrlMapAnimCommit _map; call MBG_WOO_FUNC_TrackUnitsOnMap; _display = findDisplay 5991; _display displaySetEventHandler ["KeyDown","_this call MBG_WOO_FUNC_DetectKeysOnMap"]; _te = createMarkerLocal ["MBG_WOO_CAMERA_MARKER", MBG_WOO_Main_cam_Center_POS]; _te setMarkerShapeLocal "ICON"; "MBG_WOO_CAMERA_MARKER" setMarkerTypeLocal "mil_triangle"; "MBG_WOO_CAMERA_MARKER" setMarkerDirLocal (getdir MBG_WOO_Main_cam_Center); "MBG_WOO_CAMERA_MARKER" setMarkerSizeLocal [0.5, 1]; onGroupIconClick { [_this select 1] call MBG_WOO_FUNC_on_map_SelectUnits; }; if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { [MBG_WOO_CURRENT_SELECTED_GROUP] call MBG_WOO_FUNC_on_map_SelectUnits; }; }; MBG_WOO_FUNC_on_map_SelectUnits = { private ["_curGrp","_map","_newpos","_te"]; _curGrp = _this select 0; call MBG_WOO_FUNC_DeSelectUnits; If ((side player == west)) then { { _x setGroupIconParams [[0,0,1,1],"",1,true]; } foreach MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST; } else { { _x setGroupIconParams [[0,0,1,1],"",1,true]; } foreach MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST; }; _curGrp setGroupIconParams [[0,0,0,1],"<<<",1,true]; MBG_WOO_CURRENT_SELECTED_GROUP = _curGrp; { [_x] call MBG_WOO_FUNC_AddIndicator; } forEach (units MBG_WOO_CURRENT_SELECTED_GROUP); call MBG_WOO_FUNC_UpdatePanelMenu; call MBG_WOO_FUNC_UpdatePanelINFO; if ((count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0) then { _newpos = getWPPos [MBG_WOO_CURRENT_SELECTED_GROUP, 0]; _te = createMarkerLocal [(str time), _newpos]; _te setMarkerShapeLocal "ICON"; _te setMarkerTypeLocal "waypoint"; [_te] spawn { sleep 4; deleteMarkerLocal (_this select 0); }; }; }; MBG_WOO_Overviewmap_SetCamera = { private ["_x","_y","_pos","_dir","_map"]; _x = _this select 2; _y = _this select 3; _map = (findDisplay 5991) displayCtrl 598002; _pos = _map ctrlMapScreenToWorld [_x, _y]; _dir = (getdir MBG_WOO_Main_cam_Center); MBG_WOO_Main_cam_Center_POS = _pos; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; MBG_WOO_Main_cam camPreparePos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamPrepareTarget MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam camCommitPrepared 1; _map ctrlMapAnimAdd [0.2, 0.1, _pos]; ctrlMapAnimCommit _map; "MBG_WOO_CAMERA_MARKER" setMarkerPosLocal _pos; }; MBG_WOO_FUNC_JUMP_TO_SEL_GROUP = { private ["_pos","_dir","_map","_grp","_nmbr"]; _pos = Getpos (Leader MBG_WOO_CURRENT_SELECTED_GROUP); _dir = (getdir MBG_WOO_Main_cam_Center); MBG_WOO_Main_cam_Center_POS = _pos; MBG_WOO_Main_cam_Center setpos MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam_View_POS = [(((getpos MBG_WOO_Main_cam_Center) select 0) + ((MBG_WOO_CamDist)*sin _dir)),(((getpos MBG_WOO_Main_cam_Center) select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; MBG_WOO_Main_cam camPreparePos MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CamPrepareTarget MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam camCommitPrepared 1; }; MBG_WOO_FUNC_FogOFWar = { private ["_group","_bldgs","_naught","_i","_d1","_d2","_d","_nearest2"]; _group = MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST; _bldgs = MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST; If ((side player == west)) then { _group = MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST; _bldgs = MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST; }; _d1 = 90410; _d2 = 90410; //Get nearest Unit _nearest = [_group, MBG_WOO_Main_cam_View_POS] call bis_fnc_nearestPosition; if (not ((str _nearest) == "[0,0,0]")) then { _nearest2 = (vehicle (leader _nearest)); _d1 = _nearest2 distance MBG_WOO_Main_cam_View_POS; }; //Get nearest Building _nearest = [_bldgs, MBG_WOO_Main_cam_View_POS] call bis_fnc_nearestPosition; if (not ((str _nearest) == "[0,0,0]")) then { _d2 = _nearest distance MBG_WOO_Main_cam_View_POS; }; _d = 0; if (_d1 > _d2) then { _d = _d2; } else { _d = _d1; }; setviewdistance (500 - _d); if (500 - _d < 1) then { titleText ["FOG OF WAR.\n\nReturn to your units!", "BLACK FADED",1] } else { titleText [" ", "PLAIN",1] }; }; MBG_WOO_Overviewmap_MouseButtons = { //RMB if ((_this select 1) == 1) then { if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { [(_this select 2),(_this select 3)] call MBG_WOO_FUNC_OnMap_Waypoint; }; }; };/* If you need to modify this mission, this is not the place. It handles the resource income. You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_Refresh_Resource_Display = { private ["_point","_indicator","_newIndicator","_orientation","_indytype","_marker"]; _point = (_this select 0); _indicator = _point getvariable ["MBG_WOO_RESOURCE_INDICATOR", player]; if (_indicator == player) then { _newIndicator = "LAND_MBG_WOO_Neutral_Point" createvehicleLocal (getpos _point); _newIndicator setpos (getpos _point); _point setvariable ["MBG_WOO_RESOURCE_INDICATOR", _newIndicator, false]; }; _indicator = _point getvariable ["MBG_WOO_RESOURCE_INDICATOR", "popel"]; _orientation = _point getvariable ["MBG_WOO_RESOURCE_SIDE", "NEUTRAL"]; if (_orientation == "NEUTRAL") then { _newIndicator = "LAND_MBG_WOO_Neutral_Point" createvehicleLocal (getpos _point); _newIndicator setpos (getpos _point); _point setvariable ["MBG_WOO_RESOURCE_INDICATOR", _newIndicator, false]; }; if (_orientation == "EAST") then { if ((side player) == east) then { (str _point) setMarkerColorLocal "ColorBlue"; }; if ((side player) == west) then { (str _point) setMarkerColorLocal "ColorRed"; }; deletevehicle _indicator; If (side player == west) then { _indytype = "LAND_MBG_WOO_Enemy_Point" } else { _indytype = "LAND_MBG_WOO_Friendly_Point" }; _newIndicator = _indytype createvehicleLocal (getpos _point); _newIndicator setpos (getpos _point); _point setvariable ["MBG_WOO_RESOURCE_INDICATOR", _newIndicator, false]; }; if (_orientation == "WEST") then { if ((side player) == west) then { (str _point) setMarkerColorLocal "ColorBlue"; }; if ((side player) == east) then { (str _point) setMarkerColorLocal "ColorRed"; }; deletevehicle _indicator; If (side player == east) then { _indytype = "LAND_MBG_WOO_Enemy_Point" } else { _indytype = "LAND_MBG_WOO_Friendly_Point" }; _newIndicator = _indytype createvehicleLocal (getpos _point); _newIndicator setpos (getpos _point); _point setvariable ["MBG_WOO_RESOURCE_INDICATOR", _newIndicator, false]; }; }; MBG_WOO_FUNC_Refresh_Resource_Orientation = { private ["_point","_NearDudes","_captureman","_pside","_NearDudes"]; _point = (_this select 0); _NearDudes = nearestObjects [_point, ["man"], 20]; _NearDudesDummy = _NearDudes; { if (not (alive _x)) then {_NearDudes = _NearDudes - [_x]}; } foreach _NearDudesDummy; if ((count _NearDudes) != 0) then { _captureman = _nearDudes select 0; _pside = _point getvariable ["MBG_WOO_RESOURCE_SIDE", "NEUTRAL"]; if (((side _captureman) == west) and (_pside != "WEST")) then { _point setvariable ["MBG_WOO_RESOURCE_SIDE", "WEST", TRUE]; MBG_WOO_GLOBAL_TOTAL_POINTS_WEST = MBG_WOO_GLOBAL_TOTAL_POINTS_WEST + [_point]; if (_pside == "NEUTRAL") then { MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL = MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL - [_point]; }; if (_pside == "EAST") then { MBG_WOO_GLOBAL_TOTAL_POINTS_EAST = MBG_WOO_GLOBAL_TOTAL_POINTS_EAST - [_point]; }; //if ((side player) == west) then {["Point taken!",[1,1,1,0.8]] call MBG_WOO_FUNC_NewMessage;}; //if (((side player) == east) and (_pside == "EAST")) then {["Point lost!",[1,0,0,0.8]] call MBG_WOO_FUNC_NewMessage;}; }; if (((side _captureman) == east) and (_pside != "EAST")) then { _point setvariable ["MBG_WOO_RESOURCE_SIDE", "EAST", TRUE]; MBG_WOO_GLOBAL_TOTAL_POINTS_EAST = MBG_WOO_GLOBAL_TOTAL_POINTS_EAST + [_point]; if (_pside == "NEUTRAL") then { MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL = MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL - [_point]; }; if (_pside == "WEST") then { MBG_WOO_GLOBAL_TOTAL_POINTS_WEST = MBG_WOO_GLOBAL_TOTAL_POINTS_WEST - [_point]; }; //if ((side player) == east) then {["Point taken!",[1,1,1,0.8]] call MBG_WOO_FUNC_NewMessage;}; //if (((side player) == west) and (_pside == "WEST")) then {["Point lost!",[1,0,0,0.8]] call MBG_WOO_FUNC_NewMessage;}; }; publicvariable "MBG_WOO_GLOBAL_TOTAL_POINTS_EAST"; publicvariable "MBG_WOO_GLOBAL_TOTAL_POINTS_WEST"; publicvariable "MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL"; }; }; MBG_WOO_RESOURCE_TICK = { while {true} do { sleep 5; if (not (alive MBG_WOO_WEST_HQ)) then { NULL = ["WEST"] execVM "MBG_WOO_ENDGame.sqf"; }; if (not (alive MBG_WOO_EAST_HQ)) then { NULL = ["EAST"] execVM "MBG_WOO_ENDGame.sqf"; }; if (isserver) then { {[_x] call MBG_WOO_FUNC_Refresh_Resource_Orientation;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL; {[_x] call MBG_WOO_FUNC_Refresh_Resource_Orientation;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_WEST; {[_x] call MBG_WOO_FUNC_Refresh_Resource_Orientation;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_EAST; }; sleep 1; if (isserver) then { // Constant yield of 1 Power and 5 Crates when no points owned. MBG_WOO_WEST_POWER = MBG_WOO_WEST_POWER + (2* (count MBG_WOO_GLOBAL_TOTAL_POINTS_WEST) + 1); MBG_WOO_WEST_CRATES = MBG_WOO_WEST_CRATES + (10* (count MBG_WOO_GLOBAL_TOTAL_POINTS_WEST) + 5); publicvariable "MBG_WOO_WEST_POWER"; publicvariable "MBG_WOO_WEST_CRATES"; MBG_WOO_EAST_POWER = MBG_WOO_EAST_POWER + (2* (count MBG_WOO_GLOBAL_TOTAL_POINTS_EAST)+ 1); MBG_WOO_EAST_CRATES = MBG_WOO_EAST_CRATES + (10* (count MBG_WOO_GLOBAL_TOTAL_POINTS_EAST)) + 5; publicvariable "MBG_WOO_EAST_POWER"; publicvariable "MBG_WOO_EAST_CRATES"; }; if (! (isdedicated)) then { {[_x] call MBG_WOO_FUNC_Refresh_Resource_Display;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_NEUTRAL; {[_x] call MBG_WOO_FUNC_Refresh_Resource_Display;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_WEST; {[_x] call MBG_WOO_FUNC_Refresh_Resource_Display;} foreach MBG_WOO_GLOBAL_TOTAL_POINTS_EAST; }; }; }; /* If you need to modify this mission, this is not the place. It handles the tactical support for SF squads You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_Cancel_Tactical_Support = { MBG_WOO_TacticalSupport_Selecting = false; deletevehicle MBG_WOO_TacticalSupport_Marker; deletevehicle MBG_WOO_TacticalSupport_RangeMarker; MBG_WOO_TacticalSupport = false; }; MBG_WOO_FUNC_105_Arty = { if (not (MBG_WOO_TacticalSupport)) then { MBG_WOO_TacticalSupport_Type = 0; MBG_WOO_TacticalSupport = true; MBG_WOO_TacticalSupport_Selecting = true; MBG_WOO_TacticalSupport_Marker = "LAND_MBG_WOO_105SplashZone" createvehiclelocal [0,0,0]; MBG_WOO_TacticalSupport_RangeMarker = "LAND_MBG_WOO_250m" createvehicleLocal [0,0,0]; MBG_WOO_TacticalSupport_RangeMarker attachto [(leader MBG_WOO_CURRENT_SELECTED_GROUP), [0,0,0]]; } else { ["You're already receiving tactical support",[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage; }; }; MBG_WOO_FUNC_Rocket = { if (not (MBG_WOO_TacticalSupport)) then { MBG_WOO_TacticalSupport_Type = 1; MBG_WOO_TacticalSupport = true; MBG_WOO_TacticalSupport_Selecting = true; MBG_WOO_TacticalSupport_Marker = "LAND_MBG_WOO_RocketAttack" createvehicleLocal [0,0,0]; MBG_WOO_TacticalSupport_RangeMarker = "LAND_MBG_WOO_250m" createvehiclelocal [0,0,0]; MBG_WOO_TacticalSupport_RangeMarker attachto [(leader MBG_WOO_CURRENT_SELECTED_GROUP), [0,0,0]]; } else { ["You're already receiving tactical support",[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage; }; }; MBG_WOO_FUNC_105_Arty_Cast = { private ["_pwrCost","_hasMoney"]; detach MBG_WOO_TacticalSupport_RangeMarker; deletevehicle MBG_WOO_TacticalSupport_RangeMarker; _pwrCost = _this select 1; _hasMoney = False; If ((side player == west)) then { if ((MBG_WOO_WEST_POWER >= _pwrCost)) then { _hasMoney = true; } else { ["Not enough power!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_Cancel_Tactical_Support; }; }; If ((side player == EAst)) then { if ((MBG_WOO_EAST_POWER >= _pwrCost)) then { _hasMoney = true; } else { ["Not enough power!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_Cancel_Tactical_Support; }; }; if ((((leader MBG_WOO_CURRENT_SELECTED_GROUP) distance (_this select 0)) < 120) and (_hasMoney)) then { If ((side player == EAst)) then { MBG_WOO_EAST_POWER = MBG_WOO_EAST_POWER - _pwrCost; publicvariable "MBG_WOO_EAST_POWER"; }; If ((side player == west)) then { MBG_WOO_WEST_POWER = MBG_WOO_WEST_POWER - _pwrCost; publicvariable "MBG_WOO_WEST_POWER"; }; _this spawn { private ["_marker","_pos","_sion","_grenadetype","_type"]; _marker = _this select 0; sleep 5; _pos = getpos _marker; _type = ["MBG_WOO_Hollywood_Sh_105_Type_01","MBG_WOO_Hollywood_Sh_105_Type_02"]; _i = 0; While {_i < 8} do { _i = _i + 1; _grenadetype = _type select (floor(random ((count _type) +0.9999))); _sion = _grenadetype createVehicle [(((_pos select 0) + random 25)- random 25),(((_pos select 1) + random 25)- random 25),200]; _sion setvelocity [0,0,-100]; sleep (random 5) + 2; }; sleep 2; deletevehicle _marker; MBG_WOO_TacticalSupport = false; ["Tactical Support Ready",[1,1,1,0.8]] call MBG_WOO_FUNC_NewMessage; }; } else { ["Too far off.",[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage; deletevehicle (_this select 0); MBG_WOO_TacticalSupport = false; }; }; MBG_WOO_FUNC_105_Rocket_Cast = { private ["_pwrCost","_hasMoney"]; detach MBG_WOO_TacticalSupport_RangeMarker; deletevehicle MBG_WOO_TacticalSupport_RangeMarker; _pwrCost = _this select 1; _hasMoney = False; If ((side player == west)) then { if ((MBG_WOO_WEST_POWER >= _pwrCost)) then { _hasMoney = true; } else { ["Not enough power!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_Cancel_Tactical_Support; }; }; If ((side player == EAst)) then { if ((MBG_WOO_EAST_POWER >= _pwrCost)) then { _hasMoney = true; } else { ["Not enough power!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_Cancel_Tactical_Support; }; }; if ((((leader MBG_WOO_CURRENT_SELECTED_GROUP) distance (_this select 0)) < 120) and (_hasMoney)) then { If ((side player == EAst)) then { MBG_WOO_EAST_POWER = MBG_WOO_EAST_POWER - _pwrCost; publicvariable "MBG_WOO_EAST_POWER"; }; If ((side player == west)) then { MBG_WOO_WEST_POWER = MBG_WOO_WEST_POWER - _pwrCost; publicvariable "MBG_WOO_WEST_POWER"; }; _this spawn { private ["_marker","_launchpos","_GubasRevenge","_fireLight","_marker","_dir","_launchpos"]; _marker = _this select 0; _dir = getDir _marker; _launchpos = [(((getpos _marker) select 0) + ((500)*sin _dir)),(((getpos _marker) select 1) + (500)*cos _dir), ((getpos _marker) select 2) + 1000]; _GubasRevenge = "BO_MK82" createVehicle _launchpos; _GubasRevenge setdir (_dir + 180); _fireLight = "#lightpoint" createVehicle position _GubasRevenge; _fireLight setLightBrightness 0.5; _fireLight setLightAmbient [1.0, 1.0, 1.0]; _fireLight setLightColor [1.0, 1.0, 1.0]; _fireLight lightAttachObject [_GubasRevenge, [0, -0.5, 0]]; while {alive _GubasRevenge} do { [_GubasRevenge, _marker] call MBG_WOO_FUNC_BIS_homeMissile; sleep (1 / 25) }; deleteVehicle _fireLight; sleep 2; deletevehicle _marker; MBG_WOO_TacticalSupport = false; ["Tactical Support Ready",[1,1,1,0.8]] call MBG_WOO_FUNC_NewMessage; }; } else { if (_hasMoney) then { ["Too far off.",[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage; }; deletevehicle (_this select 0); MBG_WOO_TacticalSupport = false; }; }; // And now a modified rip-off of BIS' launchMissile.sqf form Harvest Red Campaign. MBG_WOO_FUNC_BIS_homeMissile = { private ["_velocityX", "_velocityY", "_velocityZ", "_target","_missile","_missileSpeed","_perSecondChecks","_relDirHor","_relDirVer"]; _missile = _this select 0; _target = _this select 1; _missileSpeed = 1000; _perSecondChecks = 25; //altering the direction, pitch and trajectory of the missile if (_missile distance _target > (_missileSpeed / 20)) then { _travelTime = (_target distance _missile) / _missileSpeed; _relDirHor = [_missile, _target] call BIS_fnc_DirTo; _missile setDir _relDirHor; _relDirVer = asin ((((getPosASL _missile) select 2) - ((getPosASL _target) select 2)) / (_target distance _missile)); _relDirVer = (_relDirVer * -1); [_missile, _relDirVer, 0] call BIS_fnc_setPitchBank; _velocityX = (((getPosASL _target) select 0) - ((getPosASL _missile) select 0)) / _travelTime; _velocityY = (((getPosASL _target) select 1) - ((getPosASL _missile) select 1)) / _travelTime; _velocityZ = (((getPosASL _target) select 2) - ((getPosASL _missile) select 2)) / _travelTime; }; };/* If you need to modify this mission, this is not the place. It handles the squad control and visual feedback. You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_Transaction = { private ["_pwrCost","_crateCost","_return"]; _pwrCost = _this select 0; _crateCost = _this select 1; _return = false; If ((side player == west)) then { if ((MBG_WOO_WEST_POWER >= _pwrCost) and (MBG_WOO_WEST_CRATES >= _crateCost)) then { MBG_WOO_WEST_POWER = MBG_WOO_WEST_POWER - _pwrCost; MBG_WOO_WEST_CRATES = MBG_WOO_WEST_CRATES - _crateCost; publicvariable "MBG_WOO_WEST_POWER"; publicvariable "MBG_WOO_WEST_CRATES"; _return = true; } else { ["Not enough funds!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; }; }; If ((side player == east)) then { if ((MBG_WOO_EAST_POWER >= _pwrCost) and (MBG_WOO_EAST_CRATES >= _crateCost)) then { MBG_WOO_EAST_POWER = MBG_WOO_EAST_POWER - _pwrCost; MBG_WOO_EAST_CRATES = MBG_WOO_EAST_CRATES - _crateCost; publicvariable "MBG_WOO_EAST_POWER"; publicvariable "MBG_WOO_EAST_CRATES"; _return = true; } else { ["Not enough funds!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; }; }; _return }; MBG_WOO_FUNC_AddIndicator = { private ["_curCircle2","_pooftah","_circle","_model"]; _pooftah = _this select 0; _curCircle2 = (vehicle _pooftah) getVariable "MBG_WOO_CUR_CIRCLE"; if (isnil ("_curCircle2")) then { _model = "LAND_MBG_WOO_CircleIndicator_8m"; if ((vehicle _pooftah) isKindOf "Man") then {_model = "LAND_MBG_WOO_CircleIndicator_2m";}; if ((vehicle _pooftah) isKindOf "Tank") then {_model = "LAND_MBG_WOO_CircleIndicator_8m";}; if ((vehicle _pooftah) isKindOf "Car") then {_model = "LAND_MBG_WOO_CircleIndicator_5m";}; if ((vehicle _pooftah) isKindOf "Air") then {_model = "helihempty";}; _circle = _model createvehiclelocal getpos _pooftah; _circle attachto [vehicle _pooftah, [0,0,0]]; (vehicle _pooftah) setVariable ["MBG_WOO_CUR_CIRCLE", _circle, false]; }; }; MBG_WOO_FUNC_unitDead = { private ["_pooftah","_grpType","_tex","_x"]; _pooftah = ((_this select 0) select 0); _grpType = group _pooftah; { if (not(alive _x)) then { [_x] join MBG_WOO_WEST_DEAD_POOL; [_x] call MBG_WOO_FUNC_RemoveIndicator; }; } foreach units (group _pooftah); if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { call MBG_WOO_FUNC_UpdatePanelINFO; }; If ((count (units _grpType)) < 1) then { call MBG_WOO_FUNC_DeSelectUnits; ["Unit lost!",[1,0,0,0.6]] call MBG_WOO_FUNC_NewMessage; [_grpType] call MBG_WOO_FUNC_DecreaseTotalGroup; call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; if (MBG_WOO_OpenOverviewList) then {call MBG_WOO_FUNC_SHOW_OVERVIEW_LIST;}; MBG_WOO_GLOBAL_UPDATE_OVERLAY = (str Time); publicVariable "MBG_WOO_GLOBAL_UPDATE_OVERLAY"; }; }; MBG_WOO_FUNC_RemoveIndicator = { private ["_curCircle","_pooftah"]; _pooftah = _this select 0; _curCircle = (vehicle _pooftah) getVariable ["MBG_WOO_CUR_CIRCLE", "NEY"]; if (_curCircle isKindOf "heliH") then { detach _curCircle; deletevehicle _curcircle; (vehicle _pooftah) setvariable ["MBG_WOO_CUR_CIRCLE", nil, false]; }; }; MBG_WOO_FUNC_DeSelectUnits = { private "_curCircle"; if (MBG_WOO_CURRENT_SELECTED_GROUP != (group player)) then { { [_x] call MBG_WOO_FUNC_RemoveIndicator; } forEach (units MBG_WOO_CURRENT_SELECTED_GROUP); }; MBG_WOO_CURRENT_SELECTED_GROUP = group Player; MBG_WOO_CUR_SEL_BUILDING = Player; call MBG_WOO_FUNC_EmptyPanelMenu; }; MBG_WOO_FUNC_SelectUnits = { private ["_selectables","_i","_found","_selected","_curCircle2","_model","_circle","_type"]; call MBG_WOO_FUNC_DeSelectUnits; waituntil {MBG_WOO_CURRENT_SELECTED_GROUP == group Player}; //Find new group units _selectables = _this select 0; _type = _this select 1; _i = 0; _found = false; _selected = player; if (_type == "INF") then { while {(_i < (count _selectables)) and (not _found)} do { if ((side (_selectables select _i)) == (side player)) then { _found = true; _selected = (_selectables select _i); }; _i = _i + 1; }; } else { while {(_i < (count _selectables)) and (not _found)} do { if (((side (_selectables select _i)) == (side player)) and ((count crew (_selectables select _i)) > 0)) then { _found = true; _selected = (_selectables select _i); }; _i = _i + 1; }; }; //Add cursel markers if (_selected != player) then { MBG_WOO_CURRENT_SELECTED_GROUP = group _selected; { [_x] call MBG_WOO_FUNC_AddIndicator; } forEach (units MBG_WOO_CURRENT_SELECTED_GROUP); call MBG_WOO_FUNC_UpdatePanelMenu; }; }; MBG_WOO_FUNC_AttackWP = { private ["_badboy","_newOrder","_indicator"]; _badboy = _this select 0; // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0} do { deleteWaypoint ((waypoints MBG_WOO_CURRENT_SELECTED_GROUP) select 0); }; If ((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) isKindOF "Tank") then { (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) selectWeapon (((vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)) weaponsTurret [0]) select 0); }; {_x dofire _badboy} foreach (units MBG_WOO_CURRENT_SELECTED_GROUP); _indicator = "LAND_MBG_WOO_MBG_WOO_Attack" createvehicle [0,0,0]; _indicator attachto [_badboy, [0,0,0]]; [_indicator] spawn { sleep 2; detach (_this select 0); deletevehicle (_this select 0); }; }; MBG_WOO_FUNC_Waypoint = { private ["_newOrder","_indicator"]; // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0} do { deleteWaypoint ((waypoints MBG_WOO_CURRENT_SELECTED_GROUP) select 0); }; _newOrder = MBG_WOO_CURRENT_SELECTED_GROUP addWaypoint [(getpos MBG_WOO_NEW_WAYPOINT_INDICATOR), 0]; _newOrder setWaypointCombatMode (combatMode MBG_WOO_CURRENT_SELECTED_GROUP); _newOrder setWaypointBehaviour (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _newOrder setWaypointSpeed "FULL"; _newOrder setWaypointType "MOVE"; MBG_LAST_DIR = (getdir MBG_WOO_NEW_WAYPOINT_INDICATOR); _newOrder setWaypointStatements ["true","this setFormDir MBG_LAST_DIR"]; [MBG_WOO_NEW_WAYPOINT_INDICATOR] spawn { sleep 4; detach (_this select 0); deletevehicle (_this select 0); }; }; MBG_WOO_FUNC_EnterVehicle = { private ["_carrier","_newOrder","_indicator","_curCircle","_tempvar","_tempCompi","_yarr","_cargoslots","_hasDriver","_hasDriver","_hasGunner","_hasGunner2","_hasCommander","_hasCommander2","_freeCargo"]; _carrier = _this select 0; if (_carrier == (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP))) exitwith {}; _hasDriver = getnumber (configFile >> "CfgVehicles" >> (typeOf _carrier) >> "hasDriver"); _hasGunner = getnumber (configFile >> "CfgVehicles" >> (typeOf _carrier) >> "hasGunner"); _hasGunner2 = getNumber (configFile >> "CfgVehicles" >> (typeOf _carrier) >> "Turrets" >> "MainTurret" >> "hasGunner"); _hasCommander = getnumber (configFile >> "CfgVehicles" >> (typeOf _carrier) >> "hasCommander"); _hasCommander2 = getnumber (configFile >> "CfgVehicles" >> (typeOf _carrier) >> "Turrets" >> "MainTurret" >> "hasCommander"); _Cargoslots = getNumber (configFile >> "CfgVehicles" >> (typeOf _carrier) >> "transportSoldier"); _freecargo = (_hasDriver+ _hasGunner2 + _hasCommander + _hasCommander2 + _Cargoslots) - (count crew _carrier); if ((count (units (MBG_WOO_CURRENT_SELECTED_GROUP))) <= _freecargo) then { // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0} do { deleteWaypoint ((waypoints MBG_WOO_CURRENT_SELECTED_GROUP) select 0); }; _newOrder = MBG_WOO_CURRENT_SELECTED_GROUP addWaypoint [(getpos _carrier), 0]; _newOrder setWaypointCombatMode (combatMode MBG_WOO_CURRENT_SELECTED_GROUP); _newOrder setWaypointBehaviour (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _newOrder setWaypointSpeed "FULL"; _newOrder setWaypointType "GETIN"; _newOrder setWaypointStatements ["true","_curveh = (vehicle this);_tempvar = (vehicle this) getvariable ['MBG_WOO_LOADED_UNITS', [(group (driver _curveh))]];(vehicle this) setVariable ['MBG_WOO_LOADED_UNITS', _tempvar + [group this], true];"]; {_x assignAsCargo _carrier;} foreach (units MBG_WOO_CURRENT_SELECTED_GROUP); if (isNull driver _carrier) then {(leader MBG_WOO_CURRENT_SELECTED_GROUP) assignAsDriver _carrier}; if ((isNull gunner _carrier) and ((count units MBG_WOO_CURRENT_SELECTED_GROUP) > 1)) then {(units MBG_WOO_CURRENT_SELECTED_GROUP) select 1 assignAsGunner _carrier}; if ((isNull commander _carrier) and ((count units MBG_WOO_CURRENT_SELECTED_GROUP) > 2)) then {(units MBG_WOO_CURRENT_SELECTED_GROUP) select 2 assignAsCommander _carrier}; (units MBG_WOO_CURRENT_SELECTED_GROUP) orderGetIn true; _yarr = MBG_WOO_CURRENT_SELECTED_GROUP; _carrier addEventHandler ["GetIn", { _curCircle = (_this select 2) getVariable ["MBG_WOO_CUR_CIRCLE", "NEY"]; detach _curCircle; deletevehicle _curcircle; (_this select 2) setvariable ["MBG_WOO_CUR_CIRCLE", nil, false]; }]; deletevehicle MBG_WOO_NEW_WAYPOINT_INDICATOR; _indicator = "LAND_MBG_WOO_MBG_WOO_Entrance" createvehicle [0,0,0]; _indicator attachto [_carrier, [-3,0,0]]; [_indicator] spawn { sleep 4; detach (_this select 0); deletevehicle (_this select 0); }; } else { ["Not enough space in selected vehicle!",[1,0,0,0.8]] call MBG_WOO_FUNC_NewMessage; }; }; /* If you need to modify this mission, this is not the place. It handles interaction with units and buildings. You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_TurnIntoBuilding = { private ["_MCV","_obj","_pos","_tempO","_crateCost","_pwrCost","_bldTime","_tempo2","_texty","_BName"]; _obj = _this select 0; _MCV = (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _pos = getpos _MCV; if ((_pos distance (getpos (player getvariable "MBG_WOO_BASE"))) > 300) exitwith {["Too far from your HQ!",[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage;}; _MCV = (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _tempO = player; _crateCost = _this select 2; _pwrCost = _this select 3; _bldTime = _this select 4; If ((side player == west)) then { if ((MBG_WOO_WEST_POWER >= _pwrCost) and (MBG_WOO_WEST_CRATES >= _crateCost)) then { [(group _MCV)] call MBG_WOO_FUNC_DecreaseTotalGroup; call MBG_WOO_FUNC_DeSelectUnits; MBG_WOO_WEST_POWER = MBG_WOO_WEST_POWER - _pwrCost; MBG_WOO_WEST_CRATES = MBG_WOO_WEST_CRATES - _crateCost; publicvariable "MBG_WOO_WEST_POWER"; publicvariable "MBG_WOO_WEST_CRATES"; { deletevehicle _x; } foreach (crew _MCV); deletevehicle _MCV; call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; if (MBG_WOO_OpenOverviewList) then {call MBG_WOO_FUNC_SHOW_OVERVIEW_LIST;}; MBG_WOO_GLOBAL_UPDATE_OVERLAY = "asfff"; publicVariable "MBG_WOO_GLOBAL_UPDATE_OVERLAY"; _tempO = "Misc_Cargo1B_military" createvehicle _pos; _tempo2 = "LAND_MBG_WOO_Buildingsite" createvehicle _pos; _tempo setpos _pos; _tempo2 setpos _pos; [_tempO,_obj,_bldTime,_pos,_tempo2] spawn { _tempO = _this select 0; _tempo2 = _this select 4; _obj = _this select 1; _bldTime = _this select 2; _pos = _this select 3; sleep _bldTime; deletevehicle _tempO; deletevehicle _tempO2; // IF you create new buildings, this must be edited! _BName = "NO BUILDING NAME SPECIFIED IN MBG_WOO_FUNC_TurnIntoBuilding, WEST SECTION"; If (_obj == 0) then {_tempO = MBG_WOO_WEST_BLD_Type_Barracks createvehicle _pos;_BName = "Barracks";}; If (_obj == 1) then {_tempO = MBG_WOO_WEST_BLD_Type_CarFactory createvehicle _pos;_BName = "Car Factory";}; If (_obj == 2) then {_tempO = MBG_WOO_WEST_BLD_Type_Hospital createvehicle _pos;_BName = "Hospital";}; If (_obj == 3) then {_tempO = MBG_WOO_WEST_BLD_Type_TankFactory createvehicle _pos;_BName = "Tank Factory";}; _tempO setvariable ["MBG_WOO_BUILDINGQUEUE",[], true]; _tempO setvariable ["MBG_WOO_BUILDINGPROGRESS", [10000,1], true]; _tempO setvariable ["MBG_WOO_BUSY",FALSE, true]; _texty = format ["%1 completed", _BName]; MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST = MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST + [_tempO]; publicvariable "MBG_WOO_GLOBAL_TOTAL_BUILDINGS_WEST"; [_texty,[1,1,1,0.8]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; }; } else { ["Not enough funds!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; }; } else { if ((MBG_WOO_EAST_POWER >= _pwrCost) and (MBG_WOO_EAST_CRATES >= _crateCost)) then { [(group _MCV)] call MBG_WOO_FUNC_DecreaseTotalGroup; call MBG_WOO_FUNC_DeSelectUnits; MBG_WOO_EAST_POWER = MBG_WOO_EAST_POWER - _pwrCost; MBG_WOO_EAST_CRATES = MBG_WOO_EAST_CRATES - _crateCost; publicvariable "MBG_WOO_EAST_POWER"; publicvariable "MBG_WOO_EAST_CRATES"; { deletevehicle _x; } foreach (crew _MCV); deletevehicle _MCV; call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; if (MBG_WOO_OpenOverviewList) then {call MBG_WOO_FUNC_SHOW_OVERVIEW_LIST}; _tempO = "Misc_Cargo1B_military" createvehicle _pos; _tempo2 = "LAND_MBG_WOO_Buildingsite" createvehicle _pos; _tempo setpos _pos; _tempo2 setpos _pos; [_tempO,_obj,_bldTime,_pos,_tempo2] spawn { _tempO = _this select 0; _tempo2 = _this select 4; _obj = _this select 1; _bldTime = _this select 2; _pos = _this select 3; sleep _bldTime; deletevehicle _tempO; deletevehicle _tempO2; // IF you create new buildings, this must be edited! _BName = "NO BUILDING NAME SPECIFIED IN MBG_WOO_FUNC_TurnIntoBuilding, EAST SECTION"; If (_obj == 0) then {_tempO = MBG_WOO_EAST_BLD_Type_Barracks createvehicle _pos;_BName = "Barracks";}; If (_obj == 1) then {_tempO = MBG_WOO_EAST_BLD_Type_CarFactory createvehicle _pos;_BName = "Car Factory";}; If (_obj == 2) then {_tempO = MBG_WOO_EAST_BLD_Type_Hospital createvehicle _pos;_BName = "Hospital";}; If (_obj == 3) then {_tempO = MBG_WOO_EAST_BLD_Type_TankFactory createvehicle _pos;_BName = "Tank Factory";}; _tempO setvariable ["MBG_WOO_BUILDINGQUEUE",[], true]; _tempO setvariable ["MBG_WOO_BUILDINGPROGRESS", [10000,1], true]; _tempO setvariable ["MBG_WOO_BUSY",FALSE, true]; _texty = format ["%1 completed", _BName]; MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST = MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST + [_tempO]; publicvariable "MBG_WOO_GLOBAL_TOTAL_BUILDINGS_EAST"; [_texty,[1,1,1,0.8]] call MBG_WOO_FUNC_NewMessage; call MBG_WOO_FUNC_HIDE_OVERVIEW_LIST; }; } else { ["Not enough funds!",[1,0,0,0.4]] call MBG_WOO_FUNC_NewMessage; }; }; }; MBG_WOO_FUNC_RECYCLE_BUILDING = { private ["_codemasters","_texty"]; _codemasters = _this select 0; _texty = format ["%1 removed", typeof _codemasters]; [_texty,[1,1,0,0.8]] call MBG_WOO_FUNC_NewMessage; deletevehicle _codemasters; call MBG_WOO_FUNC_EmptyPanelMenu; call MBG_WOO_FUNC_DeSelectUnits; }; MBG_WOO_FUNC_WORKS = { private ["_NewDelivery","_playerHQ","_curQUEUE","_newQUEUE","_curPorgress","_poo","_pwrCost","_crateCost","_cdist","_hasMoney"]; _newDelivery = _this select 0; _curQUEUE = MBG_WOO_CUR_SEL_BUILDING getvariable "MBG_WOO_BUILDINGQUEUE"; _poo = call compile _newDelivery; _pwrCost = ((_poo select 0) select 0); _crateCost = ((_poo select 0) select 1); _cdist = _this select 1; _hasMoney = [_pwrCost,_crateCost] call MBG_WOO_FUNC_Transaction; if (_hasMoney) then { _newQUEUE = _curQUEUE + [_newDelivery]; MBG_WOO_CUR_SEL_BUILDING setvariable ["MBG_WOO_BUILDINGQUEUE",_newQUEUE, true]; [_cdist,MBG_WOO_CUR_SEL_BUILDING] call MBG_WOO_FUNC_PROCESS_ORDER; }; }; MBG_WOO_FUNC_PROCESS_ORDER = { private ["_curSelBuilding","_curQUEUE","_poo","_constTime","_order","_newlist","_prenewlist","_spawnpos","_IcantBelieveItsNotButter","_pooftah","_EHkilledIdx","_theveh","_groupInfovar","_cdist","_texty","_typeo","_UnitName"]; _cdist = _this select 0; _curSelBuilding = _this select 1; _queueLength = count (_curSelBuilding getvariable "MBG_WOO_BUILDINGQUEUE"); if (_queueLength > 0) then { if (not (_curSelBuilding getvariable "MBG_WOO_BUSY")) then { //Start building first item on list _curQUEUE = ((_curSelBuilding getvariable "MBG_WOO_BUILDINGQUEUE") select 0); //get construction plan _poo = call compile _curQUEUE; _constTime = ((_poo select 0) select 2); _UnitName = ((_poo select 0) select 3); _order = (_poo select 1); _vehType = (_poo select 2); _curSelBuilding setvariable ["MBG_WOO_BUILDINGPROGRESS",[_constTime, time], true]; Call MBG_WOO_FUNC_UpdateConstructionINFO; // produce [_constTime,_curSelBuilding,_order,_curQUEUE,_vehType,_cdist,_UnitName] spawn { (_this select 1) setvariable ["MBG_WOO_BUSY",TRUE, true]; _curSelBuilding = _this select 1; _cdist = _this select 5; _UnitName = _this select 6; sleep (_this select 0); _newgrp = (createGroup (side player)); _spawnpos = position (_this select 1); _spawnpos = [((_spawnpos select 0) + ((_cdist)*sin (getDir (_this select 1)))),((_spawnpos select 1) + (_cdist)*cos (getDir (_this select 1))), (_spawnpos select 2)]; _IcantBelieveItsNotButter = false; _theveh = player; _groupInfovar = (_this select 3); _vehType = (_this select 4); { _X createUnit [_spawnpos, _newgrp]; } foreach (_this select 2); // Had to do it with two foreaches, wouldn't work in only one. { _EHkilledIdx = _x addMPEventHandler ["mpkilled", {[_this] call MBG_WOO_FUNC_unitDead}]; } foreach (units _newgrp); _texty = format ["%1 recruited", _UnitName]; If ( not (isnil ("_vehType")) ) then {_IcantBelieveItsNotButter = true;}; if (_IcantBelieveItsNotButter) then { _theveh = _vehType createvehicle _spawnpos; (leader _newgrp) assignAsDriver _theveh;(leader _newgrp) moveInDriver _theveh; if ((count units _newgrp) > 1) then {((units _newgrp) select 1) assignAsGunner _theveh;((units _newgrp) select 1) moveInGunner _theveh;}; if ((count units _newgrp) > 2) then {((units _newgrp) select 2) assignAsCommander _theveh;((units _newgrp) select 2) moveInCommander _theveh;}; (units _newgrp) orderGetIn true; _texty = format ["%1 constructed", _UnitName]; }; _newgrp setVariable ["MBG_WOO_GROUPTYPE", _groupInfovar, true]; (_this select 1) setvariable ["MBG_WOO_BUSY",FALSE, true]; _prenewlist = ((_this select 1) getvariable "MBG_WOO_BUILDINGQUEUE"); _prenewlist set [0,"POPELine"]; _newlist = (_prenewlist - ["POPELine"]); [_texty,[0,1,0,0.4]] call MBG_WOO_FUNC_NewMessage; [_newgrp] call MBG_WOO_FUNC_IncreaseTotalGroup; (_this select 1) setvariable ["MBG_WOO_BUILDINGQUEUE",_newlist, true]; [_cdist,_curSelBuilding] call MBG_WOO_FUNC_PROCESS_ORDER; if (MBG_WOO_OpenOverviewList) then {call MBG_WOO_FUNC_SHOW_OVERVIEW_LIST}; }; }; }; }; MBG_WOO_FUNC_IncreaseTotalGroup = { private ["_ng"]; _ng = _this select 0; If ((side player == west)) then { MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST = MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST + [_ng]; publicvariable "MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST"; } else { MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST = MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST + [_ng]; publicvariable "MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST"; }; }; MBG_WOO_FUNC_DecreaseTotalGroup = { private ["_ng"]; _ng = _this select 0; If ((side player == west)) then { MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST = MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST - [_ng]; publicvariable "MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST"; } else { MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST = MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST - [_ng]; publicvariable "MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST"; }; }; MBG_WOO_FUNC_ToogleBehaviour = { private ["_choice"]; _choice = _this select 0; MBG_WOO_CURRENT_SELECTED_GROUP setBehaviour _choice; call MBG_WOO_FUNC_UpdatePanelMenu; }; MBG_WOO_FUNC_ToogleHoldFire = { private ["_choice"]; _choice = _this select 0; MBG_WOO_CURRENT_SELECTED_GROUP setCombatMode _choice; call MBG_WOO_FUNC_UpdatePanelMenu; }; MBG_WOO_FUNC_leaveVehicle = { private ["_choice"]; _choice = _this select 0; MBG_WOO_CURRENT_SELECTED_GROUP setCombatMode _choice; call MBG_WOO_FUNC_UpdatePanelMenu; }; MBG_WOO_FUNC_StopUnit = { private ["_newOrder"]; // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0} do { deleteWaypoint ((waypoints MBG_WOO_CURRENT_SELECTED_GROUP) select 0); }; _newOrder = MBG_WOO_CURRENT_SELECTED_GROUP addWaypoint [(getpos (leader MBG_WOO_CURRENT_SELECTED_GROUP)), 0]; _newOrder setWaypointCombatMode (combatMode MBG_WOO_CURRENT_SELECTED_GROUP); _newOrder setWaypointBehaviour (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _newOrder setWaypointSpeed "FULL"; _newOrder setWaypointType "MOVE"; }; MBG_WOO_FUNC_RTB = { private ["_newOrder"]; // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0} do { deleteWaypoint ((waypoints MBG_WOO_CURRENT_SELECTED_GROUP) select 0); }; _newOrder = MBG_WOO_CURRENT_SELECTED_GROUP addWaypoint [(getpos (player getvariable "MBG_WOO_BASE")), 0]; _newOrder setWaypointCombatMode (combatMode MBG_WOO_CURRENT_SELECTED_GROUP); _newOrder setWaypointBehaviour (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _newOrder setWaypointSpeed "FULL"; _newOrder setWaypointType "MOVE"; }; MBG_WOO_FUNC_UNLOAD_CARRIER = { private ["_curCargo","_curveh","_kickout","_tempvar","_newOrder"]; _curveh = (vehicle (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _curCargo = _curVeh getvariable "MBG_WOO_LOADED_UNITS"; _kickout = _curCargo select ((count _curCargo) - 1); // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints _kickout)) > 0} do { deleteWaypoint ((waypoints _kickout) select 0); }; _tempvar = _curveh getvariable ["MBG_WOO_LOADED_UNITS", [(group (driver _curveh))]]; _curveh setVariable ["MBG_WOO_LOADED_UNITS", _tempvar - [_kickout], true]; _newOrder = _kickout addWaypoint [(getpos (vehicle (leader _kickout))), 0]; _newOrder setWaypointCombatMode (combatMode _kickout); _newOrder setWaypointBehaviour (behaviour (leader _kickout)); _newOrder setWaypointSpeed "FULL"; _newOrder setWaypointType "GETOUT"; _curVeh removeAllEventHandlers "GetOut"; _curVeh addEventHandler ["GetOut", {[(_this select 0)] call MBG_WOO_FUNC_RemoveIndicator}]; (units _kickout) orderGetIn false; call MBG_WOO_FUNC_DeSelectUnits; }; MBG_WOO_FUNC_OnMap_Waypoint = { private ["_newOrder","_newpos","_x","_y","_map","_te"]; _x = _this select 0; _y = _this select 1; _map = (findDisplay 5991) displayCtrl 598002; _newpos = _map ctrlMapScreenToWorld [_x, _y]; // Delete all previous waypoints. From Kju's biki-note: while {(count (waypoints MBG_WOO_CURRENT_SELECTED_GROUP)) > 0} do { deleteWaypoint ((waypoints MBG_WOO_CURRENT_SELECTED_GROUP) select 0); }; _newOrder = MBG_WOO_CURRENT_SELECTED_GROUP addWaypoint [_newpos, 0]; _newOrder setWaypointCombatMode (combatMode MBG_WOO_CURRENT_SELECTED_GROUP); _newOrder setWaypointBehaviour (behaviour (leader MBG_WOO_CURRENT_SELECTED_GROUP)); _newOrder setWaypointSpeed "FULL"; _newOrder setWaypointType "MOVE"; _te = createMarkerLocal [(str time), _newpos]; _te setMarkerShapeLocal "ICON"; _te setMarkerTypeLocal "waypoint"; [_te] spawn { sleep 4; deleteMarkerLocal (_this select 0); }; };/* If you need to modify this mission, this is not the place. It handles the tactical overlay (TAB) You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ MBG_WOO_FUNC_SHOW_OVERVIEW_LIST = { private ["_amount","_group","_curGroup","_curGroupVar","_poo","_Icon","_execCode","_PictureList","_Buttonlist"]; _group = MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST; _amount = count _group; _PictureList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]; _ButtonList = [101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]; If ((side player == west)) then { _group = MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST; _amount = count _group; }; if (_amount > 30) then {_amount = 30}; if (_amount > 0) then { _i = 0; while {_i != (_amount)} do { _curGroup = _group select _i; _curGroupVar = (_curGroup getVariable "MBG_WOO_GROUPTYPE"); _poo = call compile _curGroupVar; _Icon = getText (configFile >> "CfgMarkers" >> ((_poo select 0) select 4) >> "icon"); _execCode = format ["[%1] call MBG_WOO_FUNC_UOL_SEL_GROUP",_i]; ((findDisplay 5990) displayCtrl (_ButtonList select _i)) buttonSetAction _execCode; ((findDisplay 5990) displayCtrl (_PictureList select _i)) ctrlSetText _icon; ((findDisplay 5990) displayCtrl (_ButtonList select _i)) ctrlEnable TRUE; _Stxt = format ["%1 - %2C - %3P - %4s",_displayname,_Crates,_Pwr,_contimes]; _i = _i + 1; }; }; }; MBG_WOO_FUNC_HIDE_OVERVIEW_LIST = { private ["_PictureList","_Buttonlist"]; _PictureList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]; _ButtonList = [101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]; { (findDisplay 5990) displayCtrl _x ctrlSetText ""; } foreach _PictureList; { (findDisplay 5990) displayCtrl _x buttonSetAction ""; (findDisplay 5990) displayCtrl _x ctrlEnable FALSE; } foreach _ButtonList; }; MBG_WOO_FUNC_UOL_SEL_GROUP = { private ["_pos","_dir","_map","_grp","_nmbr"]; call MBG_WOO_FUNC_DeSelectUnits; _nmbr = (_this select 0); _grp = group player; If ((side player == west)) then { _grp = MBG_WOO_GLOBAL_TOTAL_GROUPS_WEST select _nmbr; } else { _grp = MBG_WOO_GLOBAL_TOTAL_GROUPS_EAST select _nmbr; }; MBG_WOO_CURRENT_SELECTED_GROUP = _grp; { [_x] call MBG_WOO_FUNC_AddIndicator; } forEach (units MBG_WOO_CURRENT_SELECTED_GROUP); call MBG_WOO_FUNC_UpdatePanelMenu; };/* If you need to modify this mission, this is not the place. It initates the Command Interface. You are not allowed to modify this file and redistribute it without permission given by me (Mondkalb). However you are free to release a modified version of this entire mission if the changes are solely unit/vehicle related. (I.e porting WOO to a Star Wars mod, or so.) Contact me (Mondkalb) via E-Mail: CEO@mondkalb.org 11th July 2011 */ disableSerialization; _dia = createdialog "MBG_WOO_maininterface"; _display = findDisplay 5990; _display displaySetEventHandler ["KeyDown","_this call MBG_WOO_FUNC_DetectKeys"]; _display displaySetEventHandler ["KeyUp","_this call MBG_WOO_FUNC_DisableKeys"]; _display displaySetEventHandler ["MouseMoving","_this call MBG_WOO_FUNC_RotateScreen"]; 20000 cutRsc ["MBG_WOO_main_EventMessages","PLAIN",0]; MBG_WOO_Main_cam_Center_POS = (getpos (player getvariable "MBG_WOO_BASE")); MBG_WOO_Main_cam_Center = "heliHempty" createvehicle MBG_WOO_Main_cam_Center_POS; _dir = getdir MBG_WOO_Main_cam_Center; MBG_WOO_Main_cam_View_POS = [((MBG_WOO_Main_cam_Center_POS select 0) + ((MBG_WOO_CamDist)*sin _dir)),((MBG_WOO_Main_cam_Center_POS select 1) + (MBG_WOO_CamDist)*cos _dir),MBG_WOO_CamHeight]; {((findDisplay 5990) displayCtrl _x) ctrlEnable FALSE} foreach [101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]; sleep 0.1; showCinemaBorder false; MBG_WOO_Main_cam = "camera" CamCreate MBG_WOO_Main_cam_View_POS; MBG_WOO_Main_cam CameraEffect ["INTERNAL","Back"]; MBG_WOO_Main_cam CamSetTarget MBG_WOO_Main_cam_Center_POS; MBG_WOO_Main_cam CamCommit 0.1; call MBG_WOO_FUNC_EmptyPanelMenu; while {dialog} do { call MBG_WOO_FUNC_UpdatePanelFunds; call MBG_WOO_FUNC_FogOFWar; sleep 0.8; }; player cameraEffect ["terminate","back"]; camDestroy MBG_WOO_Main_cam;/* If you need to modify this mission, this is the only place you should edit stuff in order to not break the mission. Its fairly simple to add change and add new units for the factories. First create a new "Recipe", and then add this recipe to the "sales"-array of the desired factory/building. Adding completely new Buildings is not so easy, as it requires to modify some more functions. Feel free to contact me (Mondkalb) and ask for a version with your Mod. This Way I can create a new mission using custom addons without you breaking/modifying it severely. Contact me (Mondkalb) via E-Mail: TheGilmoreGirls@mondkalb.org ConfigVersion: 1.0 28th July 2011 */ // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // building "Classnames" // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ MBG_WOO_WEST_BLD_Type_HQ = "LAV25_HQ_unfolded"; MBG_WOO_WEST_BLD_Type_Hospital = "USMC_WarfareBFieldhHospital"; MBG_WOO_WEST_BLD_Type_CarFactory = "USMC_WarfareBLightFactory"; MBG_WOO_WEST_BLD_Type_TankFactory = "USMC_WarfareBHeavyFactory"; MBG_WOO_WEST_BLD_Type_Barracks = "USMC_WarfareBBarracks"; // Required for finding the nearest building to a LMB-Click MBG_WOO_WEST_ALL_BUILDINGS_TYPES = [MBG_WOO_WEST_BLD_Type_HQ, MBG_WOO_WEST_BLD_Type_Hospital, MBG_WOO_WEST_BLD_Type_CarFactory, MBG_WOO_WEST_BLD_Type_Barracks,MBG_WOO_WEST_BLD_Type_TankFactory]; MBG_WOO_EAST_BLD_Type_HQ = "BTR90_HQ_unfolded"; MBG_WOO_EAST_BLD_Type_Hospital = "RU_WarfareBFieldhHospital"; MBG_WOO_EAST_BLD_Type_CarFactory = "RU_WarfareBLightFactory"; MBG_WOO_EAST_BLD_Type_TankFactory = "RU_WarfareBHeavyFactory"; MBG_WOO_EAST_BLD_Type_Barracks = "RU_WarfareBBarracks"; MBG_WOO_EAST_ALL_BUILDINGS_TYPES = [MBG_WOO_EAST_BLD_Type_HQ, MBG_WOO_EAST_BLD_Type_Hospital, MBG_WOO_EAST_BLD_Type_CarFactory, MBG_WOO_EAST_BLD_Type_Barracks,MBG_WOO_EAST_BLD_Type_TankFactory]; // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // Required to find out what vehicle gets what construction possibillities MBG_WOO_WEST_ConstVehicle = "WarfareSalvageTruck_USMC"; MBG_WOO_EAST_ConstVehicle = "WarfareSalvageTruck_RU"; MBG_WOO_WEST_ConstVehicleAdvanced = "WarfareSupplyTruck_USMC"; MBG_WOO_EAST_ConstVehicleAdvanced = "WarfareSupplyTruck_RU"; // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // The "recipe" for Buildings // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ // [POWERcost, CRATEscost,BuildTIME, "Display Name", "Icon", "PanelPicture", typeID] //!!! NEW TypeIDs need to be defined in "MBG_WOO_FUNC_TurnIntoBuilding" function!!! <---------------<-<<<-<-<-<-< Overview

Window of OpportunityBrik2 IslandUS Army - Russian Army8 CPVersion 0.529th July, 2011


+ scroll mouse to zoom worked too slow, should be more sensitive similar to the ALT change camera speed. + left wanting double click function on symbols of units to center camera on unit instead of space, or in addition to space. + lacking button to abort construction of group/vehicle. + rally point type thing + lacking timer/bar to show progress of factory building construction. have same as group/vehicle construction. + instant capture, should be on timer with progress bar, even if no enemy is present, not tested with enemys yet. + Resource Diversity + Compass + DoFire on point + Multiple waypoint queue + ENEMY AI ["AdthPercMstpSlowWrflDnon_8","AdthPercMstpSrasWrflDnon_8","AdthPercMstpSrasWrflDnon_16","AdthPercMstpSrasWrflDnon_32","AinjPpneMstpSnonWnonDnon_kneel"]I ST @2vL