[Gcblue-commits] gcb_wx/scenarios TaiwanTest.py,NONE,1.1
Status: Alpha
Brought to you by:
ddcforge
|
From: Dewitt C. <ddc...@us...> - 2005-06-22 01:23:48
|
Update of /cvsroot/gcblue/gcb_wx/scenarios In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3582/scenarios Added Files: TaiwanTest.py Log Message: Taiwan theater test scenario, added airfields, Su-27, Su-30MKK, F-16 --- NEW FILE: TaiwanTest.py --- # SM is ScenarioManager object def CreateScenario(SM): # using variables for these to make it easy to switch sides in single player alliance_a = 1 alliance_b = 2 SM.CreateAlliance(alliance_a, 'Taiwan ROC') SM.CreateAlliance(alliance_b, 'China PLA') SM.SetUserAlliance(1) SM.SetScenarioDescription('Taiwan test scenario 2') SM.SetScenarioLoaded(1) SM.SetScenarioName('Taiwan Test 2') SM.SetDateTime(2005, 8, 12, 10, 0, 0) SM.SetStartTheater(120, 25) # (lon, lat) in degrees, negative is West or South AddOverlayGraphics(SM) unit = SM.GetDefaultUnit() ### Alliance A (Taiwan) units AddAirbase(SM, 'Cha Shan AB', 121.617, 24.0167, 0, alliance_a) AddAircraftToBase(SM, 'Cha Shan AB', 'F-16C', 'Tiger', 8) AddAirbase(SM, 'Chiayi AB', 120.392778, 23.461667, 0, alliance_a) AddAircraftToBase(SM, 'Chiayi AB', 'F-16C', 'Cougar', 8) AddAirbase(SM, 'Ching Chuan Kang AB', 120.620556, 24.264444, 0, alliance_a) AddAircraftToBase(SM, 'Ching Chuan Kang AB', 'F-16C', 'Skunk', 8) AddAirbase(SM, 'Hsinchu AB', 120.939167, 24.818056, 0, alliance_a) AddAircraftToBase(SM, 'Hsinchu AB', 'F-16C', 'Frog', 8) AddAirbase(SM, 'Pingtung AB North', 120.477778, 22.695278, 0, alliance_a) AddAircraftToBase(SM, 'Pingtung AB North', 'F-16C', 'Squirrel', 8) AddAirbase(SM, 'Pingtung AB South', 120.461667, 22.672222, 0, alliance_a) AddAircraftToBase(SM, 'Pingtung AB South', 'F-16C', 'Lion', 8) AddAirbase(SM, 'Tainan AB', 120.205556, 22.950278, 0, alliance_a) AddAircraftToBase(SM, 'Tainan AB', 'F-16C', 'Rabbit', 8) AddAirbase(SM, 'Taitung AB', 121.181944, 22.793056, 0, alliance_a) AddAircraftToBase(SM, 'Taitung AB', 'F-16C', 'Dragon', 8) ### Alliance B (China) units AddAirbase(SM, 'Longtian AB', 119.417, 25.583, 0, alliance_b) AddAircraftToBase(SM, 'Longtian AB', 'Su-27', 'Laser', 8) AddAirbase(SM, 'Fuzhou AB', 119.367, 26.0167, 0, alliance_b) AddAircraftToBase(SM, 'Fuzhou AB', 'Su-30MKK', 'Dancer', 8) AddAirbase(SM, 'Chin Chiang AB', 118.583, 24.783, 0, alliance_b) AddAircraftToBase(SM, 'Chin Chiang AB', 'Su-27', 'Thunder', 8) AddAirbase(SM, 'Chang-Chou AB', 117.667, 24.583, 0, alliance_b) AddAircraftToBase(SM, 'Chang-Chou AB', 'Su-27', 'Pacer', 8) AddAirbase(SM, 'Shantou AB', 116.75, 23.417, 0, alliance_b) AddAircraftToBase(SM, 'Shantou AB', 'Su-30MKK', 'Hunter', 8) AddAirbase(SM, 'Mei-Xian AB', 116.133, 24.25, 0, alliance_b) AddAircraftToBase(SM, 'Mei-Xian AB', 'Su-27', 'Dagger', 8) unit = SM.GetDefaultUnit() unit.className = 'E2-C' unit.unitName = 'Eye 1' unit.SetPosition(120.0, 25.0, 1500) # lon, lat, alt unit.heading = 120 unit.speed = 150 unit.throttle = 0.8 SM.AddUnitToAlliance(unit, alliance_b) UI = SM.GetUnitInterface('Eye 1') if (alliance_b == 2): UI.AddTask('Patrol', 2.0) unit.className = 'Su-27' unit.unitName = 'Red-1' unit.SetPosition(120.2, 25.1, 7500) # lon, lat, alt unit.heading = 120 unit.speed = 500 unit.throttle = 0.8 SM.AddUnitToAlliance(unit, alliance_b) UI = SM.GetUnitInterface(unit.unitName) if (alliance_b == 2): UI.AddTask('EngageAll', 2.0) ### Add goals for each side AddGoals(SM, alliance_a, alliance_b) def AddAirbase(SM, base_name, lon_deg, lat_deg, orientation_deg, alliance): unit = SM.GetDefaultUnit() unit.className = 'Airstrip' unit.unitName = base_name unit.SetPosition(lon_deg, lat_deg, 0) unit.heading = orientation_deg unit.speed = 0.0 SM.AddUnitToAlliance(unit, alliance) SM.AddToUnitMagazine(base_name, 'Fuel', 100000) # adds aircraft to base, attempts to add to fastest launch position first def AddAircraftToBase(SM, base_name, aircraft_class, root_name, quantity): for n in range(0, quantity): unitName = '%s-%d' % (root_name, n) # AddUnitToFlightDeck(<carrier name>,<unit class>,<name>, <location>) # <location>: 1 = HANGAR, 2 = DECK, 3 = CATAPULT/RUNWAY SM.AddUnitToFlightDeck(base_name, aircraft_class, unitName, 3) def AddGoals(SM, side_a, side_b): # alliance 1 goals goal_1 = SM.TimeGoal() goal_1.SetFailTimeout(1800) # 30 min time limit SM.SetAllianceGoal(side_a, goal_1) # alliance 2 goals goal_2 = SM.TimeGoal() goal_2.SetPassTimeout(1800) SM.SetAllianceGoal(side_b, goal_2) # BM is BriefingManager (same as ScenarioManager for now) object def CreateBriefing(BM): BM.SetEventTime(0) BM.Pause() BM.PauseAudio() BM.SetBriefingMode(1) # 0 - normal tactical display, 1 - briefing disp BM.Set3DMode(0) # 0 - off, 1 - small, 2 - med, 3 - full screen BM.ConsoleText('Briefing follows...') BM.Set3DMode(1) BM.SetBriefingMode(0) # leave briefing mode BM.PlayAudio('tension1',0) # name, seek time from beginning of song BM.Resume() # resumes game def AddOverlayGraphics(SM): SM.OverlayText('Taipei', 121.533, 25.083) # China airbases SM.OverlayText('Longtian AB', 119.417, 25.583) SM.OverlayText('Fuzhou AB', 119.367, 26.0167) SM.OverlayText('Chin Chiang AB', 118.583, 24.783) SM.OverlayText('Chang-Chou AB', 117.667, 24.583) SM.OverlayText('Shantou AB', 116.75, 23.417) SM.OverlayText('Mei-Xian AB', 116.133, 24.25) # Taiwan airbases SM.OverlayText('Cha Shan AB', 121.617, 24.0167) SM.OverlayText('Chiayi AB', 120.392778, 23.461667) SM.OverlayText('Ching Chuan Kang AB', 120.620556, 24.264444) SM.OverlayText('Hsinchu AB', 120.939167, 24.818056) SM.OverlayText('Pingtung AB North', 120.477778, 22.695278) SM.OverlayText('Pingtung AB South', 120.461667, 22.672222) SM.OverlayText('Tainan AB', 120.205556, 22.950278) SM.OverlayText('Taitung AB', 121.181944, 22.793056) |