Changeset 9016 for code/trunk/data
- Timestamp:
- Feb 15, 2012, 11:51:58 PM (13 years ago)
- Location:
- code/trunk
- Files:
-
- 57 edited
- 6 copied
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
-
code/trunk/data/defaultConfig/keybindings.ini
r8706 r9016 71 71 KeyNumLock= 72 72 KeyNumRow0= 73 KeyNumRow1= 74 KeyNumRow2= 73 KeyNumRow1="toggleFormationFlight" 74 KeyNumRow2="FFChangeMode" 75 75 KeyNumRow3= 76 76 KeyNumRow4= -
code/trunk/data/gui/layouts/CreditsMenu.layout
r8888 r9016 7 7 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 8 8 <Window Type="MenuWidgets/StaticText" Name="orxonox/CreditsWindow" > 9 <Property Name="Text" Value=" Keybindings" />9 <Property Name="Text" Value="Credits" /> 10 10 <Property Name="Alpha" Value="0.8" /> 11 11 <Property Name="InheritsAlpha" Value="False" /> … … 15 15 <Property Name="UnifiedAreaRect" Value="{{0.15,0},{0.2125,0},{0.85,0},{0.6375,0}}" /> 16 16 <Window Type="MenuWidgets/StaticText" Name="orxonox/CreditsMenuWrapper" > 17 <Property Name="TextColours" Value="FF4444FF" />18 17 <Property Name="InheritsAlpha" Value="False" /> 19 18 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> … … 27 26 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 28 27 <Property Name="HorzOverlapSize" Value="0.01" /> 29 <Property Name="UnifiedAreaRect" Value="{{0 .005,0},{0.01,0},{0.995,0},{0.99,0}}" />28 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{0.997,0},{0.997,0}}" /> 30 29 <Property Name="VertOverlapSize" Value="0.01" /> 31 30 <Property Name="HorzScrollPosition" Value="0" /> … … 38 37 <Property Name="VertFormatting" Value="TopAligned" /> 39 38 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 40 <Property Name="Text">wird sowieso nicht gelesen 41 Orxonox version 0.0.3 42 43 Programming Language: C++ - lua - tcl 44 Environment: OpenAL - Ogre - OIS - CEGUI - enet - ODE 45 Licence: GNU General Public Licence - Creative Commons 46 47 das ist mein text höhö 48 49 http://www.orxonox.net 39 <Property Name="Text">Orxonox version 0.0.3 40 41 Programming Language: C++ - lua - tcl 42 Environment: OpenAL - Ogre - OIS - CEGUI - enet - ODE 43 Licence: GNU General Public Licence - Creative Commons 44 45 http://www.orxonox.net 46 47 Credits: 50 48 </Property> 51 49 </Window> … … 61 59 </Window> 62 60 </GUILayout> 63 64 65 66 67 -
code/trunk/data/gui/layouts/MiscConfigMenu.layout
r7888 r9016 2 2 3 3 <GUILayout > 4 <Window Type="DefaultWindow" Name="orxonox/MiscConfigMenu/Background" > 4 <Window Type="MenuWidgets/StaticImage" Name="orxonox/MiscConfigMenu/Background" > 5 <Property Name="FrameEnabled" Value="False" /> 5 6 <Property Name="InheritsAlpha" Value="False" /> 6 7 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 7 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" /> 9 <Property Name="BackgroundEnabled" Value="False" /> 8 10 <Window Type="MenuWidgets/StaticText" Name="orxonox/MicsConfigMenu/ConfigWindow" > 9 11 <Property Name="Text" Value="Miscellaneous" /> … … 34 36 </Window> 35 37 </Window> 36 <Window Type="MenuWidgets/Button" Name="orxonox/MiscConfigMenu/ MiscConfigBackButton" >37 <Property Name="Text" Value=" Back" />38 <Window Type="MenuWidgets/Button" Name="orxonox/MiscConfigMenu/CancelButton" > 39 <Property Name="Text" Value="Cancel" /> 38 40 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 39 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.6625,0},{0.6,0},{0.7125,0}}" /> 40 <Event Name="Clicked" Function="MiscConfigMenu.MiscConfigBackButton_clicked"/> 41 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.725,0},{0.4,0},{0.775,0}}" /> 42 <Event Name="Clicked" Function="MiscConfigMenu.MiscConfigCancelButton_clicked"/> 43 </Window> 44 <Window Type="MenuWidgets/Button" Name="orxonox/MiscConfigMenu/OKButton" > 45 <Property Name="Text" Value="OK" /> 46 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 47 <Property Name="UnifiedAreaRect" Value="{{0.6,0},{0.725,0},{0.75,0},{0.775,0}}" /> 48 <Event Name="Clicked" Function="MiscConfigMenu.MiscConfigOKButton_clicked"/> 41 49 </Window> 42 50 </Window> -
code/trunk/data/gui/layouts/SingleplayerMenu.layout
r7648 r9016 15 15 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 16 16 <Property Name="VertFormatting" Value="TopAligned" /> 17 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.2875,0},{0.75,0},{0.7,0}}" /> 18 <Window Type="MenuWidgets/Listbox" Name="orxonox/SingleplayerLevelListbox" > 17 <Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.15,0},{0.8,0},{0.7,0}}" /> 18 <Window Type="MenuWidgets/TabControl" Name="orxonox/SingleplayerTabControl" > 19 <Property Name="TabHeight" Value="{0,26.4388}" /> 19 20 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 20 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.85,0}}" /> 21 <Property Name="TabPanePosition" Value="Top" /> 22 <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.1,0},{0.95,0},{0.925,0}}" /> 21 23 </Window> 22 <Window Type="MenuWidgets/ Checkbox" Name="orxonox/SingleplayerShowAllCheckbox" >23 <Property Name=" Text" Value="show all" />24 <Window Type="MenuWidgets/StaticImage" Name="orxonox/SingleplayerLevelImage" > 25 <Property Name="AlwaysOnTop" Value="True" /> 24 26 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 25 <Property Name="UnifiedAreaRect" Value="{{0.65,0},{0.87,0},{0.8,0},{.97,0}}" /> 26 <Event Name="CheckStateChanged" Function="SingleplayerMenu.SingleplayerShowAll_clicked"/> 27 <Property Name="UnifiedAreaRect" Value="{{0.55,0},{0.25,0},{0.9,0},{0.675,0}}" /> 28 </Window> 29 <Window Type="MenuWidgets/StaticText" Name="orxonox/SingleplayerLevelDescription" > 30 <Property Name="AlwaysOnTop" Value="True" /> 31 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 32 <Property Name="VertScrollbar" Value="True" /> 33 <Property Name="HorzScrollbar" Value="True" /> 34 <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.725,0},{0.9,0},{0.875,0}}" /> 27 35 </Window> 28 36 </Window> … … 30 38 <Property Name="Text" Value="Start" /> 31 39 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 32 <Property Name="UnifiedAreaRect" Value="{{0.2 875,0},{0.725,0},{0.4875,0},{0.775,0}}" />40 <Property Name="UnifiedAreaRect" Value="{{0.25,0},{0.725,0},{0.4,0},{0.775,0}}" /> 33 41 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerStartButton_clicked"/> 42 </Window> 43 <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerConfigButton" > 44 <Property Name="Text" Value="Configure" /> 45 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 46 <Property Name="UnifiedAreaRect" Value="{{0.425,0},{0.725,0},{0.575,0},{0.775,0}}" /> 47 <Property Name="Disabled" Value="True" /> 48 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerConfigButton_clicked"/> 34 49 </Window> 35 50 <Window Type="MenuWidgets/Button" Name="orxonox/SingleplayerBackButton" > 36 51 <Property Name="Text" Value="Back" /> 37 52 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 38 <Property Name="UnifiedAreaRect" Value="{{0. 5125,0},{0.725,0},{0.7125,0},{0.775,0}}" />53 <Property Name="UnifiedAreaRect" Value="{{0.6,0},{0.725,0},{0.75,0},{0.775,0}}" /> 39 54 <Event Name="Clicked" Function="SingleplayerMenu.SingleplayerBackButton_clicked"/> 40 55 </Window> -
code/trunk/data/gui/scripts/CreditsMenu.lua
r8888 r9016 14 14 function P.onShow() 15 15 local description = winMgr:getWindow("orxonox/CreditsText") 16 description:setProperty("HorzFormatting", "WordWrapLeftAligned")17 description:setProperty("VertFormatting", "TopAligned")18 description:setText(" Orxonox version 0.0.3 \n \19 Programming Language: C++ - lua - tcl \20 Environment: OpenAL - Ogre - OIS - CEGUI - enet - ODE \21 Licence: GNU General Public Licence - Creative Commons \n \22 http://www.orxonox.net \n \23 Credits:")24 16 25 description:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -P.scrollbarWidth), CEGUI.UDim(1.0, 0)))26 17 height = getStaticTextWindowHeight(description) 27 description:set Height(CEGUI.UDim(0, height))18 description:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -P.scrollbarWidth), CEGUI.UDim(0.0, height))) 28 19 end 29 20 -
code/trunk/data/gui/scripts/InGameMenu.lua
r8079 r9016 43 43 -- events for ingamemenu 44 44 function P.button_quit_clicked(e) 45 openDecisionPopup( "Do you really want to quit the game?", InGameMenu. callback )45 openDecisionPopup( "Do you really want to quit the game?", InGameMenu.exitCallback ) 46 46 end 47 47 48 48 function P.button_mainmenu_clicked(e) 49 orxonox.execute("startMainMenu") 50 hideMenuSheet("InGameMenu") 49 openDecisionPopup( "Do you really want to return to the main menu?", InGameMenu.mainMenuCallback ) 51 50 end 52 51 … … 59 58 end 60 59 61 function P.callback(doExit) 60 function P.mainMenuCallback(doExit) 61 if doExit then 62 orxonox.execute("startMainMenu") 63 hideMenuSheet("InGameMenu") 64 else 65 P.onShow() 66 end 67 end 68 69 function P.exitCallback(doExit) 62 70 if doExit then 63 71 hideMenuSheet("InGameMenu") -
code/trunk/data/gui/scripts/MiscConfigMenu.lua
r8729 r9016 11 11 P.lineHeight = 0 12 12 P.commandWidth = 0 13 P. configWidth = 013 P.editboxWidth = 0 14 14 P.resetWidth = 0 15 15 P.spaceWidth = 0 … … 36 36 table.insert(P.commandList, "ChatOverlay displayTime_") 37 37 table.insert(P.commandList, "Core bDevMode_") 38 table.insert(P.commandList, "HUDNavigation MarkerLimit_") 39 table.insert(P.commandList, "HUDNavigation showDistance") 38 40 39 41 P.nameList = {} … … 56 58 table.insert(P.nameList, "Chat: display time") 57 59 table.insert(P.nameList, "Developer's Mode") 60 table.insert(P.nameList, "Marker Limit") 61 table.insert(P.nameList, "Show Distance next to cursor") 58 62 59 63 P.linesList = {} … … 75 79 end 76 80 77 P.sampleWindow:setText("configure")78 size = getMinTextSize(P.sampleWindow)79 P.configWidth = size[2]+2080 81 81 P.sampleWindow:setText("reset") 82 82 size = getMinTextSize(P.sampleWindow) 83 83 P.resetWidth = size[2]+20 84 84 85 P.spaceWidth = math.floor(1/8*P.configWidth) 85 P.spaceWidth = 10 86 87 local pane = tolua.cast(winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane"), "CEGUI::ScrollablePane") 88 size = pane:getViewableArea() 89 P.editboxWidth = size:getWidth() - P.commandWidth - P.resetWidth - 5*P.spaceWidth 86 90 87 91 P.createLines() 88 92 89 93 P:setButton(1, 1, { 90 ["button"] = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigBackButton"), 91 ["callback"] = P.MiscConfigBackButton_clicked 94 ["button"] = winMgr:getWindow("orxonox/MiscConfigMenu/CancelButton"), 95 ["callback"] = P.MiscConfigCancelButton_clicked 96 }) 97 98 P:setButton(1, 2, { 99 ["button"] = winMgr:getWindow("orxonox/MiscConfigMenu/OKButton"), 100 ["callback"] = P.MiscConfigOKButton_clicked 92 101 }) 93 102 end … … 95 104 function P.createLine(k) 96 105 local offset = 0 106 -- content window for the entire line 97 107 local line = winMgr:createWindow("DefaultWindow", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k) 98 108 line:setHeight(CEGUI.UDim(0, P.lineHeight)) 99 109 line:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, P.lineHeight*(k-1)))) 100 110 111 -- config name 101 112 local command = winMgr:createWindow("MenuWidgets/StaticText", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Command") 102 113 command:setText(P.nameList[k]) … … 106 117 offset = offset + P.commandWidth + P.spaceWidth 107 118 119 -- config value (editable) 108 120 local configvalue = winMgr:createWindow("MenuWidgets/Editbox", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Configvalue") 109 121 configvalue:setProperty("ReadOnly", "set:False") 110 122 local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[k]) 111 123 configvalue:setText(value) 112 P.sampleWindow:setText(value) 113 local size = getMinTextSize(P.sampleWindow) 114 local configvalueWidth = 2*size[2] 115 configvalue:setSize(CEGUI.UVector2(CEGUI.UDim(0, configvalueWidth), CEGUI.UDim(0.9, 0))) 124 configvalue:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.editboxWidth), CEGUI.UDim(0.9, 0))) 116 125 configvalue:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0))) 126 -- enable the reset button if the value changed 127 orxonox.GUIManager:subscribeEventHelper(configvalue, "TextAccepted", P.name .. ".MiscConfigEditbox_textAccepted") 117 128 line:addChildWindow(configvalue) 118 offset = offset + configvalueWidth + P.spaceWidth 119 120 local config = winMgr:createWindow("MenuWidgets/Button", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Config") 121 config:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.configWidth), CEGUI.UDim(0.9, 0))) 122 config:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0))) 123 config:setText("configure") 124 orxonox.GUIManager:subscribeEventHelper(config, "Clicked", P.name .. ".MiscConfigConfigure_clicked") 125 line:addChildWindow(config) 126 offset = offset + P.configWidth + P.spaceWidth 127 129 offset = offset + P.editboxWidth + P.spaceWidth 130 131 -- reset button (only available when value changed) 128 132 local reset = winMgr:createWindow("MenuWidgets/Button", "orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Reset") 129 133 reset:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.resetWidth), CEGUI.UDim(0.9, 0))) 130 134 reset:setPosition(CEGUI.UVector2(CEGUI.UDim(0, offset), CEGUI.UDim(0.05, 0))) 131 135 reset:setText("reset") 132 orxonox.GUIManager:subscribeEventHelper(reset, "Clicked", P.name .. ".MiscConfigReset _clicked")136 orxonox.GUIManager:subscribeEventHelper(reset, "Clicked", P.name .. ".MiscConfigResetButton_clicked") 133 137 line:addChildWindow(reset) 134 138 reset:setEnabled(false) … … 153 157 end 154 158 155 function P.MiscConfigReset_clicked(e) 159 function P.MiscConfigOKButton_clicked(e) 160 for k,v in pairs(P.commandList) do 161 -- save the changes 162 local editbox = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Configvalue") 163 orxonox.CommandExecutor:execute("config " .. P.commandList[k] .. " " .. editbox:getText()) 164 local resetButton = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. k .. "/Reset") 165 resetButton:setEnabled(false) 166 end 167 168 hideMenuSheet("MiscConfigMenu") 169 end 170 171 function P.MiscConfigCancelButton_clicked(e) 172 hideMenuSheet("MiscConfigMenu") 173 end 174 175 function P.MiscConfigEditbox_textAccepted(e) 156 176 local we = CEGUI.toWindowEventArgs(e) 157 177 local name = we.window:getName() … … 160 180 local commandNr = tonumber(match()) 161 181 162 -- TODO: Implement reset. 163 end 164 165 function P.MiscConfigConfigure_clicked(e) 182 local resetButton = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Reset") 183 resetButton:setEnabled(true) 184 end 185 186 function P.MiscConfigResetButton_clicked(e) 166 187 local we = CEGUI.toWindowEventArgs(e) 167 188 local name = we.window:getName() … … 170 191 local commandNr = tonumber(match()) 171 192 172 local window = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Configvalue") 173 174 orxonox.CommandExecutor:execute("config " .. P.commandList[commandNr] .. " " .. window:getText()) 193 -- reload the old value 194 local editbox = winMgr:getWindow("orxonox/MiscConfigMenu/MiscConfigPane/ConfigCommand" .. commandNr .. "/Configvalue") 175 195 local value = orxonox.CommandExecutor:query("getConfig " .. P.commandList[commandNr]) 176 window:setText(value) 177 end 178 179 function P.MiscConfigBackButton_clicked(e) 180 hideMenuSheet("MiscConfigMenu") 196 editbox:setText(value) 197 198 we.window:setEnabled(false) 181 199 end 182 200 -
code/trunk/data/gui/scripts/SingleplayerMenu.lua
r8706 r9016 4 4 5 5 P.levelList = {} 6 P. itemList= {}7 P.s howAll = false6 P.activeTabIndexes = {} 7 P.scrollbarWidth = 13 8 8 9 9 function P.onLoad() 10 local window = winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox")11 local button = tolua.cast(window,"CEGUI::Checkbox")12 button:setSelected(false)13 10 P.createLevelList() 14 15 --buttons are arranged in a 1x2 matrix 11 12 -- create tabs with desired tab as argument (nil for all) 13 P.createFilterTab("Gametypes", "gametype") 14 P.createFilterTab("Missions", "mission") 15 P.createFilterTab("Minigames", "minigame") 16 P.createFilterTab("Showcases", "showcase") 17 P.createFilterTab("Presentations", "presentation") 18 P.createFilterTab("Tests", "test") 19 P.createFilterTab("Show All", nil) 20 21 -- update description and screenshot boxes 22 P.SingleplayerSelectionChanged() 23 24 --buttons are arranged in a 1x3 matrix 16 25 P:setButton(1, 1, { 17 26 ["button"] = winMgr:getWindow("orxonox/SingleplayerStartButton"), … … 20 29 21 30 P:setButton(1, 2, { 31 ["button"] = winMgr:getWindow("orxonox/SingleplayerConfigButton"), 32 ["callback"] = P.SingleplayerConfigButton_clicked 33 }) 34 35 P:setButton(1, 3, { 22 36 ["button"] = winMgr:getWindow("orxonox/SingleplayerBackButton"), 23 37 ["callback"] = P.SingleplayerBackButton_clicked … … 25 39 end 26 40 27 function P.onShow()28 if P.showAll ~= orxonox.GUIManager:inDevMode() then29 local window = winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox")30 local button = tolua.cast(window,"CEGUI::Checkbox")31 P.showAll = not P.showAll32 button:setSelected(P.showAll)33 P.createLevelList()34 end35 end36 37 41 function P.createLevelList() 38 42 P.levelList = {} 39 P.itemList = {}40 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox"))41 listbox:resetList()42 orxonox.GUIManager:setItemTooltipsEnabledHelper(listbox, true)43 local preselect = orxonox.LevelManager:getInstance():getDefaultLevel()44 43 local size = orxonox.LevelManager:getInstance():getNumberOfLevels() 45 44 local index = 0 … … 48 47 level = orxonox.LevelManager:getInstance():getAvailableLevelListItem(index) 49 48 if level ~= nil then 50 if P.showAll or not level:hasTag("test") then 51 table.insert(P.levelList, level) 49 local levelXMLFilename = level:getXMLFilename() 50 -- create an imageset for each screenshot 51 local imageName = level:getScreenshot() 52 if imageName ~= "" then 53 CEGUI.ImagesetManager:getSingleton():createImagesetFromImageFile(levelXMLFilename..imageName, imageName) 54 else 55 CEGUI.ImagesetManager:getSingleton():createImagesetFromImageFile(levelXMLFilename..imageName, "noscreenshot.png") 52 56 end 57 table.insert(P.levelList, level) 53 58 end 54 59 index = index + 1 55 60 end 61 end 56 62 63 function P.createFilterTab(name, tag) 64 -- create unique tab window name 65 local tabName = "orxonox/SingleplayerLevelTab" 66 if tag ~= nil then 67 tabName = tabName..tag 68 end 69 -- create new tab window with desired name 70 local listbox = CEGUI.toListbox(winMgr:createWindow("MenuWidgets/Listbox", tabName)) 71 listbox:setText(name) 72 listbox:setProperty("UnifiedMaxSize", "{{1,0},{1,0}}") 73 listbox:setProperty("UnifiedAreaRect", "{{0.05,0},{0.1,0},{0.5,0},{0.675,0}}") 74 -- fill listbox with items 75 listbox:resetList() 76 orxonox.GUIManager:setItemTooltipsEnabledHelper(listbox, true) 77 local preselect = orxonox.LevelManager:getInstance():getDefaultLevel() 78 local tabIndexes = {} 57 79 for k,v in pairs(P.levelList) do 58 local item = CEGUI.createListboxTextItem(v:getName()) 59 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 60 listbox:addItem(item) 61 if v:getXMLFilename() == preselect then 62 listbox:setItemSelectState(item, true) 80 -- only add level if it has desired tag 81 if tag == nil or v:hasTag(tag) then 82 local item = CEGUI.createListboxTextItem(v:getName()) 83 item:setSelectionBrushImage(menuImageSet, "MultiListSelectionBrush") 84 listbox:addItem(item) 85 table.insert(tabIndexes, k) 86 if v:getXMLFilename() == preselect then 87 listbox:setItemSelectState(item, true) 88 end 89 orxonox.GUIManager:setTooltipTextHelper(item, v:getDescription()) 63 90 end 64 P.itemList[k] = listbox:getListboxItemFromIndex(k-1) 65 orxonox.GUIManager:setTooltipTextHelper(P.itemList[k], v:getDescription()) 91 end 92 table.insert(P.activeTabIndexes, tabIndexes) 93 -- listen to selection changes 94 orxonox.GUIManager:subscribeEventHelper(listbox, "ItemSelectionChanged", P.name..".SingleplayerSelectionChanged") 95 local tabControl = winMgr:getWindow("orxonox/SingleplayerTabControl") 96 orxonox.GUIManager:subscribeEventHelper(tabControl, "TabSelectionChanged", P.name..".SingleplayerSelectionChanged") 97 if listbox:getItemCount() > 0 then 98 tabControl:addChildWindow(tabName) 99 end 100 end 101 102 function P.SingleplayerGetSelectedLevel() 103 -- choose the active listbox 104 local tabControl = CEGUI.toTabControl(winMgr:getWindow("orxonox/SingleplayerTabControl")) 105 local listbox = CEGUI.toListbox(tabControl:getTabContentsAtIndex(tabControl:getSelectedTabIndex())) 106 local choice = listbox:getFirstSelectedItem() 107 if choice ~= nil then 108 -- get the right tab and the right index 109 local tabIndexes = P.activeTabIndexes[tabControl:getSelectedTabIndex()+1] 110 local index = tabIndexes[listbox:getItemIndex(choice)+1] 111 return P.levelList[index] 112 else 113 return nil 114 end 115 end 116 117 function P.SingleplayerSelectionChanged(e) 118 local levelImage = winMgr:getWindow("orxonox/SingleplayerLevelImage") 119 local levelDescription = winMgr:getWindow("orxonox/SingleplayerLevelDescription") 120 local configButton = winMgr:getWindow("orxonox/SingleplayerConfigButton") 121 local level = P.SingleplayerGetSelectedLevel() 122 if level ~= nil then 123 local levelXMLFilename = level:getXMLFilename() 124 local imageName = level:getScreenshot() 125 -- set the screenshot and the description for the selected level 126 levelImage:setProperty("Image", "set:"..levelXMLFilename..imageName.." image:full_image") 127 levelDescription:setText(level:getDescription()) 128 -- only enable config button for "gametype" levels 129 if level:hasTag("gametype") then 130 configButton:setProperty("Disabled", "False") 131 else 132 configButton:setProperty("Disabled", "True") 133 end 134 else 135 -- also take care of "no level selected" 136 levelImage:setProperty("Image", nil) 137 levelDescription:setText("") 138 configButton:setProperty("Disabled", "True") 66 139 end 67 140 end 68 141 69 142 function P.SingleplayerStartButton_clicked(e) 70 local listbox = CEGUI.toListbox(winMgr:getWindow("orxonox/SingleplayerLevelListbox")) 71 local choice = listbox:getFirstSelectedItem() 72 if choice ~= nil then 73 local index = listbox:getItemIndex(choice) 74 local level = P.levelList[index+1] 75 if level ~= nil then 76 orxonox.execute("startGame " .. level:getXMLFilename()) 77 hideAllMenuSheets() 78 end 143 local level = P.SingleplayerGetSelectedLevel() 144 if level ~= nil then 145 orxonox.execute("startGame " .. level:getXMLFilename()) 146 hideAllMenuSheets() 79 147 end 80 148 end 81 149 82 function P.SingleplayerShowAll_clicked(e) 83 local checkbox = tolua.cast(winMgr:getWindow("orxonox/SingleplayerShowAllCheckbox"), "CEGUI::Checkbox") 84 local show = checkbox:isSelected() 85 if show ~= P.showAll then 86 P.showAll = show 87 P.createLevelList() 88 end 150 function P.SingleplayerConfigButton_clicked(e) 151 local level = P.SingleplayerGetSelectedLevel() 152 if level ~= nil then 153 local configMenu = showMenuSheet("SingleplayerConfigMenu") 154 configMenu:loadConfig(level) 155 end 89 156 end 90 157 … … 94 161 95 162 return P 96 -
code/trunk/data/levels/FPSTest.oxw
r8706 r9016 3 3 description = "Level to test First Person Shooter" 4 4 tags = "test" 5 screenshot = "fpstestlevel.png" 5 6 /> 6 7 … … 14 15 ?> 15 16 16 <Level 17 name = "fps" 18 description = "tests" 19 > 17 <Level> 20 18 <templates> 21 19 <Template link=lodtemplate_default /> -
code/trunk/data/levels/asteroids.oxw
r8706 r9016 1 <LevelInfo 2 name = "Asteroids Race" 3 description = "Reach the checkpoints and avoid asteroids." 4 tags = "gametype" 5 screenshot = "asteroids.png" 6 /> 7 1 8 <?lua 2 9 include("HUDTemplates3.oxo") … … 7 14 8 15 <Level 9 name = "Asteroids Race" 10 description = "testmap for gametype asteroid race" 11 gametype = Asteroids 16 gametype = "Asteroids" 12 17 > 13 18 <templates> -
code/trunk/data/levels/docking.oxw
r8706 r9016 2 2 name = "Transporter" 3 3 description = "Level with a Transporter. Demonstrates the docking system." 4 tags = "" 4 tags = "showcase" 5 screenshot = "transporter.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Transporter" 16 description = "Docking example level" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link="lodtemplate_default" /> -
code/trunk/data/levels/dynamicMatch.oxw
r8706 r9016 1 <LevelInfo 2 name = "Dynamic Match" 3 description = "Dynamicmatch: Take care of what you're shooting at." 4 tags = "gametype" 5 screenshot = "dynamicMatch.png" 6 /> 7 1 8 <?lua 2 9 include("HUDTemplates3.oxo") … … 9 16 10 17 <Level 11 name = "Dynamic Match" 12 description = "In progress -level for dynamicmatch" 13 gametype = "Dynamicmatch" 18 gametype = "Dynamicmatch" 14 19 > 15 20 <templates> … … 33 38 34 39 <!-- -----------12-Spawnpoints around the planet------------- --> 40 <!-- inner Spawnpoints --> 35 41 <TeamSpawnPoint team=0 position="1000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/> 36 42 <TeamSpawnPoint team=0 position="-1000,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff/> -
code/trunk/data/levels/earth.oxw
r8706 r9016 3 3 description = "1:100 Scale Model of Earth with Gravity" 4 4 tags = "showcase" 5 screenshot = "earthdemonstration.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Planet Earth" 16 description = "1:100 Scale Model of Earth with Gravity" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link="lodtemplate_default" /> -
code/trunk/data/levels/emptyLevel.oxw
r8706 r9016 3 3 description = "A level with absolutely nothing in it." 4 4 tags = "test" 5 screenshot = "emptylevel.png" 5 6 /> 6 7 … … 16 17 ?> 17 18 18 <Level 19 name = "Sample" 20 description = "Just a few tests" 21 > 19 <Level> 22 20 <templates> 23 21 <Template link=lodtemplate_default /> -
code/trunk/data/levels/events.oxw
r8706 r9016 2 2 name = "Events showcase" 3 3 description = "Level to test and showcase events." 4 tags = "test, showcase" 4 tags = "test, showcase" 5 screenshot = "eventsshowcase.png" 5 6 /> 6 7 … … 13 14 ?> 14 15 15 <Level 16 name = "Event testing" 17 description = "A simple level to test the event-system (with comments)" 18 > 16 <Level> 19 17 <templates> 20 18 <Template link=lodtemplate_default /> -
code/trunk/data/levels/fightInOurBack.oxw
r8891 r9016 2 2 name = "Fight in our Back" 3 3 description = "Our fleet is far ahead of us. We need to get rid of all the enemies in its back, because we do not want our enemies to attack from everywhere. So let us clear this Sector!" 4 tags = "singleplayer" 4 screenshot = "fightinourback.png" 5 tags = "mission" 5 6 /> 6 7 … … 110 111 name="Fight in our back" 111 112 description="Our fleet is far ahead of us. We need to get rid of all the enemies in its back, because we do not want our enemies to attack from everywhere. So let us clear this Sector!" 112 gametype= TeamDeathmatch113 gametype=Mission 113 114 > 114 115 <templates> … … 214 215 <?lua for i=0,0,1 do 215 216 x=800 216 health= 2050217 health=1500 217 218 ?> 218 219 <!--Transporter 1--> … … 239 240 240 241 <?lua for j=0,1,1 do 241 health=1 600242 health=1300 242 243 x=800 243 244 z=j*300 -
code/trunk/data/levels/includes/weaponSettingsSpacecruiser.oxi
r8891 r9016 1 1 <weaponslots> 2 <WeaponSlot position="-20,-15,-108" /> 3 <WeaponSlot position=" 20,-15,-108" /> 4 <WeaponSlot position=" 0, -7,-110" /> 5 <WeaponSlot position="-14,-31,-184" /> 6 <WeaponSlot position=" 14,-31,-184" /> 7 <WeaponSlot position="-34,-30,-169" /> 8 <WeaponSlot position=" 34,-30,-169" /> 9 2 <WeaponSlot position="-20,10,2" /> 3 <WeaponSlot position=" 20,10,2" /> 4 <WeaponSlot position=" 0,18,0" /> 5 <WeaponSlot position="-14,-6,-74" /> 6 <WeaponSlot position=" 14,-6,-74" /> 7 <WeaponSlot position="-34,-5,-59" /> 8 <WeaponSlot position=" 34,-5,-59" /> 10 9 </weaponslots> 11 10 <weaponsets> -
code/trunk/data/levels/lastManStanding.oxw
r8706 r9016 2 2 name = "Last Man Standing" 3 3 description = "Be the sole survivor." 4 tags = "" 4 tags = "gametype" 5 screenshot = "lastmanstanding.png" 5 6 /> 6 7 … … 16 17 17 18 <Level 18 name = "Last Man Standing" 19 description = "testmap for gametype last man standing" 20 gametype = "LastManStanding" 19 gametype = "LastManStanding" 21 20 > 22 21 <templates> … … 51 50 <Model position="0,0,0" scale=140 mesh="asteroid_UV.mesh" shadow=true /> 52 51 <Model position="-160,40,28.4" scale=1 mesh="sphere.mesh" /><!--EasterEgg indicator--> 53 <PickupSpawner position="-160,40,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="15"><!--EasterEgg -->52 <PickupSpawner position="-160,40,17" triggerDistance="20" respawnTime="5" maxSpawnedItems="15"><!--EasterEgg : invisible pickup is hidden inside the asteroid --> 54 53 <pickup> 55 54 <InvisiblePickup template=hugeinvisiblepickup /> -
code/trunk/data/levels/lastTeamStanding.oxw
r8891 r9016 2 2 name = "Last Team Standing" 3 3 description = "Survive as a team." 4 tags = "singleplayer" 4 tags = "gametype" 5 screenshot = "lastteamstanding.png" 5 6 /> 6 7 <?lua … … 17 18 name = "Last Team Standing" 18 19 description = "testmap for gametype last team standing" 19 gametype = " LastTeamStanding"20 gametype = "TeamGametype" 20 21 > 21 22 <templates> -
code/trunk/data/levels/lastTeamStandingII.oxw
r8891 r9016 1 1 <LevelInfo 2 name = "On the fly" 3 description = "Survive as a team." 4 tags = "" 2 name = "Last Team Standing II" 3 description = "Last Team Standing in an abstract level." 4 screenshot = "onthefly.png" 5 tags = "gametype" 5 6 /> 6 7 <?lua … … 15 16 16 17 <Level 17 name = "On the fly"18 description = "testmap for gametype last team standing"19 18 gametype = "LastTeamStanding" 20 19 > … … 95 94 </StaticEntity> 96 95 <!-- END of CUBE--> 96 97 97 <!-------------- Centered Thin Gate --------------> 98 98 … … 412 412 <TeamSpawnPoint team=3 position="845,350,835" direction="0,0,-1" spawnclass=SpaceShip pawndesign=spaceshipassff /> 413 413 <TeamSpawnPoint team=3 position="845,-300,835" direction="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /> 414 <Bot /> 414 <Bot /><!-- at least one bot is needed to stat the game properly. Else the game finishes. This could be avoided, if the menue allows a preselection of the number of players. --> 415 415 416 416 </Scene> -
code/trunk/data/levels/missionOne.oxw
r8891 r9016 1 1 <LevelInfo 2 2 name = "Mission One" 3 description = "First guided steps in the orxonoxian universe." 4 tags = "singleplayer" 3 description = "First Guided Steps in the Orxonoxian Universe." 4 screenshot = "missionOne.png" 5 tags = "mission" 5 6 /> 6 7 … … 20 21 21 22 <Level 22 name = "Mission One" 23 description = "How to steer a spaceship." 23 gametype = "Mission" 24 24 > 25 25 <templates> … … 47 47 ?> 48 48 49 <WorldAmbientSound source=" Mars.ogg" looping="true" playOnLoad="true" /> <!-- AlphaCentauri.ogg-->49 <WorldAmbientSound source="Earth.ogg" looping="true" playOnLoad="true" /> <!-- AlphaCentauri.ogg, Mars.ogg--> 50 50 51 51 <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/> 52 <TeamSpawnPoint team=0 position="800,700,600" direction="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />53 54 55 52 <!-- END OF INCLUDES & NECESSARITIES --> 56 53 54 <!-- SPAWNPOINT & START OF QUESTS via spawntrigger --> 55 <EventMultiTrigger name=spawntrigger> 56 <events> 57 <trigger> 58 <TeamSpawnPoint team=0 position="800,700,600" direction="-1,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff> 59 <EventTrigger invert=true> 60 <events> 61 <trigger> 62 <EventListener event="attack" /> 63 </trigger> 64 </events> 65 </EventTrigger> 66 </TeamSpawnPoint> 67 </trigger> 68 </events> 69 </EventMultiTrigger> 70 71 <QuestEffectBeacon times=1> 72 <effects> 73 <AddQuest questId="missionOne.basicFlying" /> 74 <!--AddQuestHint hintId ="quest1hint3" /--> 75 </effects> 76 <events> 77 <execute> 78 <EventListener event=spawntrigger /> 79 </execute> 80 </events> 81 </QuestEffectBeacon> 82 83 <QuestEffectBeacon times=1> 84 <effects> 85 <CompleteQuest questId="missionOne.basicFlying" /> 86 </effects> 87 <events> 88 <execute> 89 <EventListener event="flying4" /> 90 </execute> 91 </events> 92 </QuestEffectBeacon> 93 94 <QuestEffectBeacon times=1> 95 <effects> 96 <CompleteQuest questId="missionOne.navigation" /> 97 </effects> 98 <events> 99 <execute> 100 <EventListener event="navigationend" /> 101 </execute> 102 </events> 103 </QuestEffectBeacon> 104 105 <!--helper trigger to end the weaponsystemI quest --> 106 <DistanceTrigger name="boxend" position="0,0,0" distance=950 target="SpaceShip" stayActive="false" delay=0.1> 107 <EventTrigger> 108 <events> 109 <trigger> 110 <EventListener event="boxtrigger4" /> 111 </trigger> 112 </events> 113 </EventTrigger> 114 </DistanceTrigger> 115 116 <QuestEffectBeacon times=1> 117 <effects> 118 <CompleteQuest questId="missionOne.weaponsystemI" /> 119 </effects> 120 <events> 121 <execute> 122 <EventListener event="boxend" /> 123 </execute> 124 </events> 125 </QuestEffectBeacon> 126 127 <!--helper trigger to end the weaponsystemII quest --> 128 <DistanceTrigger name="piratesend" position="0,0,0" distance=2000 target="SpaceShip" stayActive="false" delay=0.1> 129 <EventTrigger> 130 <events> 131 <trigger> 132 <EventListener event="movingpirates2" /> 133 </trigger> 134 </events> 135 </EventTrigger> 136 </DistanceTrigger> 137 138 <QuestEffectBeacon times=1> 139 <effects> 140 <CompleteQuest questId="missionOne.weaponsystemII" /> 141 </effects> 142 <events> 143 <execute> 144 <EventListener event=piratesend /> 145 </execute> 146 </events> 147 </QuestEffectBeacon> 148 149 <!--helper trigger to end the DuBallStation quest --> 150 <DistanceTrigger name="duballend" position="-1000,-300,700" distance=2000 target="SpaceShip" stayActive="false" delay=0.1> 151 <EventTrigger> 152 <events> 153 <trigger> 154 <EventListener event="duball3" /> 155 </trigger> 156 </events> 157 </EventTrigger> 158 </DistanceTrigger> 159 160 161 <QuestEffectBeacon times=1> 162 <effects> 163 <CompleteQuest questId="missionOne.DuballStation" /> 164 </effects> 165 <events> 166 <execute> 167 <EventListener event=duballend /> 168 </execute> 169 </events> 170 </QuestEffectBeacon> 171 172 <QuestEffectBeacon times=1> <!-- alternative quest end --> 173 <effects> 174 <CompleteQuest questId="missionOne.DuballStation" /> 175 </effects> 176 <events> 177 <execute> 178 <EventListener event=toHydroFarmer /> 179 </execute> 180 </events> 181 </QuestEffectBeacon> 182 183 <!--helper trigger to end the getHelp quest --> 184 <DistanceTrigger name="getHelpEnd" position="-47000,-1000,1300" distance=1400 target="SpaceShip" stayActive="false" delay=0.1> 185 <EventTrigger> 186 <events> 187 <trigger> 188 <EventListener event="ondock" /> 189 </trigger> 190 </events> 191 </EventTrigger> 192 </DistanceTrigger> 193 194 <QuestEffectBeacon times=1> 195 <effects> 196 <CompleteQuest questId="missionOne.getHelp" /> 197 </effects> 198 <events> 199 <execute> 200 <EventListener event=getHelpEnd /> 201 </execute> 202 </events> 203 </QuestEffectBeacon> 204 205 <!--helper trigger to end the getHome quest --> 206 <DistanceTrigger name="getHomeEnd" position="0,0,0" distance=4000 target="SpaceShip" stayActive="false" delay=0.1> 207 <EventTrigger> 208 <events> 209 <trigger> 210 <EventListener event="attack" /> 211 </trigger> 212 </events> 213 </EventTrigger> 214 </DistanceTrigger> 215 216 <QuestEffectBeacon times=1> 217 <effects> 218 <CompleteQuest questId="missionOne.getHome" /> 219 </effects> 220 <events> 221 <execute> 222 <EventListener event=getHomeEnd /> 223 </execute> 224 </events> 225 </QuestEffectBeacon> 226 227 <!--helper trigger to end the defence quest --> 228 <DistanceTrigger name="defenceEnd" position="0,0,0" distance=4000 target="SpaceShip" stayActive="false" delay=0.1> 229 <EventTrigger> 230 <events> 231 <trigger> 232 <EventListener event="attacktrigger6" /> 233 </trigger> 234 </events> 235 </EventTrigger> 236 </DistanceTrigger> 237 238 <QuestEffectBeacon times=1> 239 <effects> 240 <CompleteQuest questId="missionOne.defence" /> 241 </effects> 242 <events> 243 <execute> 244 <EventListener event=defenceEnd /> 245 </execute> 246 </events> 247 </QuestEffectBeacon> 248 249 <!-- End the quest after own destruction of spacecruiser --> 250 <QuestEffectBeacon position="-100,0,0" times=1> 251 <effects> 252 <FailQuest questId="missionOne.getHelp" /> 253 </effects> 254 <events> 255 <execute> 256 <EventListener event="failQuest" /> 257 </execute> 258 </events> 259 <attached> 260 <DistanceTrigger name="failQuest" position="-47000,-1000,1300" distance=2300 target="SpaceShip"> 261 <EventTrigger> 262 <events> 263 <trigger> 264 <EventListener event="gameEnd" /> 265 </trigger> 266 </events> 267 </EventTrigger> 268 </DistanceTrigger> 269 </attached> 270 </QuestEffectBeacon> 271 272 273 274 57 275 <LocalQuest id="missionOne.basicFlying"> 58 <QuestDescription title="Flying" description="INSERT STORY HERE. The first thing you have to learn is flying. Use 'W' to accelerate and steer with your mouse. In order to know where to fly there are two detection systems. The navigation markers highlite important objects directly in the level. If you can't directly see those objects, there are arrows which indicate how you have to steer. The second device is the radar. There you get an overview of all objects near you. In order to find an object that you spotted on radar, you have to steer in a way that the corresponding dot is in the center of the radar. Now you can find the corresponding object straight ahead. Your goal is to fly to the first waypoint. It's that orange dot on the radar." failmessage="" completeMessage="Well done." /> 276 <QuestDescription title="Flying" description="Can you see the blinking light straight ahead? Your goal is to fly through it. 277 Use (W) to accelerate and steer with your mouse. 278 279 Further flying moves: 280 break (S) 281 roll (Q) and (E) 282 boost (Space) 283 284 Whenever a new quest is added you can view it by pressing (F3). Quit this menu via (Esc)." failmessage="" completeMessage="" /> 59 285 <complete-effects> 60 <AddQuest questId="missionOne. weaponsystem" />286 <AddQuest questId="missionOne.navigation" /> 61 287 </complete-effects> 62 288 </LocalQuest> 63 289 64 <LocalQuest id="missionOne.weaponsystem"> 65 <QuestDescription title="Weaponsystem" description="INSERT STORY HERE." failmessage="" completeMessage="All right." /> 66 <subquests> 290 <LocalQuest id="missionOne.navigation"> 291 <QuestDescription title="Navigation" description="The next goal is to find and move towards the test targets for your weaponsystem. The three arrows that just appeared down in the right corner of your screen indicate in which direction you have to turn your spacefighter to find your next targets. 292 293 Alternative navigation: There's a green circle in the left corner - the radar. The red dots on the radar represent your targets. If you manage to move your spaceship in a way such that a dot is at the center of the radar, you will be able to see the concerning object straight ahead." failmessage="" completeMessage="" /> 294 <complete-effects> 295 <AddQuest questId="missionOne.weaponsystemI" /> 296 </complete-effects> 297 </LocalQuest> 298 67 299 <LocalQuest id ="missionOne.weaponsystemI"> 68 <QuestDescription title="Destroy Boxes" description="Test your four different weapons on the four boxes. The four weapons are laser (left click), plasma (right click), self targeting rockets (middle click) and manual rockets (press 'T'). Attention if you use manual rockets: Press 'T' only once to start the rocket. If you miss your target you can get out of the rocket, by clicking or pressing 'T' once more." failmessage="" completeMessage="" /> 300 <QuestDescription title="Destroy the Boxes" description="Test your four different weapons on the four boxes: 301 1. laser (left click) 302 2. plasma (right click) 303 3. target seeking rockets (middle click) 304 4. manual rockets (T) 305 306 Attention if you use manual rockets: Press (T) only once to start the rocket. If you miss your target you can get out of the rocket, by clicking or pressing (T) once more." failmessage="" completeMessage="" /> 307 <hints> 308 <QuestHint id="missionOne.weaponsystem.laser"> 309 <QuestDescription title="Laser" description="The laser is a standard weapon. It is fast and precise but does not deal much damage." /> 310 </QuestHint> 311 <QuestHint id="missionOne.weaponsystem.lightningGun"> 312 <QuestDescription title="Lightninggun" description="That was the lightning gun. Its plasma munition is quite slow, but a normal spaceship can't take more than three hits of such a strong weapon. That could be your favourite weapon for close range combat or if you want to hit a really slow enemy." /> 313 </QuestHint> 314 <QuestHint id="missionOne.weaponsystem.targetSeekingRocket"> 315 <QuestDescription title="Target Seeking Rocket" description="The target seeking rockets follow slow targets on their own." /> 316 </QuestHint> 317 <QuestHint id="missionOne.weaponsystem.manualrocket"> 318 <QuestDescription title="Manual Rocket" description="Manual rockets are your most powerful weapon. But since you have to steer it to your target yourself, you will leave your spaceship unprotected for a while. The total amount of both manual and target seeking rockets is limited to 10." /> 319 </QuestHint> 320 </hints> 69 321 <complete-effects> 70 322 <AddQuest questId="missionOne.weaponsystemII" /> 71 323 </complete-effects> 72 324 </LocalQuest> 325 73 326 <LocalQuest id="missionOne.weaponsystemII"> 74 <QuestDescription title="" description="" failmessage="" completeMessage="" /> 327 <QuestDescription title="Kill the pirates" description="Get rid of the patrolling pirates. 328 Find out which weapon is best to tackle moving targets. Get close enough." failmessage="" completeMessage="" /> 75 329 <complete-effects> 76 330 <AddQuest questId="missionOne.DuballStation" /> 77 331 </complete-effects> 78 332 </LocalQuest> 79 </subquests>80 <hints>81 <QuestHint id="missionOne.weaponsystem.laser">82 <QuestDescription title="Laser" description="The laser is a standard weapon. It is fast and precise but does not deal much damage." />83 </QuestHint>84 <QuestHint id="missionOne.weaponsystem.lightningGun">85 <QuestDescription title="Lightninggun" description="That was the lightning gun. Its plasma munition is quite slow, but a normal spaceship can't take more than three hits of such a strong weapon. That could be your favourite weapon for close range combat or if you want to hit a really slow enemy." />86 </QuestHint>87 <QuestHint id="missionOne.weaponsystem.targetSeekingRocket">88 <QuestDescription title="Target Seeking Rocket" description="The target seeking rockets follow slow targets on their own." />89 </QuestHint>90 <QuestHint id="missionOne.weaponsystem.manualrocket">91 <QuestDescription title="Manual Rocket" description="Manual rockets are your most powerful weapon. But since you have to steer it to your target yourself, you will leave your spaceship unprotected for a while. The total amount of both manual and target seeking rockets is limited to 10." />92 </QuestHint>93 </hints>94 <complete-effects>95 </complete-effects>96 </LocalQuest>97 333 98 334 <LocalQuest id="missionOne.DuballStation"> 99 <QuestDescription title="Duball Space Station" description="Fly towards the Duball Space Station. The grey radar marker will lead you to its position." failmessage="" completeMessage=" Well done." />335 <QuestDescription title="Duball Space Station" description="Fly towards the Duball Space Station. The grey radar marker will lead you to its position." failmessage="" completeMessage="" /> 100 336 <complete-effects> 101 337 <AddQuest questId="missionOne.getHelp" /> … … 104 340 105 341 <LocalQuest id="missionOne.getHelp"> 106 <QuestDescription title="Get Help" description="There are enemies approaching. You can't handle it on your own. Fortunately there's a shortcut to the next friendly unit. Use the portal (grey dot) to get near the Hydrogen Farmer. There you might get help - as far as we know there should be a stronger spaceship docked to the Hydrogen Farmer. In order to be able to use that stronger spaceship you have to dock to the Hydrogen Farmer. Simply fly to the center of the Hydrogen Farmer, which is between its three legs." failmessage="" completeMessage="Well done." /> 342 <QuestDescription title="Get Help" description="There are several enemies approaching. You can't handle it on your own. Fortunately there's a shortcut to the next friendly unit. Use the portal (grey dot) to get near the Hydrogen Farmer. 343 The Hydrogen Farmer is a large spaceship with three legs. 344 There you might get help - as far as we know there should be a strong spaceruiser docked to the Hydrogen Farmer. In order to be able to use that stronger spaceship, you have to dock to the Hydrogen Farmer. 345 Simply fly to the center of the Hydrogen Farmer, which is between its three legs. 346 347 How to dock: Accept the dialogue, take your hands off the keyboard and watch." failmessage="" completeMessage="" /> 107 348 <complete-effects> 108 349 <AddQuest questId="missionOne.getHome" /> … … 111 352 112 353 <LocalQuest id="missionOne.getHome"> 113 <QuestDescription title="Return ASAP" description="" failmessage="" completeMessage="Well done." /> 354 <QuestDescription title="Return ASAP" description="So you managed to get the spacecruiser. Use the portal to return to the DuBall Space Station. 355 Hurry! Your help is desperately needed." failmessage="" completeMessage="" /> 114 356 <complete-effects> 115 357 <AddQuest questId="missionOne.defence" /> … … 118 360 119 361 <LocalQuest id="missionOne.defence"> 120 <QuestDescription title="Defence" description="" failmessage="" completeMessage="Well done." /> 362 <QuestDescription title="Defence" description="Seven enemies were detected that seem to launch a coordinated attack. 363 Do not hesitate to fight or you will be the target. 364 365 Always take care of the enemy that is the closest to you." failmessage="" completeMessage="Yeah! You did it." /> 121 366 </LocalQuest> 122 123 124 <QuestEffectBeacon position="800,700,600" times="1"> 125 <effects> 126 <AddQuest questId="missionOne.basicFlying" /> 127 </effects> 128 <events> 129 <execute> 130 <EventListener event="questStart"/> 131 </execute> 132 </events> 133 <attached> 134 <DistanceTrigger name="questStart" position="0,0,0" distance="50" target="Pawn" beaconMode="identify" targetname="PlayerDistanceTrigger" delay="2" /> 135 </attached> 136 </QuestEffectBeacon> 137 138 139 <!-- TUTORIAL-TODO: --> 140 <!-- 1. Flying & manoeuvring (basic flying, using pickups, forcefields, docks & portals) --> <!-- "W","S","SPACE"--> 141 <!-- 2. Aiming & Weapons (static targets, moving targets, dangerous targets)--> <!-- 3 Mouse buttons + "T"--> 142 <!-- 3. Game handling (quests, knowing when a game is over :-), pausing, chat, ... ) --> <!--"F3", "F2", "ESC" --> 143 <!-- 4. Extras (other things to discover) --> <!-- "Q","E","A","D","C", "CTRL", "", ... --> 144 145 <!-- 146 147 "Lets start flying. Use W to accelerate and S to brake. The goal is to reach the spacestation which is displayed on the radar. If you want to be faster you can temporarily boost by hitting additionally the space button. If you use too much boost your engine heats up and you won't be able to use boost for a while. By the way boost could be useful during combat .." 148 149 --> 150 151 <DistanceTrigger name="spawndelaytrigger0" position="800,700,600" target="Pawn" distance=10 stayActive="true"/> 152 <SimpleNotification message="Welcome to the Orxonox Tutorial."> 367 <!-- --------------------- END OF QUESTS -------------------------- --> 368 369 370 <DistanceTrigger name="spawndelaytrigger0" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=2/> 371 <SimpleNotification message="Press (F3) to see your mission briefing."> 153 372 <events> 154 373 <trigger> … … 158 377 </SimpleNotification> 159 378 160 <BlinkingBillboard position="-900,640,600" frequency=0.4 amplitude=2 material="Flares/lensflare" colour="1,1,0"> 379 <!-- Blinking Billboard should be replaced with WAYPOINT --> 380 <BlinkingBillboard position="-900,640,600" frequency=0.6 amplitude=3 material="Flares/lensflare" colour="1,1,0.05"> 161 381 <events> 162 382 <visibility> … … 184 404 </events> 185 405 </Billboard> 406 186 407 <!-------------------------------------- PART ZERO: How to fly ---------------------------------------> 187 <DistanceTrigger name="flying1" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=4/> 408 409 <DistanceTrigger name="flying1" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=6/> 188 410 <SimpleNotification message="Let's fly to the blinking light."> 189 411 <events> … … 194 416 </SimpleNotification> 195 417 196 <DistanceTrigger name="flying2" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay= 8/>197 <SimpleNotification message="Use 'W'to accelerate and the mouse to steer.">418 <DistanceTrigger name="flying2" position="800,700,600" target="Pawn" distance=10 stayActive="true" delay=10/> 419 <SimpleNotification message="Use (W) to accelerate and the mouse to steer."> 198 420 <events> 199 421 <trigger> … … 203 425 </SimpleNotification> 204 426 205 <!--DistanceTrigger name="flying3" position="800,700,600" target="Pawn" distance=20 stayActive="true" delay=12/> 206 <SimpleNotification message="Point with the mouse to the blinking light."> 207 <events> 208 <trigger> 209 <EventListener event="flying3" /> 210 </trigger> 211 </events> 212 </SimpleNotification--> 213 214 <DistanceTrigger name="flying4" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=1/> 215 <SimpleNotification message="Three red arrows just appeared."> 427 <!-- QUEST-Trigger && Message Trigger: navigationend is activated after flying4 was triggered --> 428 <DistanceTrigger name="navigationend" position="0,0,0" distance=950 target="SpaceShip" stayActive="false" delay=1.1> 429 <DistanceTrigger name="flying4" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=1/> 430 </DistanceTrigger> 431 432 433 <SimpleNotification message="Three arrows just appeared."> 216 434 <events> 217 435 <trigger> … … 222 440 223 441 <DistanceTrigger name="flying5" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=5/> 224 <SimpleNotification message="Follow those redarrows.">442 <SimpleNotification message="Follow those arrows."> 225 443 <events> 226 444 <trigger> … … 230 448 </SimpleNotification> 231 449 232 233 234 450 <!-------------------------------------- PART ONE : Destroy boxes ---------------------------------------> 235 <DistanceTrigger name="spawndelaytrigger1" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=9 /> 236 <SimpleNotification message="Destroy the four boxes."> 451 <!-- @ triggers: spawndelaytriggerX: textoutput only if no box was destroyed --> 452 <Trigger name="spawndelaytrigger1" mode="and" stayActive="true"> 453 <DistanceTrigger position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=9 /> 454 <EventTrigger activations="1" invert="true"> 455 <events> 456 <trigger> 457 <EventListener event="boxtrigger1" /> 458 </trigger> 459 </events> 460 </EventTrigger> 461 </Trigger> 462 463 <Trigger name="spawndelaytrigger2" mode="and" stayActive="true"> 464 <DistanceTrigger position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=13 /> 465 <EventTrigger activations="1" invert="true"> 466 <events> 467 <trigger> 468 <EventListener event="boxtrigger1" /> 469 </trigger> 470 </events> 471 </EventTrigger> 472 </Trigger> 473 474 <Trigger name="spawndelaytrigger3" mode="and" stayActive="true"> 475 <DistanceTrigger position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=17 /> 476 <EventTrigger activations="1" invert="true"> 477 <events> 478 <trigger> 479 <EventListener event="boxtrigger1" /> 480 </trigger> 481 </events> 482 </EventTrigger> 483 </Trigger> 484 485 <!-- @Text: How to shoot--> 486 <SimpleNotification message="Destroy the four boxes." broadcast="true"> 237 487 <events> 238 488 <trigger> … … 242 492 </SimpleNotification> 243 493 244 <DistanceTrigger name="spawndelaytrigger2" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=13 /> 245 <SimpleNotification message=" 1. Aim the a red cycle."> 494 <SimpleNotification message=" 1. Aim the a red cycle." broadcast="true"> 246 495 <events> 247 496 <trigger> … … 251 500 </SimpleNotification> 252 501 253 <DistanceTrigger name="spawndelaytrigger3" position="-900,640,600" target="Pawn" distance=60 stayActive="true" delay=17 /> 254 <SimpleNotification message="2. Click! (hold the left mouse button)"> 502 <SimpleNotification message="2. Click! (hold the left mouse button)" broadcast="true"> 255 503 <events> 256 504 <trigger> … … 261 509 262 510 <!-- @Objects: 4 boxes (uncontrolled pawns) --> 263 <Pawn health=30 position="0,0,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box > 264 <events> 265 <visibility> 266 <EventListener event="flying4" /> 267 </visibility> 268 </events> 269 <attached> 270 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 271 </attached> 272 <collisionShapes> 273 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 274 </collisionShapes> 275 </Pawn> 276 277 <Pawn health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box visible="true"> 278 <events> 279 <visibility> 280 <EventListener event="flying4" /> 281 </visibility> 282 </events> 283 <attached> 284 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 285 </attached> 286 <collisionShapes> 287 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 288 </collisionShapes> 289 </Pawn> 290 <Pawn health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box > 291 <events> 292 <visibility> 293 <EventListener event="flying4" /> 294 </visibility> 295 </events> 296 <attached> 297 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 298 </attached> 299 <collisionShapes> 300 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 301 </collisionShapes> 302 </Pawn> 303 <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box > 304 <events> 305 <visibility> 306 <EventListener event="flying4" /> 307 </visibility> 308 </events> 309 <attached> 310 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 311 </attached> 312 <collisionShapes> 313 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 314 </collisionShapes> 315 </Pawn> 511 <Pawn team=1 health=30 position="0,0,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 4" > 512 <events> 513 <visibility> 514 <EventListener event="flying4" /> 515 </visibility> 516 </events> 517 <attached> 518 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 519 </attached> 520 <collisionShapes> 521 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 522 </collisionShapes> 523 </Pawn> 524 525 <Pawn team=1 health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 3"> 526 <events> 527 <visibility> 528 <EventListener event="flying4" /> 529 </visibility> 530 </events> 531 <attached> 532 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 533 </attached> 534 <collisionShapes> 535 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 536 </collisionShapes> 537 </Pawn> 538 539 <Pawn health=30 position="0,200,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box team=1 RVName = "Box 2"> 540 <events> 541 <visibility> 542 <EventListener event="flying4" /> 543 </visibility> 544 </events> 545 <attached> 546 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 547 </attached> 548 <collisionShapes> 549 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 550 </collisionShapes> 551 </Pawn> 552 553 <Pawn health=30 position="0,300,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box team=1 RVName = "Box 1"> 554 <events> 555 <visibility> 556 <EventListener event="flying4" /> 557 </visibility> 558 </events> 559 <attached> 560 <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" /> 561 </attached> 562 <collisionShapes> 563 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 564 </collisionShapes> 565 </Pawn> 316 566 317 567 <!-- @Triggers: boxtrigger1 <-> one box destroyed … … 365 615 </SimpleNotification> 366 616 367 368 <SimpleNotification message="Aim at the last target and press 'T'." broadcast="true"> 617 <SimpleNotification message="Aim at the last target and press (T)." broadcast="true"> 369 618 <events> 370 619 <trigger> … … 386 635 387 636 <!-- @Objects: 2 pirates moving in squares, nonlethal --> 388 <SpaceShip position="0,2000,200" lookat="0,0,0" name="movingtarget" >637 <SpaceShip position="0,2000,200" lookat="0,0,0" name="movingtarget" RVName="Pirate"> 389 638 <events> 390 639 <visibility> … … 396 645 </templates> 397 646 <controller> 398 <WaypointController >647 <WaypointController team=1> 399 648 <waypoints> 400 649 <Model mesh="cube.mesh" scale=8 position=" 0,1700,-200" /> … … 407 656 </SpaceShip> 408 657 409 <SpaceShip position="0,2000,400" lookat="0,0,0" name="movingtarget" >658 <SpaceShip position="0,2000,400" lookat="0,0,0" name="movingtarget" RVName="Pirate"> 410 659 <events> 411 660 <visibility> … … 417 666 </templates> 418 667 <controller> 419 <WaypointController >668 <WaypointController team=1> 420 669 <waypoints> 421 670 <Model mesh="cube.mesh" scale=8 position=" 0,2400,1000" /> … … 473 722 </DistanceTrigger> 474 723 475 <EventTrigger name="duball2" activations="1" stayactive="true" delay=4 > 476 <events> 477 <trigger> 478 <EventListener event="duball1" /> 479 </trigger> 480 </events> 481 </EventTrigger> 482 483 <EventTrigger name="duball3" activations="1" stayactive="true" delay=4 > 484 <events> 485 <trigger> 486 <EventListener event="duball2" /> 487 </trigger> 488 </events> 489 </EventTrigger> 724 <Trigger name="duball2" mode="and" stayActive="true"> 725 <EventTrigger activations="1" stayactive="true" delay=4 > 726 <events> 727 <trigger> 728 <EventListener event="duball1" /> 729 </trigger> 730 </events> 731 </EventTrigger> 732 <EventTrigger activations="1" invert="true"> 733 <events> 734 <trigger> 735 <EventListener event="toHydroFarmer" /> 736 </trigger> 737 </events> 738 </EventTrigger> 739 </Trigger> 740 741 <Trigger name="duball3" mode="and" stayActive="true"> 742 <EventTrigger activations="1" stayactive="true" delay=4 > 743 <events> 744 <trigger> 745 <EventListener event="duball2" /> 746 </trigger> 747 </events> 748 </EventTrigger> 749 <EventTrigger activations="1" invert="true"> 750 <events> 751 <trigger> 752 <EventListener event="toHydroFarmer" /> 753 </trigger> 754 </events> 755 </EventTrigger> 756 </Trigger> 757 490 758 491 759 <SimpleNotification message="Welcome to the Duball Space Station!"> … … 520 788 <Model scale=13 mesh="DuBall2.mesh" position = "100,0,0"/> 521 789 <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "-100,0,0"/> 522 <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/> 790 <Billboard scale=7 material="Examples/Flare" colour="0.5,0.5,0.5" position = "100,0,0"/> 523 791 </attached> 524 792 <collisionShapes> … … 657 925 658 926 659 <SimpleNotification message="Dock to the Hydrogen Farmer." >927 <SimpleNotification message="Dock to the Hydrogen Farmer." broadcast="true"> 660 928 <events> 661 929 <trigger> … … 665 933 </SimpleNotification> 666 934 667 <!-------------------------------------- PART FOUR : Get Help ---------------------------------------> 668 <DistanceTrigger name="famer1" position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=0 /> 669 <SimpleNotification message="We just received a message from DuBall."> 935 <!-------------------------------------- PART FOUR : Get Help ---------------------------------------> 936 937 <Trigger name="famer1" mode="and" stayActive="true"> 938 <DistanceTrigger position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=0 /> 939 <EventTrigger name="notGameEnd" activations="1" invert="true"> 940 <events> 941 <trigger> 942 <EventListener event="gameEnd" /> 943 </trigger> 944 </events> 945 </EventTrigger> 946 </Trigger> 947 948 <Trigger name="famer2" mode="and" stayActive="true"> 949 <DistanceTrigger position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=4 /> 950 <EventTrigger activations="1" invert="true"> 951 <events> 952 <trigger> 953 <EventListener event="gameEnd" /> 954 </trigger> 955 </events> 956 </EventTrigger> 957 </Trigger> 958 959 <SimpleNotification message="We just received a message from DuBall." broadcast="true"> 670 960 <events> 671 961 <trigger> … … 675 965 </SimpleNotification> 676 966 677 <DistanceTrigger name="famer2" position="-48200,100,0" target="Pawn" distance=650 stayActive="true" delay=4 /> 678 <SimpleNotification message="We will lend you our strongest ship." >967 968 <SimpleNotification message="We will lend you our strongest ship." broadcast="true"> 679 969 <events> 680 970 <trigger> … … 686 976 687 977 <!-- @Objects: HYDROGEN FARMER & DOCKING --> 688 <SpaceShip position="-48900,100,0" roll=90 yaw=0 pitch=20 mass=10000 health=100000 name="HydroFarmer"> 978 <SpaceShip 979 team = 0 980 position = "-48900,100,0" 981 roll = 90 yaw=0 pitch=20 982 mass = 10000 983 health = 100000 initialhealth=100000 maxhealth="100000" 984 name = "HydroFarmer" 985 RVName = "Hydrogen Farmer" > 689 986 <attached> 690 987 <!-- Docking --> … … 730 1027 </SpaceShip> 731 1028 732 <Billboard position="-48900,0,0" material="Examples/Flare" colour="0.6,0,0" scale=3/>733 1029 <Dock position="-48900,0,0" roll=90 yaw=180 > 734 1030 <animations> … … 742 1038 <EventListener event="dockMe" /> 743 1039 </execute> 1040 <activity> 1041 <EventListener event=notGameEnd /> 1042 </activity> 744 1043 </events> 745 1044 <attached> … … 748 1047 /> 749 1048 </attached> 1049 750 1050 </Dock> 751 1051 752 <SpaceShip template="spaceshipspacecruiser" position="-48900,800,0" orientation="-0.14, 0.68, 0.68, 0.223" health="300" maxhealth="400" initialhealth="300" name="cruiser" > 1052 <!--@Objects: SpaceCruiser as docking target --> 1053 <SpaceShip 1054 template = "spaceshipspacecruiser" 1055 team = "0" 1056 position = "-48900,800,0" 1057 orientation = "-0.14, 0.68, 0.68, 0.223" 1058 health = "400" 1059 initialhealth = "400" 1060 maxhealth = "500" 1061 shieldhealth = "80" 1062 initialshieldhealth = "80" 1063 maxshieldhealth = "120" 1064 shieldabsorption = "0.8" 1065 reloadrate = "1" 1066 reloadwaittime = "1" 1067 name = "cruiser" 1068 RVName = "Spacecruiser" > 753 1069 <attached> 754 1070 <DockingTarget name="spaceShip" /> … … 756 1072 </SpaceShip> 757 1073 758 <!-- TESTBOX--> 759 760 <!-- TESTBOX--> 761 1074 1075 <!-- cruiserKilled: if cuiser is killed & player hasn't taken control of spacecrusier --> 762 1076 <Trigger name="cruiserKilled" mode="and" stayActive="true"> 763 1077 <EventTrigger stayActive="true"> … … 778 1092 779 1093 1094 <!-- triggers when either hydrofarmer or cruiser is killed --> 1095 <Trigger mode=or name="gameEnd"> 1096 <EventTrigger activations="1"> 1097 <events> 1098 <trigger> 1099 <EventListener event="HydroFarmer" /> 1100 </trigger> 1101 </events> 1102 </EventTrigger> 1103 <EventTrigger activations="1"> 1104 <events> 1105 <trigger> 1106 <EventListener event="cruiserKilled" /> 1107 </trigger> 1108 </events> 1109 </EventTrigger> 1110 </Trigger> 1111 1112 <!-- triggers delayed when either hydrofarmer or cruiser is killed --> 780 1113 <EventTrigger delay=4 name="earlyEnd"> 781 1114 <events> 782 1115 <trigger> 783 <EventListener event=" cruiserKilled" />1116 <EventListener event="gameEnd" /> 784 1117 </trigger> 785 1118 </events> … … 791 1124 </EventTrigger> 792 1125 793 <EventTrigger delay=4 name="earlyEnd">794 <events>795 <trigger>796 <EventListener event="HydroFarmer" />797 </trigger>798 </events>799 <events>800 <activity>801 <EventListener event="movingpirates2" />802 </activity>803 </events>804 </EventTrigger>805 806 807 1126 808 1127 <SimpleNotification message="Oh no! You killed the Hydrogen Farmer!" broadcast="true"> … … 822 1141 </SimpleNotification> 823 1142 824 <SimpleNotification message="Press 'Esc'and restart the mission." broadcast="true">1143 <SimpleNotification message="Press (Esc) and restart the mission." broadcast="true"> 825 1144 <events> 826 1145 <trigger> … … 829 1148 </events> 830 1149 </SimpleNotification> 831 832 1150 833 1151 <!-- hydrogen farmer & docking END --> … … 872 1190 > 873 1191 <!--attached> 874 <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" /> 1192 <ForceField position="0,0,0" mode="sphere" diameter="10000" velocity="-50" /> 875 1193 </attached--> <!-- Forcefield kills HYDROGEN FARMER--> 876 1194 <collisionShapes> … … 881 1199 882 1200 <!-------------------------------------- The attack ---------------------------------------> 883 884 1201 <!-- TODO: 885 1202 - update spaceshipTransporter 886 - bots do friendly fire (is drone function reusable?) 1203 - bots do friendly fire (is drone function reusable?) 887 1204 --> 1205 1206 <!-- Fallback Spawnpoint: on cruiserdeath caused by pirates. Unfortunately unstable behaviour concerning activity. --> 1207 <TeamSpawnPoint team=0 position="2000,1500,-1500" direction="-1,-1,1" spawnclass=SpaceShip pawndesign=spaceshipspacecruiser> 1208 <events> 1209 <activity> 1210 <EventListener event="attack" /> 1211 </activity> 1212 </events> 1213 </TeamSpawnPoint> 888 1214 889 1215 <!-- @Triggers: toHydroFamer <-> first portal usage … … 891 1217 attack <-> second portal usage --> 892 1218 893 <DistanceTrigger name="attack" position="-1400,-500,800" target="Pawn" distance=100 stayActive="true" >1219 <DistanceTrigger name="attack" position="-1400,-500,800" target="Pawn" distance=100 stayActive="true" mode="and"> 894 1220 <EventTrigger name="ondock" activations="1" stayactive="true" delay=6> 895 1221 <events> … … 898 1224 </trigger> 899 1225 </events> 900 <DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=100 stayActive="true" /> 1226 <Trigger mode=and> 1227 <DistanceTrigger name="toHydroFarmer" position="-47000,-1000,1300" target="Pawn" distance=100 stayActive="true" /> 1228 <EventTrigger activations="1" invert="true"> 1229 <events> 1230 <trigger> 1231 <EventListener event="gameEnd" /> 1232 </trigger> 1233 </events> 1234 </EventTrigger> 1235 </Trigger> 1236 </EventTrigger> 1237 <EventTrigger activations="1" invert="true"> 1238 <events> 1239 <trigger> 1240 <EventListener event="earlyEnd" /> 1241 </trigger> 1242 </events> 901 1243 </EventTrigger> 902 1244 </DistanceTrigger> 903 1245 904 <SimpleNotification message="Return before it's too late. Boost with 'Space'." broadcast="true">1246 <SimpleNotification message="Return before it's too late. Boost with (Space)." broadcast="true"> 905 1247 <events> 906 1248 <trigger> … … 919 1261 920 1262 921 922 1263 <!-- @Objects: 6 pirates, heading towards DuBall, attacking --> 1264 <!-- TODO: re-hide pirates on early end--> 923 1265 <!-- 1 --> 924 1266 <SpaceShip position="3000,-4000,4000" lookat="-1300,-600,900" name="attacker"visible="true"> … … 1065 1407 </controller> 1066 1408 </SpaceShip> 1409 1067 1410 1068 1411 <!-- @Triggers: attacktriggerX <-> X enemies destroyed , X is an element of [1,6] --> … … 1142 1485 </events> 1143 1486 </SimpleNotification> 1487 1144 1488 <SimpleNotification message="One enemy left!" broadcast="true"> 1145 1489 <events> … … 1149 1493 </events> 1150 1494 </SimpleNotification> 1495 1151 1496 <SimpleNotification message="Well done. You finished this tutorial." broadcast="true"> 1152 1497 <events> … … 1158 1503 1159 1504 <!-- @Triggers: postAttack <-> delayed attacktrigger6 --> 1160 <EventTrigger name="postAttack1" activations="1" stayactive="true" delay= 3>1505 <EventTrigger name="postAttack1" activations="1" stayactive="true" delay=4.1> 1161 1506 <events> 1162 1507 <trigger> … … 1166 1511 </EventTrigger> 1167 1512 1168 <EventTrigger name="postAttack2" activations="1" stayactive="true" delay= 6>1513 <EventTrigger name="postAttack2" activations="1" stayactive="true" delay=8.2> 1169 1514 <events> 1170 1515 <trigger> … … 1174 1519 </EventTrigger> 1175 1520 1176 <SimpleNotification message="Either quit by pressing 'Esc'or ..." broadcast="true">1521 <SimpleNotification message="Either quit by pressing (Esc) or ..." broadcast="true"> 1177 1522 <events> 1178 1523 <trigger> … … 1192 1537 <!-------------------------------------- |Bonus Part| ---------------------------------------> 1193 1538 <!-- @Triggers: "bonusX" <-> delayed "attacktrigger6" --> 1194 <EventTrigger name="bonus1" activations="1" stayactive="true" delay=1 0>1539 <EventTrigger name="bonus1" activations="1" stayactive="true" delay=12.3> 1195 1540 <events> 1196 1541 <trigger> … … 1199 1544 </events> 1200 1545 </EventTrigger> 1201 <EventTrigger name="bonus2" activations="1" stayactive="true" delay=16 >1546 <EventTrigger name="bonus2" activations="1" stayactive="true" delay=16.4> 1202 1547 <events> 1203 1548 <trigger> … … 1213 1558 </events> 1214 1559 </EventTrigger> 1215 <EventTrigger name="bonus4" activations="1" stayactive="true" delay=28 >1560 <EventTrigger name="bonus4" activations="1" stayactive="true" delay=28.1> 1216 1561 <events> 1217 1562 <trigger> … … 1220 1565 </events> 1221 1566 </EventTrigger> 1222 <EventTrigger name="bonus5" activations="1" stayactive="true" delay=32. 1>1567 <EventTrigger name="bonus5" activations="1" stayactive="true" delay=32.3> 1223 1568 <events> 1224 1569 <trigger> … … 1227 1572 </events> 1228 1573 </EventTrigger> 1229 <EventTrigger name="bonus6" activations="1" stayactive="true" delay=36. 2>1574 <EventTrigger name="bonus6" activations="1" stayactive="true" delay=36.5> 1230 1575 <events> 1231 1576 <trigger> … … 1234 1579 </events> 1235 1580 </EventTrigger> 1236 <EventTrigger name="bonus7" activations="1" stayactive="true" delay=4 >1581 <EventTrigger name="bonus7" activations="1" stayactive="true" delay=4.1> 1237 1582 <events> 1238 1583 <trigger> … … 1244 1589 1245 1590 1246 <SimpleNotification message="Rotate your ship. Press 'Q' or 'E'. " broadcast="true">1591 <SimpleNotification message="Rotate your ship. Press (Q) or (E). " broadcast="true"> 1247 1592 <events> 1248 1593 <trigger> … … 1252 1597 </SimpleNotification> 1253 1598 1254 <SimpleNotification message="Switch the camera's position. Press 'C'. " broadcast="true">1599 <SimpleNotification message="Switch the camera's position. Press (C). " broadcast="true"> 1255 1600 <events> 1256 1601 <trigger> … … 1260 1605 </SimpleNotification> 1261 1606 1262 <SimpleNotification message="360° view: press 'Ctrl'+ use the mouse " broadcast="true">1607 <SimpleNotification message="360° view: press (Ctrl) + use the mouse " broadcast="true"> 1263 1608 <events> 1264 1609 <trigger> … … 1292 1637 </SimpleNotification> 1293 1638 1294 <SimpleNotification message="Press 'Esc'and return to the main menu." broadcast="true">1639 <SimpleNotification message="Press (Esc) and return to the main menu." broadcast="true"> 1295 1640 <events> 1296 1641 <trigger> … … 1319 1664 </Scene> 1320 1665 </Level> 1321 <!-- TODO: 1322 ! Quest Interface 1323 - Foolproof text messages (e.g. verspätete Nachrichten unterdrücken) 1324 - Radar visibility & Hud Markers (done) 1666 1667 <!-- TODO: 1668 - Story & more precise Questmessages; more quest hints; fail-quest; 1669 - Colouring: Show who is friend or foe via the colour 1670 - Waypoints: show the player the way 1671 - Foolproof text messages (e.g. verspätete Nachrichten unterdrücken ~done ) 1325 1672 - End Tutorial, if either the Hydrogen Farmer or the SpaceCruiser gets destroyed. (~done) 1326 1327 1673 --> -
code/trunk/data/levels/myTestLevel.oxw
r8706 r9016 3 3 description = "A level to test the Class SpaceBoundaries." 4 4 tags = "test" 5 screenshot = "mytestlevel.png" 5 6 /> 6 7 … … 16 17 ?> 17 18 18 <Level 19 name = "Sample" 20 description = "Just a few tests" 21 > 19 <Level> 22 20 <templates> 23 21 <Template link=lodtemplate_default /> -
code/trunk/data/levels/notifications.oxw
r8706 r9016 3 3 description = "Level to test and showcase notifications." 4 4 tags = "test, showcase" 5 screenshot = "notificationsshowcase.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Presentation" 16 description = "A simple testlevel" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link=lodtemplate_default /> -
code/trunk/data/levels/pickups.oxw
r8706 r9016 3 3 description = "Level to test and showcase pickups." 4 4 tags = "test, showcase" 5 screenshot = "pickupsshowcase.png" 5 6 /> 6 7 … … 16 17 ?> 17 18 18 <Level 19 name = "Sample" 20 description = "Just a few tests" 21 > 19 <Level> 22 20 <templates> 23 21 <Template link=lodtemplate_default /> -
code/trunk/data/levels/pirateAttack.oxw
r8706 r9016 2 2 name = "Pirate Attack" 3 3 description = "Dani's Testlevel" 4 tags = "test" 4 tags = "mission" 5 screenshot = "pirateattack.png" 5 6 /> 6 7 … … 28 29 name="Dani's Testlevel" 29 30 description="Erste Versuche mit den Quests" 30 gametype= TeamDeathmatch31 gametype=Mission 31 32 > 32 33 -
code/trunk/data/levels/planets.oxw
r8891 r9016 3 3 description = "Demonstration of Planets" 4 4 tags = "showcase" 5 screenshot = "planetdemonstration.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Planet" 16 description = "Demonstration of Planets" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link="lodtemplate_default" /> -
code/trunk/data/levels/pong.oxw
r8706 r9016 2 2 name = "Pong" 3 3 description = "Pong in space!" 4 tags = "" 4 tags = "minigame" 5 screenshot = "pong.png" 5 6 /> 6 7 … … 49 50 50 51 <Level 51 name = "Presentation" 52 description = "A simple testlevel" 53 gametype = Pong 52 gametype = "Pong" 54 53 > 55 54 <templates> -
code/trunk/data/levels/portals.oxw
r8706 r9016 3 3 name = "Portals" 4 4 description = "Level for testing portals" 5 tags = "tutorial" 5 tags = "test" 6 screenshot = "portals.png" 6 7 /> 7 8 … … 14 15 ?> 15 16 16 <Level 17 name = "Presentation" 18 description = "A simple testlevel" 19 > 17 <Level> 20 18 <templates> 21 19 <Template link=lodtemplate_default /> -
code/trunk/data/levels/presentation.oxw
r8706 r9016 3 3 description = "Presentation Level" 4 4 tags = "presentation" 5 screenshot = "presentation.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Sample" 16 description = "Just a few tests" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link=lodtemplate_default /> -
code/trunk/data/levels/presentation09.oxw
r8706 r9016 3 3 description = "3rd Presentation level for Orxonox Convention X" 4 4 tags = "presentation" 5 screenshot = "presentationx3rd.png" 5 6 /> 6 7 … … 13 14 ?> 14 15 15 <Level 16 name = "Presentation09" 17 description = "presentation level for Orxonox Convention X" 18 19 > 16 <Level> 20 17 <templates> 21 18 <Template link=lodtemplate_default /> -
code/trunk/data/levels/presentation09b.oxw
r8706 r9016 3 3 description = "2nd Presentation level for Orxonox Convention X" 4 4 tags = "presentation" 5 screenshot = "presentationx2.png" 5 6 /> 6 7 … … 16 17 17 18 <Level 18 name = "Presentation09" 19 description = "presentation level for Orxonox Convention X" 20 gametype = TeamDeathmatch 19 gametype = "TeamDeathmatch" 21 20 > 22 21 <templates> -
code/trunk/data/levels/presentationDM.oxw
r8858 r9016 3 3 description = "Presentation Level" 4 4 tags = "presentation" 5 screenshot = "presentationdm.png" 5 6 /> 6 7 … … 14 15 15 16 <Level 16 name = "Presentation" 17 description = "A simple testlevel" 18 gametype = Deathmatch 17 gametype = "Deathmatch" 19 18 > 20 19 <templates> -
code/trunk/data/levels/presentationFS10.oxw
r8706 r9016 3 3 description = "1st Presentation level for Orxonox Convention XI" 4 4 tags = "presentation" 5 screenshot = "presentationxi.png" 5 6 /> 6 7 … … 19 20 20 21 <Level 21 name = "Sample" 22 description = "Just a few tests" 23 gametype = TeamDeathmatch 22 gametype = "TeamDeathmatch" 24 23 > 25 24 <templates> -
code/trunk/data/levels/presentationFS102.oxw
r8706 r9016 3 3 description = "2nd Presentation level for Orxonox Convention XI, FPS" 4 4 tags = "presentation" 5 screenshot = "presentationxifps1st.png" 5 6 /> 6 7 … … 14 15 ?> 15 16 16 <Level 17 name = "fps" 18 description = "tests" 19 > 17 <Level> 20 18 <templates> 21 19 <Template link=lodtemplate_default /> -
code/trunk/data/levels/presentationFS10Ed.oxw
r8706 r9016 3 3 description = "3rd Presentation level for Orxonox Convention XI, FPS" 4 4 tags = "presentation" 5 screenshot = "presentationxifps2nd.png" 5 6 /> 6 7 … … 14 15 ?> 15 16 16 <Level 17 name = "fps" 18 description = "tests" 19 > 17 <Level> 20 18 <templates> 21 19 <Template link=lodtemplate_default /> -
code/trunk/data/levels/presentationFS11.oxw
r8706 r9016 2 2 name = "Presentation FS11" 3 3 description = "Presentation level spring semester '11" 4 tags = "test" 4 tags = "presentation" 5 screenshot = "presentationfs11.png" 5 6 /> 6 7 … … 21 22 ?> 22 23 23 <Level 24 name = "Sample" 25 description = "Just a few tests" 26 > 24 <Level> 27 25 <templates> 28 26 <Template link=lodtemplate_default /> -
code/trunk/data/levels/presentationHS09.oxw
r8706 r9016 3 3 description = "1st Presentation level for Orxonox Convention X" 4 4 tags = "presentation" 5 screenshot = "presentationx1st.png" 5 6 /> 6 7 … … 16 17 17 18 <Level 18 name = "Presentation09" 19 description = "presentation level for Orxonox Convention X" 20 gametype = TeamDeathmatch 19 gametype = "TeamDeathmatch" 21 20 hasPhysics = true 22 21 > -
code/trunk/data/levels/presentationHS09b.oxw
r8706 r9016 3 3 description = "2nd Presentation level for Orxonox Convention X" 4 4 tags = "presentation" 5 screenshot = "presentationx2nd.png" 5 6 /> 6 7 … … 22 23 23 24 <Level 24 name = "Sample" 25 description = "Just a few tests" 26 gametype = TeamDeathmatch 25 gametype = "TeamDeathmatch" 27 26 > 28 27 <templates> -
code/trunk/data/levels/princessAeryn.oxw
r8706 r9016 2 2 name = "The Tale of Princess Aeryn" 3 3 description = "The Tale of the elusive but beautiful Princess Aeryn" 4 tags = "" 4 tags = "mission" 5 screenshot = "thetaleofprincessaeryn.png" 5 6 /> 6 7 … … 16 17 ?> 17 18 18 <Level 19 name = "The Tale of Princess Aeryn" 20 description = "The Tale of Princess Aeryn" 21 > 19 <Level> 22 20 23 21 <templates> -
code/trunk/data/levels/quests.oxw
r8706 r9016 3 3 description = "Level to test and showcase quests." 4 4 tags = "test, showcase" 5 screenshot = "questsshowcase.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Questsystem" 16 description = "Just a few tests" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link=lodtemplate_default /> -
code/trunk/data/levels/screenshot.oxw
r8706 r9016 2 2 name = "Screenshot" 3 3 description = "Level to make awesome screenshots in." 4 tags = "test" 4 tags = "test, showcase" 5 screenshot = "screenshot.png" 5 6 /> 6 7 … … 15 16 16 17 <Level 17 name = "Waypoints" 18 description = "Testing waypoings for AI controlled spaceships." 19 gametype = TeamDeathmatch 18 gametype = "TeamDeathmatch" 20 19 > 21 20 <templates> -
code/trunk/data/levels/shieldTest.oxw
r8706 r9016 3 3 description = "A simple Level with one shielded drone to shoot at" 4 4 tags = "test" 5 screenshot = "shieldtestlevel.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "shieldTL" 16 description = "LEVEL-DESCRIPTION" 17 > 15 <Level> 18 16 19 17 <templates> -
code/trunk/data/levels/sound.oxw
r8706 r9016 2 2 name = "Sound showcase" 3 3 description = "Level to test and showcase sound." 4 tags = "test" 4 tags = "test, showcase" 5 screenshot = "soundshowcase.png" 5 6 /> 6 7 … … 16 17 ?> 17 18 18 <Level 19 name = "Sample" 20 description = "Just a few tests" 21 > 19 <Level> 22 20 <templates> 23 21 <Template link=lodtemplate_default /> -
code/trunk/data/levels/spaceRace.oxw
r8706 r9016 1 1 <LevelInfo 2 name = "Space Race" 3 description = "Test level for the gametype Space Race." 4 tags = "test" 2 name = "Old Space Race" 3 description = "Have a furious Race in Space: Reach the checkpoints as fast as possible." 4 tags = "gametype" 5 screenshot = "spacerace.png" 5 6 /> 6 7 … … 17 18 18 19 <Level 19 name = "Space Race" 20 description = "Test level for the gametype Space Race." 21 gametype = SpaceRace 20 gametype = "OldSpaceRace" 22 21 > 23 22 <templates> … … 53 52 54 53 <!-- ------------------CheckPoints----------------- --> 55 < RaceCheckPoint name="checkpoint1" position="0,-2000,1000" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="0" islast="false">56 <attached> 57 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 58 </attached> 59 <collisionShapes> 60 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" /> 61 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" /> 62 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" /> 63 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 64 </collisionShapes> 65 </ RaceCheckPoint>66 67 < RaceCheckPoint name="checkpoint2" position="0,-900,2300" stayActive="true" collisionType="static" scale="1" distance="40" checkpointindex="1" islast="false">54 <OldRaceCheckPoint name="checkpoint1" position="0,-2000,1000" direction="0,-1,1" collisionType="static" scale="1" distance="40" checkpointindex="0" islast="false"> 55 <attached> 56 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> 57 </attached> 58 <collisionShapes> 59 <BoxCollisionShape position="0,0,55" halfExtents="55, 10, 10" /> 60 <BoxCollisionShape position="0,0,-55" halfExtents="55, 10, 10" /> 61 <BoxCollisionShape position="55,0,0" halfExtents="10, 10, 55" /> 62 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 63 </collisionShapes> 64 </OldRaceCheckPoint> 65 66 <OldRaceCheckPoint name="checkpoint2" position="0,-900,2300" stayActive="true" collisionType="static" scale="1" distance="40" checkpointindex="1" islast="false"> 68 67 <attached> 69 68 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 97 96 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 98 97 </collisionShapes> 99 </ RaceCheckPoint>100 101 < RaceCheckPoint name="checkpoint3" position="0,700,2700" stayActive="true" direction="0,0,1" collisionType="static" scale="1" distance="40" checkpointindex="2" islast="false">98 </OldRaceCheckPoint> 99 100 <OldRaceCheckPoint name="checkpoint3" position="0,700,2700" stayActive="true" direction="0,0,1" collisionType="static" scale="1" distance="40" checkpointindex="2" islast="false"> 102 101 <attached> 103 102 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 131 130 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 132 131 </collisionShapes> 133 </ RaceCheckPoint>134 135 < RaceCheckPoint name="checkpoint4" position="0,2100,2300" stayActive="true" direction="0,1,1" collisionType="static" scale="1" distance="40" checkpointindex="3" islast="false">132 </OldRaceCheckPoint> 133 134 <OldRaceCheckPoint name="checkpoint4" position="0,2100,2300" stayActive="true" direction="0,1,1" collisionType="static" scale="1" distance="40" checkpointindex="3" islast="false"> 136 135 <attached> 137 136 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 166 165 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 167 166 </collisionShapes> 168 </ RaceCheckPoint>169 170 < RaceCheckPoint name="checkpoint5" position="0,2200,500" stayActive="true" direction="0,1,0" collisionType="static" scale="1" distance="40" checkpointindex="4" islast="false">167 </OldRaceCheckPoint> 168 169 <OldRaceCheckPoint name="checkpoint5" position="0,2200,500" stayActive="true" direction="0,1,0" collisionType="static" scale="1" distance="40" checkpointindex="4" islast="false"> 171 170 <attached> 172 171 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 201 200 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 202 201 </collisionShapes> 203 </ RaceCheckPoint>204 205 < RaceCheckPoint name="checkpoint6" position="0,1500,-800" stayActive="true" direction="0,1,-1" collisionType="static" scale="1" distance="40" checkpointindex="5" islast="false">202 </OldRaceCheckPoint> 203 204 <OldRaceCheckPoint name="checkpoint6" position="0,1500,-800" stayActive="true" direction="0,1,-1" collisionType="static" scale="1" distance="40" checkpointindex="5" islast="false"> 206 205 <attached> 207 206 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 236 235 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 237 236 </collisionShapes> 238 </ RaceCheckPoint>239 240 < RaceCheckPoint name="checkpoint7" position="0,200,-1900" stayActive="true" collisionType="static" scale="1" distance="40" checkpointindex="6" islast="false">237 </OldRaceCheckPoint> 238 239 <OldRaceCheckPoint name="checkpoint7" position="0,200,-1900" stayActive="true" collisionType="static" scale="1" distance="40" checkpointindex="6" islast="false"> 241 240 <attached> 242 241 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 271 270 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 272 271 </collisionShapes> 273 </ RaceCheckPoint>274 275 < RaceCheckPoint name="checkpoint8" position="0,-700,-1400" stayActive="true" direction="0,-1,-1" collisionType="static" scale="1" distance="40" checkpointindex="7" islast="false">272 </OldRaceCheckPoint> 273 274 <OldRaceCheckPoint name="checkpoint8" position="0,-700,-1400" stayActive="true" direction="0,-1,-1" collisionType="static" scale="1" distance="40" checkpointindex="7" islast="false"> 276 275 <attached> 277 276 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 306 305 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 307 306 </collisionShapes> 308 </ RaceCheckPoint>309 310 < RaceCheckPoint name="checkpoint9" position="0,-1300,-800" stayActive="true" collisionType="static" scale="1" distance="40" checkpointindex="8" islast="false">307 </OldRaceCheckPoint> 308 309 <OldRaceCheckPoint name="checkpoint9" position="0,-1300,-800" stayActive="true" collisionType="static" scale="1" distance="40" checkpointindex="8" islast="false"> 311 310 <attached> 312 311 <Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 332 331 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 333 332 </collisionShapes> 334 </ RaceCheckPoint>335 336 < RaceCheckPoint name="checkpoint10" position="0,-2100,0" collisionType="static" scale="1" distance="40" checkpointindex="9" islast="true" timelimit="150">333 </OldRaceCheckPoint> 334 335 <OldRaceCheckPoint name="checkpoint10" position="0,-2100,0" collisionType="static" scale="1" distance="40" checkpointindex="9" islast="true" timelimit="150"> 337 336 <attached> 338 337 < Model mass="50" scale="50" mesh="raceCheckPoint.mesh" /> … … 344 343 <BoxCollisionShape position="-55,0,0" halfExtents="10, 10, 55" /> 345 344 </collisionShapes> 346 </ RaceCheckPoint>345 </OldRaceCheckPoint> 347 346 348 347 <!-- ------------------Planet----------------- --> -
code/trunk/data/levels/teamBaseMatch.oxw
r8706 r9016 1 1 <LevelInfo 2 2 name = "Teambase Match" 3 description = "Fight for the bases." 4 tags = "" 3 description = "Fight for the bases. Capture bases by shooting at them and defend them against attackers." 4 tags = "gametype" 5 screenshot = "teambasematch.png" 5 6 /> 6 7 … … 15 16 16 17 <Level 17 name = "Presentation" 18 description = "A simple testlevel" 19 gametype = TeamBaseMatch 18 gametype = "TeamBaseMatch" 20 19 > 21 20 -
code/trunk/data/levels/teamDeathMatch.oxw
r8706 r9016 2 2 name = "Team Deathmatch" 3 3 description = "Fight against each other in teams." 4 tags = "" 4 tags = "gametype" 5 screenshot = "teamdeathmatch.png" 5 6 /> 6 7 … … 15 16 16 17 <Level 17 name = "Waypoints" 18 description = "Testing waypoings for AI controlled spaceships." 19 gametype = TeamDeathmatch 18 gametype = "TeamDeathmatch" 20 19 > 21 20 <templates> -
code/trunk/data/levels/templates/spaceshipSpacecruiser.oxt
r8891 r9016 11 11 initialhealth = 300 12 12 13 shieldhealth = 6014 initialshieldhealth = 6015 maxshieldhealth = 8016 shieldabsorption = 0. 813 shieldhealth = 75 14 initialshieldhealth = 75 15 maxshieldhealth = 90 16 shieldabsorption = 0.9 17 17 reloadrate = 1 18 18 reloadwaittime = 1 … … 45 45 </engines> 46 46 <attached> 47 <Model position="12,- 30,-120" yaw=90 pitch=-90 roll=0 scale=6 mesh="spacecruiser.mesh" />47 <Model position="12,-5,-10" yaw=90 pitch=-90 roll=0 scale=6 mesh="spacecruiser.mesh" /> 48 48 <!--Model mesh="cube.mesh" mass=10 position="0,-30,-108" scale3D="38,6,62" /> 49 49 <Model mesh="cube.mesh" mass=10 position="0,-20,-108" scale3D="20,6,40" /> … … 57 57 </attached> 58 58 <collisionShapes> 59 <BoxCollisionShape position="0,- 30,-108"halfExtents="38,6,62" />60 <BoxCollisionShape position="0, -20,-108"halfExtents="20,6,40" />61 <BoxCollisionShape position="-16,- 35,-112"halfExtents="15,5,57" roll=-14 pitch=3.5/>62 <BoxCollisionShape position="16,- 35,-112" halfExtents="15,5,57" roll=14pitch=3.5/>63 <BoxCollisionShape position="19, -21.5,-108"halfExtents="18,5,52" roll=-21 />64 <BoxCollisionShape position="-19, -21.5,-108"halfExtents="18,5,52" roll=21/>65 <BoxCollisionShape position="0, -21,-169"halfExtents="18,1,16" pitch=-30x/>59 <BoxCollisionShape position="0,-5,2" halfExtents="38,6,62" /> 60 <BoxCollisionShape position="0,5,2" halfExtents="20,6,40" /> 61 <BoxCollisionShape position="-16,-10,-2" halfExtents="15,5,57" roll=-14 pitch=3.5/> 62 <BoxCollisionShape position="16,-10,-2" halfExtents="15,5,57" roll=14 pitch=3.5/> 63 <BoxCollisionShape position="19,3.5,2" halfExtents="18,5,52" roll=-21 /> 64 <BoxCollisionShape position="-19,4.5,2" halfExtents="18,5,52" roll=21 /> 65 <BoxCollisionShape position="0,4,-59" halfExtents="18,1,16" pitch=-30/> 66 66 67 67 </collisionShapes> 68 68 <?lua 69 include(" includes/weaponSettingsSpacecruiser.oxi")69 include("../includes/weaponSettingsSpacecruiser.oxi") 70 70 ?> 71 71 </SpaceShip> … … 75 75 <SpaceShip> 76 76 <camerapositions> 77 <CameraPosition position="0,10, 40" drag=true mouselook=true /> 78 <CameraPosition position="0,20, 80" drag=true mouselook=true /> 79 <CameraPosition position="0,30, 120" drag=true mouselook=true /> 80 <CameraPosition position="0,20,-260" drag=true mouselook=true yaw=180/> 81 <CameraPosition position="0,30,-350" drag=true mouselook=true yaw=180/> 82 <!--CameraPosition position="0,150,-25" pitch=-90 drag=true /> 83 <CameraPosition position="0,0,-40" yaw=180 drag=true /> 84 <CameraPosition position="0,3,-14" yaw=0 /> 85 <CameraPosition position="-50,5,-8" yaw=-90 drag=true /> 86 <CameraPosition position="50,5,-8" yaw=90 drag=true /--> 77 <CameraPosition position="0,40, 170" drag=true mouselook=true /> 78 <CameraPosition position="0,55, 230" drag=true mouselook=true /> 79 <CameraPosition position="0,65, 460" drag=true mouselook=true /> 87 80 </camerapositions> 88 81 </SpaceShip> … … 93 86 boostfactor = 2 94 87 95 speedfront = 15096 speedback = 5097 speedleftright = 5098 speedupdown = 5088 speedfront = 200 89 speedback = 70 90 speedleftright = 70 91 speedupdown = 70 99 92 100 93 defEngineSndNormal = "sounds/Engine_low.ogg" … … 111 104 </EffectContainer> 112 105 <EffectContainer condition="not idle"> 113 <FadingBillboard mainstate=activity active=false scale=0.1 position="20, -25, -40" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />114 <FadingBillboard mainstate=activity active=false scale=0.1 position="-20, -25, -40" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />106 <FadingBillboard mainstate=activity active=false scale=0.1 position="20, 0, 70" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 /> 107 <FadingBillboard mainstate=activity active=false scale=0.1 position="-20, 0, 70" colour="0.2, 0.65, 1.0, 1.0" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 /> 115 108 </EffectContainer> 116 109 <EffectContainer condition="normal or brake"> … … 118 111 </EffectContainer> 119 112 <EffectContainer condition="normal or boost"> 120 <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 20, -25, -40" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1300 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />121 <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-20, -25, -40" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1300 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />113 <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 20, 0, 70" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1300 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" /> 114 <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-20, 0, 70" colour="0.2, 0.65, 1.0, 1.0" width=15 length=1300 lifetime=2 elements=50 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" /> 122 115 </EffectContainer> 123 116 <EffectContainer condition="boost"> 124 <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 20, -25, -40" colour="0.6, 0.75, 0.8, 0.7" width=40 length=800 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />125 <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-20, -25, -40" colour="0.6, 0.75, 0.8, 0.7" width=40 length=800 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" />117 <Backlight mainstate=activity active=false scale=0.4 name=bltest position=" 20, 0, 70" colour="0.6, 0.75, 0.8, 0.7" width=40 length=800 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" /> 118 <Backlight mainstate=activity active=false scale=0.4 name=bltest position="-20, 0, 70" colour="0.6, 0.75, 0.8, 0.7" width=40 length=800 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" /> 126 119 </EffectContainer> 127 120 <!-- <EffectContainer condition="brake"> 128 <FadingBillboard mainstate=activity active=false scale=0.3 position=" 20, -25, -40" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />129 <FadingBillboard mainstate=activity active=false scale=0.3 position="-20, -25, -40" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 />130 <FadingBillboard mainstate=activity active=false scale=0.15 position="20, -25, -40" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />131 <FadingBillboard mainstate=activity active=false scale=0.15 position="-20, -25, -40" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 />121 <FadingBillboard mainstate=activity active=false scale=0.3 position=" 20, 0, 70" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 /> 122 <FadingBillboard mainstate=activity active=false scale=0.3 position="-20, 0, 70" colour="0.5, 0.0, 0.0, 0.3" material="Examples/Flare" turnontime=0.5 turnofftime=0.5 /> 123 <FadingBillboard mainstate=activity active=false scale=0.15 position="20, 0, 70" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 /> 124 <FadingBillboard mainstate=activity active=false scale=0.15 position="-20, 0, 70" colour="1.0, 0.0, 0.0, 1.0" material="Flares/backlightflare" turnontime=0.5 turnofftime=0.5 /> 132 125 </EffectContainer> 133 126 --> -
code/trunk/data/levels/testStars.oxw
r8706 r9016 3 3 description = "Level to test stars" 4 4 tags = "test" 5 screenshot = "starstestlevel.png" 5 6 /> 6 7 … … 16 17 ?> 17 18 18 <Level 19 name = "Sample" 20 description = "Just a few tests" 21 > 19 <Level> 22 20 <templates> 23 21 <Template link=lodtemplate_default /> -
code/trunk/data/levels/testSwallow.oxw
r8706 r9016 3 3 description = "Level to test the swallow spaceship." 4 4 tags = "test" 5 screenshot = "swallowtestlevel.png" 5 6 /> 6 7 … … 13 14 ?> 14 15 15 <Level 16 name = "Presentation_swallow" 17 description = "presentation level for Orxonox Convention X" 18 19 > 16 <Level> 20 17 21 18 <templates> -
code/trunk/data/levels/tetris.oxw
r8706 r9016 2 2 name = "Tetris" 3 3 description = "Tetris in space!" 4 tags = "" 4 tags = "minigame" 5 screenshot = "tetris.png" 5 6 /> 6 7 … … 30 31 31 32 <Level 32 name = "Presentation" 33 description = "A simple testlevel" 34 gametype = "Tetris" 33 gametype = "Tetris" 35 34 > 36 35 <templates> -
code/trunk/data/levels/theTimeMachine.oxw
r8706 r9016 2 2 name = "The Time Machine" 3 3 description = "A simple level. The only goal is to defeat as much enemies as you can." 4 tags = "singleplayer" 4 tags = "gametype" 5 screenshot = "thetimemachine.png" 5 6 /> 6 7 … … 61 62 62 63 <Level 63 name="The Time Machine" 64 description="A simple level. The only goal is to defeat as much enemies as you can." 65 gametype=TeamDeathmatch 64 gametype = "TeamDeathmatch" 66 65 > 67 66 <templates> -
code/trunk/data/levels/tutorial.oxw
r8706 r9016 3 3 description = "Level for the coding tutorial." 4 4 tags = "tutorial" 5 screenshot = "codingtutorial.png" 5 6 /> 6 7 … … 12 13 ?> 13 14 14 <Level 15 name = "Presentation" 16 description = "A simple testlevel" 17 > 15 <Level> 18 16 <templates> 19 17 <Template link=lodtemplate_default /> -
code/trunk/data/levels/underAttack.oxw
r8706 r9016 1 <LevelInfo 2 name = "Under Attack" 3 description = "Fight the transporter." 4 tags = "gametype" 5 screenshot = "underattack.png" 6 /> 7 1 8 <?lua 2 9 include("HUDTemplates3.oxo") 3 10 include("stats.oxo") 4 include("underAttackHUD.oxo")5 11 include("templates/spaceshipAssff.oxt") 6 12 include("templates/lodInformation.oxt") 7 13 ?> 14 <!--OUTDATED: include("underAttackHUD.oxo") --> 8 15 9 16 <Level 10 name = "UnderAttack testing" 11 description = "A simple testlevel" 12 gametype = UnderAttack 17 gametype = "UnderAttack" 13 18 > 14 19 <templates> … … 51 56 maxhealth = 10000 52 57 initialhealth = 10000 58 RVName = "Transporter" 53 59 > 54 60 -
code/trunk/data/levels/waypoints.oxw
r8706 r9016 3 3 description = "Testing waypoings for AI controlled spaceships." 4 4 tags = "test" 5 screenshot = "waypointstestlevel.png" 5 6 /> 6 7 … … 14 15 ?> 15 16 16 <Level 17 name = "Waypoints" 18 description = "Testing waypoings for AI controlled spaceships." 19 > 17 <Level> 20 18 <templates> 21 19 <Template link=lodtemplate_default /> -
code/trunk/data/overlays/HUDTemplates3.oxo
r8706 r9016 78 78 </HUDBoostBar> 79 79 80 <HUDEnemyHealthBar 81 name = "EnemyHealthBar" 82 background = "Orxonox/HealthBarBackground" 83 size = "0.35, 0.0875" 84 position = "1.0 , 0.1 " 85 pickpoint = "1, 1" 86 bartexture = "healthbar_bar.png" 87 textfont = "VeraMono" 88 textusebarcolour = true 89 textsize = 0.039 90 textoffset = "0.315, 0.05" 91 textpickpoint = "0, 0" 92 textalign = "right" 93 correctaspect = false 94 textcorrectaspect = false 95 > 96 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> 97 <BarColour position = 0.5 colour = "0.7,0.7,0.2" /> 98 <BarColour position = 1.0 colour = "0.2,0.7,0.2" /> 99 </HUDEnemyHealthBar> 100 80 101 <HUDNavigation 81 102 name = "Navigation" -
code/trunk/data/overlays/underAttackHUD.oxo
r7679 r9016 1 < Template name="UnderAttackHUD">1 < Template name="UnderAttackHUD"> 2 2 <OverlayGroup name="UnderAttackHUD" scale = "1, 1"> 3 < UnderAttackHealthBar3 <OUTDATED-- UnderAttackHealthBar 4 4 name = "HealthBar" 5 5 background = "Orxonox/HealthBarBackground"
Note: See TracChangeset
for help on using the changeset viewer.