Changeset 11052
- Timestamp:
- Jan 9, 2016, 6:26:20 PM (9 years ago)
- Location:
- code/trunk
- Files:
-
- 5 deleted
- 200 edited
- 69 copied
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
-
code/trunk/data/defaultConfig/orxonox.ini
r10262 r11052 4 4 campaignMissions_[2] = "pirateAttack.oxw" 5 5 campaignMissions_[3] = "iJohnVane_TriptoArea51.oxw" 6 campaignMissions_[4] = "iiJohnVane_Area51UnderFire.oxw" 7 campaignMissions_[5] = "iiiJohnVane_EscapeTheBastards.oxw" 8 campaignMissions_[6] = "expeditionSector.oxw" 9 campaignMissions_[7] = "shuttleAttack.oxw" 10 campaignMissions_[8] = "shuttleRetaliation.oxw" -
code/trunk/data/gui/layouts/CampaignMenu.layout
r10262 r11052 8 8 <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1.0,0},{1.0,0}}" /> 9 9 <Property Name="BackgroundEnabled" Value="False" /> 10 <Window Type="MenuWidgets/Button" Name="orxonox/Mission OneButton" >11 <Property Name="Text" Value="Mission 1" />10 <Window Type="MenuWidgets/Button" Name="orxonox/Mission1Button" > 11 <Property Name="Text" Value="Mission One" /> 12 12 <Property Name="Visible" Value="False"/> 13 13 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 14 <Property Name="UnifiedAreaRect" Value="{{0. 4,0},{0.2875,0},{0.6,0},{0.3375,0}}" />15 <Event Name="Clicked" Function="CampaignMenu.Mission OneButton_clicked"/>14 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.1,0},{0.65,0},{0.15,0}}" /> 15 <Event Name="Clicked" Function="CampaignMenu.Mission1Button_clicked"/> 16 16 </Window> 17 <Window Type="MenuWidgets/Button" Name="orxonox/Mission TwoButton" >18 <Property Name="Text" Value=" Mission 2" />17 <Window Type="MenuWidgets/Button" Name="orxonox/Mission2Button" > 18 <Property Name="Text" Value="Fight in our Back" /> 19 19 <Property Name="Visible" Value="False"/> 20 20 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 21 <Property Name="UnifiedAreaRect" Value="{{0. 4,0},{0.3625,0},{0.6,0},{0.4125,0}}" />21 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.18,0},{0.65,0},{0.23,0}}" /> 22 22 <Property Name="Disabled" Value="True" /> 23 <Event Name="Clicked" Function="CampaignMenu.Mission TwoButton_clicked"/>23 <Event Name="Clicked" Function="CampaignMenu.Mission2Button_clicked"/> 24 24 </Window> 25 <Window Type="MenuWidgets/Button" Name="orxonox/Mission ThreeButton" >26 <Property Name="Text" Value=" Mission 3" />25 <Window Type="MenuWidgets/Button" Name="orxonox/Mission3Button" > 26 <Property Name="Text" Value="Pirate Attack" /> 27 27 <Property Name="Visible" Value="False"/> 28 28 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 29 <Property Name="UnifiedAreaRect" Value="{{0. 4,0},{0.4375,0},{0.6,0},{0.4875,0}}" />29 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.26,0},{0.65,0},{0.31,0}}" /> 30 30 <Property Name="Disabled" Value="True" /> 31 <Event Name="Clicked" Function="CampaignMenu.Mission ThreeButton_clicked"/>31 <Event Name="Clicked" Function="CampaignMenu.Mission3Button_clicked"/> 32 32 </Window> 33 <Window Type="MenuWidgets/Button" Name="orxonox/Mission FourButton" >34 <Property Name="Text" Value=" Mission 4" />33 <Window Type="MenuWidgets/Button" Name="orxonox/Mission4Button" > 34 <Property Name="Text" Value="Trip to Area 51" /> 35 35 <Property Name="Visible" Value="False"/> 36 36 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 37 <Property Name="UnifiedAreaRect" Value="{{0. 4,0},{0.5125,0},{0.6,0},{0.5625,0}}" />37 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.34,0},{0.65,0},{0.39,0}}" /> 38 38 <Property Name="Disabled" Value="True" /> 39 <Event Name="Clicked" Function="CampaignMenu.Mission FourButton_clicked"/>39 <Event Name="Clicked" Function="CampaignMenu.Mission4Button_clicked"/> 40 40 </Window> 41 <Window Type="MenuWidgets/Button" Name="orxonox/Mission5Button" > 42 <Property Name="Text" Value="Area 51 under Fire" /> 43 <Property Name="Visible" Value="False"/> 44 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 45 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.42,0},{0.65,0},{0.47,0}}" /> 46 <Property Name="Disabled" Value="True" /> 47 <Event Name="Clicked" Function="CampaignMenu.Mission5Button_clicked"/> 48 </Window> 49 <Window Type="MenuWidgets/Button" Name="orxonox/Mission6Button" > 50 <Property Name="Text" Value="Escape the Bastards" /> 51 <Property Name="Visible" Value="False"/> 52 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 53 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.50,0},{0.65,0},{0.55,0}}" /> 54 <Property Name="Disabled" Value="True" /> 55 <Event Name="Clicked" Function="CampaignMenu.Mission6Button_clicked"/> 56 </Window> 57 <Window Type="MenuWidgets/Button" Name="orxonox/Mission7Button" > 58 <Property Name="Text" Value="Expedition to Sector 5C" /> 59 <Property Name="Visible" Value="False"/> 60 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 61 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.58,0},{0.65,0},{0.63,0}}" /> 62 <Property Name="Disabled" Value="True" /> 63 <Event Name="Clicked" Function="CampaignMenu.Mission7Button_clicked"/> 64 </Window> 65 <Window Type="MenuWidgets/Button" Name="orxonox/Mission8Button" > 66 <Property Name="Text" Value="Shuttle under Attack" /> 67 <Property Name="Visible" Value="False"/> 68 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 69 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.66,0},{0.65,0},{0.71,0}}" /> 70 <Property Name="Disabled" Value="True" /> 71 <Event Name="Clicked" Function="CampaignMenu.Mission8Button_clicked"/> 72 </Window> 73 <Window Type="MenuWidgets/Button" Name="orxonox/Mission9Button" > 74 <Property Name="Text" Value="Retaliation" /> 75 <Property Name="Visible" Value="False"/> 76 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 77 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.74,0},{0.65,0},{0.79,0}}" /> 78 <Property Name="Disabled" Value="True" /> 79 <Event Name="Clicked" Function="CampaignMenu.Mission9Button_clicked"/> 80 </Window> 81 82 41 83 <Window Type="MenuWidgets/Button" Name="orxonox/CampaignMenuBackButton" > 42 84 <Property Name="Text" Value="Back" /> 43 85 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 44 <Property Name="UnifiedAreaRect" Value="{{0. 4,0},{0.8,0},{0.6,0},{0.85,0}}" />86 <Property Name="UnifiedAreaRect" Value="{{0.35,0},{0.85,0},{0.65,0},{0.9,0}}" /> 45 87 <Event Name="Clicked" Function="CampaignMenu.CampaignMenuBackButton_clicked"/> 46 88 </Window> -
code/trunk/data/gui/layouts/InGameMenu.layout
r7801 r11052 9 9 <Property Name="Text" Value="Return to Game" /> 10 10 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 11 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.2875,0},{0.6,0},{0.3375,0}}" /> 12 <Property Name="Alpha" Value="0.9" /> 13 <Event Name="Clicked" Function="InGameMenu.button_return_clicked"/> 14 </Window> 15 <Window Type="MenuWidgets/Button" Name="orxonox/InGameMenu_ReloadLevelButton" > 16 <Property Name="Text" Value="Reload level" /> 17 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 11 18 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.3625,0},{0.6,0},{0.4125,0}}" /> 12 19 <Property Name="Alpha" Value="0.9" /> 13 <Event Name="Clicked" Function="InGameMenu.button_re turn_clicked"/>20 <Event Name="Clicked" Function="InGameMenu.button_reloadLevel_clicked"/> 14 21 </Window> 15 22 <Window Type="MenuWidgets/Button" Name="orxonox/InGameMenu_MainMenuButton" > 16 23 <Property Name="Text" Value="Main Menu" /> 17 24 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 18 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.4 625,0},{0.6,0},{0.5125,0}}" />25 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.4375,0},{0.6,0},{0.4875,0}}" /> 19 26 <Property Name="Alpha" Value="0.9" /> 20 27 <Event Name="Clicked" Function="InGameMenu.button_mainmenu_clicked"/> … … 23 30 <Property Name="Text" Value="Settings" /> 24 31 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 25 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5 625,0},{0.6,0},{0.6125,0}}" />32 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5125,0},{0.6,0},{0.5625,0}}" /> 26 33 <Property Name="Alpha" Value="0.9" /> 27 34 <Event Name="Clicked" Function="InGameMenu.button_settings_clicked"/> … … 30 37 <Property Name="Text" Value="Quit" /> 31 38 <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" /> 32 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0. 6625,0},{0.6,0},{0.7125,0}}" />39 <Property Name="UnifiedAreaRect" Value="{{0.4,0},{0.5875,0},{0.6,0},{0.6375,0}}" /> 33 40 <Property Name="Alpha" Value="0.9" /> 34 41 <Event Name="Clicked" Function="InGameMenu.button_quit_clicked"/> -
code/trunk/data/gui/scripts/CampaignMenu.lua
r10262 r11052 8 8 9 9 function P.updateButtons() 10 P.updateButton(0, winMgr:getWindow("orxonox/MissionOneButton")) 11 P.updateButton(1, winMgr:getWindow("orxonox/MissionTwoButton")) 12 P.updateButton(2, winMgr:getWindow("orxonox/MissionThreeButton")) 13 P.updateButton(3, winMgr:getWindow("orxonox/MissionFourButton")) 10 P.updateButton(0, winMgr:getWindow("orxonox/Mission1Button")) 11 P.updateButton(1, winMgr:getWindow("orxonox/Mission2Button")) 12 P.updateButton(2, winMgr:getWindow("orxonox/Mission3Button")) 13 P.updateButton(3, winMgr:getWindow("orxonox/Mission4Button")) 14 P.updateButton(4, winMgr:getWindow("orxonox/Mission5Button")) 15 P.updateButton(5, winMgr:getWindow("orxonox/Mission6Button")) 16 P.updateButton(6, winMgr:getWindow("orxonox/Mission7Button")) 17 P.updateButton(7, winMgr:getWindow("orxonox/Mission8Button")) 18 P.updateButton(8, winMgr:getWindow("orxonox/Mission9Button")) 19 14 20 15 21 if (P.getIndexOfLastFinishedMission() == orxonox.LevelManager:getInstance():getNumberOfCampaignMissions() - 1) then … … 54 60 end 55 61 56 function P.Mission OneButton_clicked(e)62 function P.Mission1Button_clicked(e) 57 63 P.loadLevel(P.FindLevel(0)) 58 64 end 59 65 60 function P.Mission TwoButton_clicked(e)66 function P.Mission2Button_clicked(e) 61 67 P.loadLevel(P.FindLevel(1)) 62 68 end 63 69 64 function P.Mission ThreeButton_clicked(e)70 function P.Mission3Button_clicked(e) 65 71 P.loadLevel(P.FindLevel(2)) 66 72 end 67 73 68 function P.Mission FourButton_clicked(e)74 function P.Mission4Button_clicked(e) 69 75 P.loadLevel(P.FindLevel(3)) 76 end 77 78 function P.Mission5Button_clicked(e) 79 P.loadLevel(P.FindLevel(4)) 80 end 81 82 function P.Mission6Button_clicked(e) 83 P.loadLevel(P.FindLevel(5)) 84 end 85 86 function P.Mission7Button_clicked(e) 87 P.loadLevel(P.FindLevel(6)) 88 end 89 90 function P.Mission8Button_clicked(e) 91 P.loadLevel(P.FindLevel(7)) 92 end 93 94 function P.Mission9Button_clicked(e) 95 P.loadLevel(P.FindLevel(8)) 70 96 end 71 97 -
code/trunk/data/gui/scripts/InGameMenu.lua
r9016 r11052 7 7 P.multiplayerMode = "startClient" 8 8 9 --button are arranged in a 4x1 matrix, the left lower item is nil9 --button are arranged in a 5x1 matrix, the left lower item is nil 10 10 P:setButton(1, 1, { 11 11 ["button"] = winMgr:getWindow("orxonox/InGameMenu_ReturnButton"), … … 14 14 15 15 P:setButton(2, 1, { 16 ["button"] = winMgr:getWindow("orxonox/InGameMenu_ReloadLevelButton"), 17 ["callback"] = P.button_reloadLevel_clicked 18 }) 19 20 P:setButton(3, 1, { 16 21 ["button"] = winMgr:getWindow("orxonox/InGameMenu_MainMenuButton"), 17 22 ["callback"] = P.button_mainmenu_clicked 18 23 }) 19 24 20 P:setButton( 3, 1, {25 P:setButton(4, 1, { 21 26 ["button"] = winMgr:getWindow("orxonox/InGameMenu_SettingsButton"), 22 27 ["callback"] = P.button_settings_clicked 23 28 }) 24 29 25 P:setButton( 4, 1, {30 P:setButton(5, 1, { 26 31 ["button"] = winMgr:getWindow("orxonox/InGameMenu_QuitButton"), 27 32 ["callback"] = P.button_quit_clicked … … 54 59 end 55 60 61 function P.button_reloadLevel_clicked(e) 62 hideMenuSheet("InGameMenu") 63 orxonox.execute("reloadLevel") 64 end 65 56 66 function P.button_return_clicked(e) 57 67 hideMenuSheet("InGameMenu") -
code/trunk/data/gui/scripts/SheetManager.lua
r8729 r11052 24 24 cursor:show() 25 25 end 26 end 27 28 function getLoadedSheets() 29 local names = "" 30 for name, sheet in pairs(loadedSheets) do 31 names = names .. name 32 names = names .. "," 33 end 34 return names 26 35 end 27 36 -
code/trunk/data/levels/FPS_Level_HS14.oxw
r10262 r11052 67 67 maxshieldhealth = "50" 68 68 shieldabsorption = "0.8" 69 reloadrate= "100"70 reloadwaittime= "0.1"69 shieldrechargerate = "100" 70 shieldrechargewaittime = "0.1" 71 71 name = "Tanis1" 72 72 radarname = "Light Destroyer" > … … 197 197 maxshieldhealth = "200" 198 198 shieldabsorption = "0.8" 199 reloadrate= "1"200 reloadwaittime= "1"199 shieldrechargerate = "1" 200 shieldrechargewaittime = "1" 201 201 name = "Tanis0" 202 202 radarname = "Tanis big ship" > … … 216 216 maxshieldhealth = "50" 217 217 shieldabsorption = "0.8" 218 reloadrate= "1"219 reloadwaittime= "1"218 shieldrechargerate = "1" 219 shieldrechargewaittime = "1" 220 220 name = "Tanis0" 221 221 radarname = "Pirate1" > … … 239 239 maxshieldhealth = "50" 240 240 shieldabsorption = "0.8" 241 reloadrate= "1"242 reloadwaittime= "1"241 shieldrechargerate = "1" 242 shieldrechargewaittime = "1" 243 243 name = "Tanis0" 244 244 radarname = "Pirate2" > -
code/trunk/data/levels/HeavyCruiser.oxw
r9943 r11052 553 553 554 554 <Pawn team=1 health=1000 initialhealth=1000 maxhealth=1000 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=10000 name=HeavyCruiser_body radarname = "HeavyCruiser" > 555 <explosion> 556 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_sparks2" scale=2.5 /> 557 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flame2" scale=2.5 /> 558 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" scale=12 /> 559 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" scale=2.5 /> 560 561 <ExplosionPart offset="50,50,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_sparks2" scale=2.5 delay=0.3 /> 562 <ExplosionPart offset="50,50,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flame2" scale=2.5 delay=0.3 /> 563 <ExplosionPart offset="50,50,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" scale=12 delay=0.3 /> 564 <ExplosionPart offset="50,50,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" scale=2.5 delay=0.3 /> 565 566 <ExplosionPart offset="50,-50,-50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_sparks2" scale=2.5 delay=0.6 /> 567 <ExplosionPart offset="50,-50,-50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flame2" scale=2.5 delay=0.6 /> 568 <ExplosionPart offset="50,-50,-50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" scale=12 delay=0.6 /> 569 <ExplosionPart offset="50,-50,-50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" scale=2.5 delay=0.6 /> 570 571 <ExplosionPart offset="-50,0,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_sparks2" scale=2.5 delay=0.9 /> 572 <ExplosionPart offset="-50,0,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flame2" scale=2.5 delay=0.9 /> 573 <ExplosionPart offset="-50,0,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" scale=12 delay=0.9 /> 574 <ExplosionPart offset="-50,0,50" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" scale=2.5 delay=0.9 /> 575 </explosion> 555 576 <attached> 556 577 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_body.mesh" scale="40" /> … … 718 739 719 740 <Pawn team=1 health=300 initialhealth=300 maxhealth=300 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_sidearmL radarname = "HIDDEN" > 741 742 <explosion> 743 <ExplosionPart offset="-140,0,115" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 744 <ExplosionPart offset="-140,0,115" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 745 <ExplosionPart offset="-140,0,115" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 746 </explosion> 720 747 721 748 <attached> … … 758 785 759 786 <Pawn team=1 health=100 initialhealth=100 maxhealth=100 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_sidearmLfront radarname = "HIDDEN" > 787 788 <explosion> 789 <ExplosionPart offset="-141,15,-53" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 790 <ExplosionPart offset="-141,15,-53" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 791 <ExplosionPart offset="-141,15,-53" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 792 </explosion> 793 760 794 <attached> 761 795 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_sidearmLfront.mesh" scale="40" /> … … 772 806 773 807 <Pawn team=1 health=300 initialhealth=300 maxhealth=300 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_sidearmR radarname = "HIDDEN" > 808 <explosion> 809 <ExplosionPart offset="140,0,115" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 810 <ExplosionPart offset="140,0,115" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 811 <ExplosionPart offset="140,0,115" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 812 </explosion> 774 813 <attached> 775 814 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_sidearmR.mesh" scale="40" /> … … 811 850 812 851 <Pawn team=1 health=100 initialhealth=100 maxhealth=100 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=sidearmRfront radarname = "HIDDEN" > 852 <explosion> 853 <ExplosionPart offset="141,15,-53" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 854 <ExplosionPart offset="141,15,-53" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 855 <ExplosionPart offset="141,15,-53" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 856 </explosion> 813 857 <attached> 814 858 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_sidearmRfront.mesh" scale="40" /> … … 825 869 826 870 <Pawn team=1 health=100 initialhealth=100 maxhealth=100 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_frontL radarname = "HIDDEN" > 871 <explosion> 872 <ExplosionPart offset="-80,33,-320" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 873 <ExplosionPart offset="-80,33,-320" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 874 <ExplosionPart offset="-80,33,-320" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 875 </explosion> 827 876 <attached> 828 877 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_frontL.mesh" scale="40" /> … … 836 885 837 886 <Pawn team=1 health=100 initialhealth=100 maxhealth=100 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_frontR radarname = "HIDDEN" > 887 <explosion> 888 <ExplosionPart offset="80,33,-320" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 889 <ExplosionPart offset="80,33,-320" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 890 <ExplosionPart offset="80,33,-320" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 891 </explosion> 838 892 <attached> 839 893 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_frontR.mesh" scale="40" /> … … 847 901 848 902 <Pawn team=1 health=100 initialhealth=100 maxhealth=100 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_partL radarname = "HIDDEN" > 903 <explosion> 904 <ExplosionPart offset="-94,33,-179" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 905 <ExplosionPart offset="-94,33,-179" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 906 <ExplosionPart offset="-94,33,-179" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 907 </explosion> 849 908 <attached> 850 909 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_partL.mesh" scale="40" /> … … 858 917 859 918 <Pawn team=1 health=100 initialhealth=100 maxhealth=100 position="0,300,-2000" yaw="180" direction="0,0,0" collisionType=dynamic mass=1000 name=HeavyCruiser_partR radarname = "HIDDEN" > 919 <explosion> 920 <ExplosionPart offset="94,33,-179" minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 921 <ExplosionPart offset="94,33,-179" minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 922 <ExplosionPart offset="94,33,-179" minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 923 </explosion> 860 924 <attached> 861 925 <Model position="0,0,0" direction="-1,0,0" mesh="HeavyCruiser_partR.mesh" scale="40" /> -
code/trunk/data/levels/emptyLevel.oxw
r10629 r11052 13 13 14 14 <?lua 15 include("templates/spaceshipAssff2.oxt")16 include("templates/spaceshipPirate.oxt")17 15 include("templates/spaceshipEscort.oxt") 18 include("templates/spaceshipRing.oxt")19 include("templates/spaceshipSwallow.oxt")20 16 ?> 21 17 -
code/trunk/data/levels/iJohnVane_TriptoArea51.oxw
r10274 r11052 169 169 maxshieldhealth = "120" 170 170 shieldabsorption = "0.8" 171 reloadrate= "1"172 reloadwaittime= "1"171 shieldrechargerate = "1" 172 shieldrechargewaittime = "1" 173 173 name = "cruiser" 174 174 radarname = "Spacecruiser" > -
code/trunk/data/levels/iiiJohnVane_EscapeTheBastards.oxw
r9992 r11052 288 288 </WaypointController> 289 289 </controller> 290 <explosion > 291 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 292 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 293 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 294 </explosion> 290 295 </Pawn> 291 296 -
code/trunk/data/levels/includes/invaderWeapon.oxi
r9943 r11052 7 7 <WeaponSet firemode=1 /> 8 8 </weaponsets> 9 <weapon s>9 <weaponpacks> 10 10 <WeaponPack> 11 11 <links> … … 25 25 </links> 26 26 </WeaponPack> 27 </weapons> 27 </weaponpacks> 28 <munition> 29 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/> 30 </munition> -
code/trunk/data/levels/includes/invaderWeaponEnemy.oxi
r9943 r11052 7 7 <WeaponSet firemode=1 /> 8 8 </weaponsets> 9 <weapon s>9 <weaponpacks> 10 10 <WeaponPack> 11 11 <links> … … 25 25 </links> 26 26 </WeaponPack> 27 </weapons> 27 </weaponpacks> 28 <munition> 29 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/> 30 </munition> -
code/trunk/data/levels/includes/pickups.oxi
r9348 r11052 78 78 /> 79 79 80 <PickupRepresentation 81 name = "destroy" 82 pickupName = "Destroy Pickup" 83 pickupDescription = "Destroy all pickups you have." 84 spawnerTemplate = "destroypickupRepresentation" 85 inventoryRepresentation = "detroyPickup" 86 /> 87 88 <PickupRepresentation 89 name = "destroycarrier" 90 pickupName = "Destroy Carrier Pickup" 91 pickupDescription = "destroys you." 92 spawnerTemplate = "destroycarrierpickupRepresentation" 93 inventoryRepresentation = "destroyCarrierPickup" 94 /> 95 80 96 <!-- Speed pickups --> 81 97 … … 138 154 /> 139 155 156 <!-- Munition pickups --> 157 158 <PickupRepresentation 159 name = "smallmunitionpickup" 160 pickupName = "Small munition" 161 pickupDescription = "Gives a small amount of munition." 162 spawnerTemplate = "smallmunitionpickupRepresentation" 163 inventoryRepresentation = "SmallMunition" 164 /> 165 166 <PickupRepresentation 167 name = "mediummunitionpickup" 168 pickupName = "Medium munition" 169 pickupDescription = "Gives a medium amount of munition." 170 spawnerTemplate = "mediummunitionpickupRepresentation" 171 inventoryRepresentation = "MediumMunition" 172 /> 173 174 <PickupRepresentation 175 name = "hugemunitionpickup" 176 pickupName = "Huge munition" 177 pickupDescription = "Gives a huge amount of munition." 178 spawnerTemplate = "hugemunitionpickupRepresentation" 179 inventoryRepresentation = "HugeMunition" 180 /> 181 140 182 <!-- Pickup Collection pickups --> 141 183 … … 175 217 176 218 <PickupRepresentation 177 name = " largedamageboostpickup"178 pickupName = " Large DamageBoost Pickup"219 name = "hugedamageboostpickup" 220 pickupName = "Huge DamageBoost Pickup" 179 221 pickupDescription = "Multiplies the ship damage with 7." 180 spawnerTemplate = " largedamageboostpickupRepresentation"181 inventoryRepresentation = " LargeDamageBoost"222 spawnerTemplate = "hugedamageboostpickupRepresentation" 223 inventoryRepresentation = "HugeDamageBoost" 182 224 /> 183 225 … … 207 249 inventoryRepresentation = "HugeShrink" 208 250 /> 251 252 <!-- Boost Pickup --> 253 254 <PickupRepresentation 255 name = "smallboostpickup" 256 pickupName = "Small Boost" 257 pickupDescription = "Restores the boost by a bit" 258 spawnerTemplate = "smallboostpickupRepresentation" 259 inventoryRepresentation = "SmallBoost" 260 /> 261 262 <PickupRepresentation 263 name = "mediumboostpickup" 264 pickupName = "Medium Boost" 265 pickupDescription = "Restores the boost" 266 spawnerTemplate = "mediumboostpickupRepresentation" 267 inventoryRepresentation = "MediumBoost" 268 /> 269 270 <PickupRepresentation 271 name = "hugeboostpickup" 272 pickupName = "Huge Boost" 273 pickupDescription = "Restores the boost considerably" 274 spawnerTemplate = "hugeboostpickupRepresentation" 275 inventoryRepresentation = "HugeBoost" 276 /> -
code/trunk/data/levels/includes/weaponSettingsAssff.oxi
r10677 r11052 10 10 <WeaponSet firemode=3 /> 11 11 </weaponsets> 12 <weapon s>12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 24 24 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 /> 25 25 </attached> 26 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />27 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />26 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 27 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 28 28 <LightningGun mode=1 munitionpershot=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 29 29 </Weapon> … … 34 34 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 /> 35 35 </attached> 36 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />37 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />36 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 37 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 38 38 <LightningGun mode=1 munitionpershot=1 muzzleoffset="0,0,0" damage=23 /> 39 39 </Weapon> 40 40 <Weapon> 41 41 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 /> 42 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />42 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=8 /> 43 43 </Weapon> 44 44 </WeaponPack> 45 </weapons> 45 </weaponpacks> 46 <munition> 47 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=2 replenishinterval=7.5/> 48 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 49 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 50 </munition> -
code/trunk/data/levels/includes/weaponSettingsAssff2.oxi
r10677 r11052 9 9 <WeaponSet firemode=2 /> 10 10 <WeaponSet firemode=3 /> 11 </weaponsets> 12 <weapon s>11 </weaponsets> 12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 23 23 <BlinkingBillboard position="-1.9, -.5, -5.5" material="PE/lensflare" colour="0.128, 0.28, 1" amplitude=0.25 frequency=16 quadratic=0 /> 24 24 </attached> 25 <HsW01 mode=0 munitionpershot= 0delay=0.125 healthamage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6,1.3,-2.0" />26 <HsW01 mode=0 munitionpershot= 0delay=0 healthdamage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6,1.3,-2.0" />25 <HsW01 mode=0 munitionpershot=1 delay=0.125 healthamage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6,1.3,-2.0" /> 26 <HsW01 mode=0 munitionpershot=1 delay=0 healthdamage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6,1.3,-2.0" /> 27 27 <LightningGun mode=1 munitionpershot=1 muzzleoffset="0,0,0" shielddamage=23 /> 28 28 </Weapon> … … 32 32 <BlinkingBillboard position="1.9, -.5, -5.5" material="PE/lensflare" colour="0.128, 0.28, 1" amplitude=0.25 frequency=16 quadratic=0 /> 33 33 </attached> 34 <HsW01 mode=0 munitionpershot= 0delay=0 healthdamage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6,1.3,-2.0" />35 <HsW01 mode=0 munitionpershot= 0delay=0.125 healthdamage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1,1.6,-2.0" />34 <HsW01 mode=0 munitionpershot=1 delay=0 healthdamage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6,1.3,-2.0" /> 35 <HsW01 mode=0 munitionpershot=1 delay=0.125 healthdamage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1,1.6,-2.0" /> 36 36 <LightningGun mode=1 munitionpershot=1 muzzleoffset="0,0,0" shielddamage=23 /> 37 37 </Weapon> 38 38 <Weapon> 39 39 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=50 /> 40 <RocketFire mode=3 muzzleoffset="0,0,0" damage=100 />40 <RocketFire mode=3 muzzleoffset="0,0,0" damage=100 fuel=10 /> 41 41 </Weapon> 42 42 </WeaponPack> 43 </weapons> 43 </weaponpacks> 44 <munition> 45 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 46 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 47 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 48 </munition> -
code/trunk/data/levels/includes/weaponSettingsCollateral.oxi
r9664 r11052 10 10 <WeaponSet firemode=3 /> 11 11 </weaponsets> 12 <weapon s>12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 25 25 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="90" yaw="-90" position="-1.5, 1, -0.3" scale=0.6 /> <!-- MACHINE GUN --> 26 26 </attached> 27 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />28 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />29 <LightningGun mode=1 mu zzleoffset="0,0,0" damage=3.14159 shielddamage=20 />27 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 28 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 29 <LightningGun mode=1 munitionpershot=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 30 30 </Weapon> 31 31 … … 36 36 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="90" yaw="-90" position="1.8, 1, -0.3" scale=0.6 /> <!-- MACHINE GUN --> 37 37 </attached> 38 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />39 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />38 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 39 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 40 40 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 41 41 </Weapon> 42 42 <Weapon> 43 43 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 44 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />44 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 45 45 </Weapon> 46 46 </WeaponPack> 47 </weapons> 47 </weaponpacks> 48 <munition> 49 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 50 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 51 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 52 </munition> -
code/trunk/data/levels/includes/weaponSettingsEscort.oxi
r9763 r11052 7 7 <WeaponSet firemode=1 /> 8 8 </weaponsets> 9 <weapon s>9 <weaponpacks> 10 10 <WeaponPack> 11 11 <links> … … 14 14 </links> 15 15 <Weapon> 16 <HsW01 mode=0 munitionpershot=0 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" /> 17 <!--HsW01 mode=0 munitionpershot=0 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" projectileMesh="LaserBeam2.mesh" /--> 16 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" projectileMesh="LaserBeam2.mesh" /> 18 17 </Weapon> 19 18 <Weapon> 20 <HsW01 mode=0 munitionpershot=0 delay=0 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" /> 21 <!--HsW01 mode=0 munitionpershot=0 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" projectileMesh="LaserBeam2.mesh" /--> 19 <HsW01 mode=0 munitionpershot=1 delay=0 damage=9.3 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" projectileMesh="LaserBeam2.mesh" /> 22 20 </Weapon> 23 21 </WeaponPack> … … 27 25 </links> 28 26 </WeaponPack> 29 </weapons> 27 </weaponpacks> 28 <munition> 29 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 30 </munition> -
code/trunk/data/levels/includes/weaponSettingsFPS.oxi
r9348 r11052 11 11 <WeaponSet firemode=1 /> 12 12 </weaponsets> 13 <weapon s>13 <weaponpacks> 14 14 <WeaponPack firemode=0> 15 15 <links> … … 49 49 /--> 50 50 </WeaponPack> 51 </weapons> 51 </weaponpacks> 52 <munition> 53 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=7.5/> 54 <LightningMunition initialmagazines=2 maxmagazines=2 munitionpermagazine=8 /> 55 </munition> -
code/trunk/data/levels/includes/weaponSettingsFPS_HS14.oxi
r10262 r11052 11 11 <WeaponSet firemode=1 /> 12 12 </weaponsets> 13 <weapon s>13 <weaponpacks> 14 14 <WeaponPack firemode=0> 15 15 <links> … … 49 49 /--> 50 50 </WeaponPack> 51 </weapons> 51 </weaponpacks> 52 <munition> 53 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=5 replenishamount=1 replenishinterval=7.5/> 54 <LightningMunition initialmagazines=2 maxmagazines=2 munitionpermagazine=8 /> 55 </munition> -
code/trunk/data/levels/includes/weaponSettingsFS15.oxi
r10622 r11052 12 12 <WeaponSet firemode=4 /> 13 13 </weaponsets> 14 <weapon s>14 <weaponpacks> 15 15 <WeaponPack> 16 16 <links> … … 38 38 <GravityBombFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 39 39 <RocketFireOld mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 /> 40 <RocketFire mode=4 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />40 <RocketFire mode=4 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 41 41 </Weapon> 42 42 </WeaponPack> … … 49 49 </Weapon--> 50 50 </WeaponPack> 51 </weapons> 51 </weaponpacks> 52 <munition> 53 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 54 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 55 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 56 <GravityBombMunition initialmagazines=3 maxmagazines=3 munitionpermagazine=1 /> 57 </munition> -
code/trunk/data/levels/includes/weaponSettingsGhost.oxi
r8857 r11052 11 11 <WeaponSet firemode=2 /> 12 12 </weaponsets> 13 <weapon s>13 <weaponpacks> 14 14 <WeaponPack> 15 15 <links> … … 19 19 </links> 20 20 <Weapon> 21 <HsW01 mode=0 munitionpershot= 0healthdamage=3.14159 delay=0 material="Flares/point_lensflare" />22 <HsW01 mode=0 munitionpershot= 0healthdamage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />21 <HsW01 mode=0 munitionpershot=1 healthdamage=3.14159 delay=0 material="Flares/point_lensflare" /> 22 <HsW01 mode=0 munitionpershot=1 healthdamage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" /> 23 23 <LightningGun mode=1 muzzleoffset="0,0,0" damage=30 shielddamage=10 /> 24 24 </Weapon> 25 25 <Weapon> 26 <HsW01 mode=0 munitionpershot= 0damage=3.14159 delay=0 material="Flares/point_lensflare" />27 <HsW01 mode=0 munitionpershot= 0damage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />26 <HsW01 mode=0 munitionpershot=1 damage=3.14159 delay=0 material="Flares/point_lensflare" /> 27 <HsW01 mode=0 munitionpershot=1 damage=3.14159 delay=0.125 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" /> 28 28 <LightningGun mode=1 muzzleoffset="0,0,0" damage=30 shielddamage=10 /> 29 29 </Weapon> 30 30 <Weapon> 31 <SimpleRocketFire mode=2 mu zzleoffset="0,0,0" damage=50 />31 <SimpleRocketFire mode=2 munitionpershot=1 muzzleoffset="0,0,0" damage=50 /> 32 32 </Weapon> 33 33 <Weapon> 34 <SimpleRocketFire mode=2 mu zzleoffset="0,0,0" damage=50 delay=0.1 />34 <SimpleRocketFire mode=2 munitionpershot=1 muzzleoffset="0,0,0" damage=50 delay=0.1 /> 35 35 </Weapon> 36 36 </WeaponPack> 37 </weapons> 37 </weaponpacks> 38 <munition> 39 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 40 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 41 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 42 </munition> -
code/trunk/data/levels/includes/weaponSettingsH2.oxi
r7679 r11052 8 8 <WeaponSet firemode=1 /> 9 9 </weaponsets> 10 <weapon s>10 <weaponpacks> 11 11 <WeaponPack> 12 12 <links> … … 18 18 <Model mesh="hs-w01s.mesh" roll="180" position="0.1, 0.0, 0.0" scale=2 /> 19 19 </attached> 20 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9,-4" />21 <HsW01 mode=0 munitionpershot= 0delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9,-4" />20 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9,-4" /> 21 <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9,-4" /> 22 22 </Weapon> 23 23 <Weapon> … … 26 26 <Model mesh="hs-w01s.mesh" roll="180" position="-0.1, 0.0, 0.0" scale=2 /> 27 27 </attached> 28 <HsW01 mode=0 munitionpershot= 0delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9, -4.0" />29 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9, -4.0" />28 <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.8, 0.9, -4.0" /> 29 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.8, 0.9, -4.0" /> 30 30 </Weapon> 31 31 </WeaponPack> … … 42 42 </Weapon> 43 43 </WeaponPack> 44 </weapons> 44 </weaponpacks> 45 <munition> 46 <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 47 </munition> 45 48 -
code/trunk/data/levels/includes/weaponSettingsHXY.oxi
r8755 r11052 7 7 <WeaponSet firemode=1 /> 8 8 </weaponsets> 9 <weapon s>9 <weaponpacks> 10 10 <WeaponPack> 11 11 <links> … … 24 24 </Weapon> 25 25 </WeaponPack> 26 </weapons> 26 </weaponpacks> 27 <munition> 28 <LaserMunition initialmagazines=10 maxmagazines=10 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 29 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 30 </munition> -
code/trunk/data/levels/includes/weaponSettingsHeartAttack.oxi
r10622 r11052 11 11 <WeaponSet firemode=3 /> 12 12 </weaponsets> 13 <weapon s>13 <weaponpacks> 14 14 <WeaponPack> 15 15 <links> … … 20 20 </links> 21 21 <Weapon> 22 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" />23 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" />24 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" />25 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" />22 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" /> 23 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -11.4, 0, -5" /> 24 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" /> 25 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 11.4, 0, -5" /> 26 26 </Weapon> 27 27 <Weapon> 28 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" />29 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" />30 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" />31 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" />28 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" /> 29 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" -15, 1.6, -2" /> 30 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" /> 31 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 15, 1.6, -2" /> 32 32 </Weapon> 33 33 <Weapon> 34 <LaserFire mode=1 munitionpershot= 0muzzleoffset="2.2,6,16" damage=30 shielddamage=20 />35 <LaserFire mode=1 munitionpershot= 0muzzleoffset="-2.2,6,16" damage=30 shielddamage=20 />36 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />34 <LaserFire mode=1 munitionpershot=1 muzzleoffset="2.2,6,16" damage=30 shielddamage=20 /> 35 <LaserFire mode=1 munitionpershot=1 muzzleoffset="-2.2,6,16" damage=30 shielddamage=20 /> 36 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 37 37 <GravityBombFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 38 38 </Weapon> … … 40 40 </Weapon> 41 41 </WeaponPack> 42 <WeaponPack> 43 <links> 44 <DefaultWeaponmodeLink firemode=1 weaponmode=0 /> 45 </links> 46 <!--Weapon> 47 <EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" /> 48 </Weapon--> 49 </WeaponPack> 50 </weapons> 42 </weaponpacks> 43 <munition> 44 <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=6.0/> 45 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 46 <RocketMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=1 /> 47 <GravityBombMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 48 </munition> -
code/trunk/data/levels/includes/weaponSettingsHeavyCruiser.oxi
r9943 r11052 10 10 <WeaponSet firemode=3 /> 11 11 </weaponsets> 12 <weapon s>12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 24 24 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 /> 25 25 </attached> 26 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />27 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />26 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 27 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 28 28 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 29 29 </Weapon> … … 34 34 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,-10.3" scale=0.6 /> 35 35 </attached> 36 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />37 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />36 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 37 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 38 38 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 39 39 </Weapon> 40 40 <Weapon> 41 41 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 42 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />42 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 43 43 </Weapon> 44 44 </WeaponPack> 45 <WeaponPack> 46 <links> 47 <DefaultWeaponmodeLink firemode=1 weaponmode=0 /> 48 </links> 49 <!--Weapon> 50 <EnergyDrink mode=0 munitionpershot=0 delay=0 material="Flares/point_lensflare"muzzleoffset="2,-0.2,-1" /> 51 </Weapon--> 52 </WeaponPack> 53 </weapons> 45 </weaponpacks> 46 <munition> 47 <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=5.0/> 48 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 49 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 50 </munition> -
code/trunk/data/levels/includes/weaponSettingsHeavyCruiserBody.oxi
r9943 r11052 10 10 <WeaponSet firemode=3 /> 11 11 </weaponsets> 12 <weapon s>12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 21 21 <attached> 22 22 </attached> 23 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />24 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />23 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 24 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 25 25 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 26 26 </Weapon> … … 28 28 <attached> 29 29 </attached> 30 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />31 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />30 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 31 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 32 32 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 33 33 </Weapon> 34 34 <Weapon> 35 35 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 36 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />36 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 37 37 </Weapon> 38 38 </WeaponPack> … … 45 45 </Weapon--> 46 46 </WeaponPack> 47 </weapons> 47 </weaponpacks> 48 <munition> 49 <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.0/> 50 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 51 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 52 </munition> -
code/trunk/data/levels/includes/weaponSettingsImmTest.oxi
r8706 r11052 10 10 <WeaponSet firemode=3 /> 11 11 </weaponsets> 12 <weapon s>12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 44 44 <Weapon> 45 45 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" shielddamage=50 /> 46 <RocketFire mode=3 muzzleoffset="0,0,0" healthdamage=80 shielddamage=20 />46 <RocketFire mode=3 muzzleoffset="0,0,0" healthdamage=80 shielddamage=20 fuel=10 /> 47 47 </Weapon> 48 48 </WeaponPack> … … 55 55 </Weapon--> 56 56 </WeaponPack> 57 </weapons> 57 </weaponpacks> 58 <munition> 59 <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.0/> 60 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 61 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 62 </munition> -
code/trunk/data/levels/includes/weaponSettingsPirate.oxi
r7679 r11052 7 7 <WeaponSet firemode=1 /> 8 8 </weaponsets> 9 <weapon s>9 <weaponpacks> 10 10 <WeaponPack> 11 11 <links> … … 14 14 </links> 15 15 <Weapon> 16 <HsW01 mode=0 munitionpershot= 0delay=0 damage=2.5 material="Flares/point_lensflare" />17 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" />16 <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" /> 17 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset=" 0.5,0.6,1.7" /> 18 18 </Weapon> 19 19 <Weapon> 20 <HsW01 mode=0 munitionpershot= 0delay=0 damage=2.5 material="Flares/point_lensflare" />21 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" />20 <HsW01 mode=0 munitionpershot=1 delay=0 damage=2.5 material="Flares/point_lensflare" /> 21 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=2.5 material="Flares/point_lensflare" muzzleoffset="-0.5,0.6,1.7" /> 22 22 </Weapon> 23 23 </WeaponPack> 24 </weapons> 24 </weaponpacks> 25 <munition> 26 <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.0/> 27 </munition> -
code/trunk/data/levels/includes/weaponSettingsRing.oxi
r10650 r11052 1 <weaponslots> 2 <WeaponSlot position="11,0,-7" /> 3 <WeaponSlot position="0,0,-7" /> 4 <WeaponSlot position="-11,0,-7" /> 5 </weaponslots> 6 <weaponsets> 7 <WeaponSet firemode=0 /> 8 <WeaponSet firemode=1 /> 9 </weaponsets> 10 <weapons> 11 <WeaponPack> 12 <links> 13 <DefaultWeaponmodeLink firemode=0 weaponmode=0 /> 14 <DefaultWeaponmodeLink firemode=1 weaponmode=1 /> 15 </links> 16 <Weapon> 17 <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 /> 18 </Weapon> 19 <Weapon> 20 <IceGun mode=0 munitionpershot=0 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 /> 21 </Weapon> 22 <Weapon> 23 <GravityBombFire mode=1 munitionpershot=0 delay=0.125 damage=3 muzzleoffset="0,0,-7"/> 24 </Weapon> 25 </WeaponPack> 26 </weapons> 1 <weaponslots> 2 <WeaponSlot position="11,0,-7" /> 3 <WeaponSlot position="-11,0,-7" /> 4 <WeaponSlot position="0,0,-7" /> 5 </weaponslots> 6 <weaponsets> 7 <WeaponSet firemode=0 /> 8 <WeaponSet firemode=1 /> 9 <WeaponSet firemode=2 /> 10 </weaponsets> 11 <weaponpacks> 12 <WeaponPack> 13 <links> 14 <DefaultWeaponmodeLink firemode=0 weaponmode=0 /> 15 <DefaultWeaponmodeLink firemode=1 weaponmode=1 /> 16 <DefaultWeaponmodeLink firemode=2 weaponmode=2 /> 17 </links> 18 <Weapon> 19 <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 /> 20 <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset="11,0,-3" freezefactor=0.5 freezetime=2.0 /> 21 </Weapon> 22 <Weapon> 23 <LaserFire mode=0 munitionpershot=1 damage=10 shielddamage=5 /> 24 <IceGun mode=1 munitionpershot=1 delay=0.125 damage=9.3 muzzleoffset=" -11,0,-3" freezefactor=0.5 freezetime=2.0 /> 25 </Weapon> 26 <Weapon> 27 <GravityBombFire mode=2 munitionpershot=1 delay=0.125 damage=3 muzzleoffset="0,0,-7"/> 28 </Weapon> 29 </WeaponPack> 30 </weaponpacks> 31 <munition> 32 <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 33 <GravityBombMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=1 /> 34 <IceMunition initialmagazines=16 maxmagazines=16 munitionpermagazine=1 /> 35 </munition> -
code/trunk/data/levels/includes/weaponSettingsSpacecruiser.oxi
r9348 r11052 14 14 <WeaponSet firemode=3 /> 15 15 </weaponsets> 16 <weapon s>16 <weaponpacks> 17 17 <WeaponPack> 18 18 <links> … … 28 28 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 /> 29 29 </attached> 30 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />31 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />30 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 31 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 32 32 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 33 33 </Weapon> … … 38 38 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 /> 39 39 </attached> 40 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />41 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />40 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 41 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 42 42 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 43 43 </Weapon> 44 44 <Weapon> 45 45 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 46 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />46 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 47 47 </Weapon> 48 48 <Weapon> … … 52 52 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 /> 53 53 </attached> 54 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />55 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />54 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 55 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 56 56 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 57 57 </Weapon> … … 62 62 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 /> 63 63 </attached> 64 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />65 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />64 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 65 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 66 66 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 67 67 </Weapon> … … 72 72 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-76" yaw="-90" position="-1.5,1,0.3" scale=0.6 /> 73 73 </attached> 74 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />75 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />74 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 75 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 76 76 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 77 77 </Weapon> … … 82 82 <Model mesh="hs-w01_reduced.mesh" roll="90" pitch="-104" yaw="-90" position="0,1.3,0.3" scale=0.6 /> 83 83 </attached> 84 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />85 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />84 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 85 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 86 86 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 87 87 </Weapon> 88 88 </WeaponPack> 89 </weapons> 89 </weaponpacks> 90 <munition> 91 <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 92 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 93 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 94 </munition> -
code/trunk/data/levels/includes/weaponSettingsSwallow.oxi
r10629 r11052 2 2 <WeaponSlot position=" 8,1.66,-17.5" /> 3 3 <WeaponSlot position="-8,1.66,-17.5" /> 4 <WeaponSlot position="0,1.66,-17.5" /> 4 5 </weaponslots> 5 6 <weaponsets> … … 7 8 <WeaponSet firemode=1 /> 8 9 </weaponsets> 9 <weapon s>10 <weaponpacks> 10 11 <WeaponPack> 11 12 <links> … … 14 15 </links> 15 16 <Weapon> 16 <SplitGun mode=0 munitionpershot=0 damage=6.0 muzzleoffset="0.5,0.6,1.7" splittime=0.2 numberofsplits=2 numberofchilds=3 spread=0.1 damagereduction=2.0 /> 17 <SplitGun mode=0 munitionpershot=1 damage=6.0 muzzleoffset="0.5,0.6,1.7" splittime=0.2 numberofsplits=2 numberofchilds=3 spread=0.1 damagereduction=2.0 /> 18 <LaserFire mode=1 munitionpershot=1 damage=10.0 muzzleoffset="0.5,0.6,1.7" /> 17 19 </Weapon> 18 20 <Weapon> 19 <SplitGun mode=0 munitionpershot=0 damage=6.0 muzzleoffset="-0.5,0.6,1.7" splittime=0.2 numberofsplits=2 numberofchilds=3 spread=0.1 damagereduction=2.0 /> 20 </Weapon> 21 <SplitGun mode=0 munitionpershot=1 damage=6.0 muzzleoffset="-0.5,0.6,1.7" splittime=0.2 numberofsplits=2 numberofchilds=3 spread=0.1 damagereduction=2.0 /> 22 <LaserFire mode=1 munitionpershot=1 damage=10.0 muzzleoffset="-0.5,0.6,1.7" /> 23 </Weapon> 21 24 </WeaponPack> 22 </weapons> 25 </weaponpacks> 26 <munition> 27 <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 28 <SplitMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 29 </munition> -
code/trunk/data/levels/includes/weaponSettingsTransporter.oxi
r8891 r11052 7 7 <WeaponSet firemode=1 /> 8 8 </weaponsets> 9 <weapon s>9 <weaponpacks> 10 10 <WeaponPack> 11 11 <links> … … 14 14 </links> 15 15 <Weapon> 16 <HsW01 mode=0 munitionpershot= 0delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />17 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />16 <HsW01 mode=0 munitionpershot=1 delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 17 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 18 18 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 19 19 </Weapon> 20 20 <Weapon> 21 <HsW01 mode=0 munitionpershot= 0delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />22 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />21 <HsW01 mode=0 munitionpershot=1 delay=0.1 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 22 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 23 23 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 24 24 </Weapon> 25 25 </WeaponPack> 26 </weapons> 26 </weaponpacks> 27 <munition> 28 <LaserMunition initialmagazines=20 maxmagazines=20 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 29 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 30 </munition> -
code/trunk/data/levels/includes/weaponSettingsTurret.oxi
r10216 r11052 5 5 <WeaponSet firemode=0 /> 6 6 </weaponsets> 7 <weapon s>7 <weaponpacks> 8 8 <WeaponPack> 9 9 <links> … … 20 20 </Weapon> 21 21 </WeaponPack> 22 </weapons> 22 </weaponpacks> 23 <munition> 24 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 25 </munition> -
code/trunk/data/levels/includes/weaponSettingsTurret1.oxi
r10262 r11052 5 5 <WeaponSet firemode=0 /> 6 6 </weaponsets> 7 <weapon s>7 <weaponpacks> 8 8 <WeaponPack> 9 9 <links> … … 20 20 </Weapon> 21 21 </WeaponPack> 22 </weapons> 22 </weaponpacks> 23 <munition> 24 <LaserMunition initialmagazines=8 maxmagazines=8 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 25 </munition> -
code/trunk/data/levels/includes/weaponSettingsbigship.oxi
r9664 r11052 10 10 <WeaponSet firemode=3 /> 11 11 </weaponsets> 12 <weapon s>12 <weaponpacks> 13 13 <WeaponPack> 14 14 <links> … … 21 21 <attached> 22 22 </attached> 23 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" />24 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" />23 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 0.1, 1.6,-2" /> 24 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-1.6, 1.3,-2" /> 25 25 <LightningGun mode=1 muzzleoffset="0,0,0" damage=3.14159 shielddamage=20 /> 26 26 </Weapon> … … 29 29 30 30 </attached> 31 <HsW01 mode=0 munitionpershot= 0delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" />32 <HsW01 mode=0 munitionpershot= 0delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" />31 <HsW01 mode=0 munitionpershot=1 delay=0 damage=3.14159 material="Flares/point_lensflare" muzzleoffset=" 1.6, 1.3, -2.0" /> 32 <HsW01 mode=0 munitionpershot=1 delay=0.125 damage=3.14159 material="Flares/point_lensflare" muzzleoffset="-0.1, 1.6, -2.0" /> 33 33 <LightningGun mode=1 muzzleoffset="0,0,0" damage=23 /> 34 34 </Weapon> 35 35 <Weapon> 36 36 <SimpleRocketFire mode=2 muzzleoffset="0,0,0" damage=30 shielddamage=20 /> 37 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 />37 <RocketFire mode=3 muzzleoffset="0,0,0" damage=30 healthdamage=50 shielddamage=20 fuel=10 /> 38 38 </Weapon> 39 39 </WeaponPack> … … 46 46 </Weapon--> 47 47 </WeaponPack> 48 </weapons> 48 </weaponpacks> 49 <munition> 50 <LaserMunition initialmagazines=12 maxmagazines=12 munitionpermagazine=10 replenishamount=1 replenishinterval=7.5/> 51 <LightningMunition initialmagazines=4 maxmagazines=4 munitionpermagazine=8 /> 52 <RocketMunition initialmagazines=5 maxmagazines=5 munitionpermagazine=1 /> 53 </munition> -
code/trunk/data/levels/kecks.oxw
r10262 r11052 348 348 349 349 350 <Pawn health=20 position="0, 112900, 0" direction="0,-1,0" name="boxDestroyed" collisionType=dynamic mass=100000 radarname = "Gravitation Box" >350 <Pawn health=20 position="0, 112900, 0" direction="0,-1,0" name="boxDestroyed" collisionType=dynamic mass=100000 radarname = "Gravitation Box" explosionchunks=0 > 351 351 <attached> 352 352 <Model position="0,0,0" scale="10" mesh="CuboidBody.mesh" /> … … 359 359 </WaypointController> 360 360 </controller> 361 <explosion > 362 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 363 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 364 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 365 </explosion> 361 366 </Pawn> 362 367 -
code/trunk/data/levels/missionOne.oxw
r9985 r11052 526 526 </WaypointController> 527 527 </controller> 528 <explosion > 529 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 530 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 531 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 532 </explosion> 528 533 </Pawn> 529 534 … … 544 549 </WaypointController> 545 550 </controller> 551 <explosion > 552 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 553 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 554 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 555 </explosion> 546 556 </Pawn> 547 557 … … 562 572 <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" /> 563 573 </collisionShapes> 574 <explosion > 575 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 576 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 577 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 578 </explosion> 564 579 </Pawn> 565 580 … … 580 595 </WaypointController> 581 596 </controller> 597 <explosion > 598 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 599 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 600 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 601 </explosion> 582 602 </Pawn> 583 603 … … 1080 1100 maxshieldhealth = "120" 1081 1101 shieldabsorption = "0.8" 1082 reloadrate= "1"1083 reloadwaittime= "1"1102 shieldrechargerate = "1" 1103 shieldrechargewaittime = "1" 1084 1104 name = "cruiser" 1085 1105 radarname = "Spacecruiser" > … … 1659 1679 1660 1680 <!-- @Triggers: HACK. The attacktrigger6 Event is created, but does not trigger the Script. 1661 (WTF?) TODO: looks like a BUG 1681 (WTF?) TODO: looks like a BUG 1662 1682 Thus a distanceTrigger is created, that gets enabled, when the inner trigger gets activated. 1663 1683 Due to the large radius it is likely that it actually gets triggered. 1664 1684 --> 1665 1685 1666 <DistanceTrigger name="testDistanceTrigger" position="0,0,0" distance=10000 target=" SpaceShip" stayActive="true" delay=37.0>1686 <DistanceTrigger name="testDistanceTrigger" position="0,0,0" distance=10000 target="Pawn" stayActive="true" delay=37.0> 1667 1687 <EventTrigger name="testEventTrigger" activations="1" stayactive="true" delay=0.1> 1668 1688 <events> -
code/trunk/data/levels/notifications.oxw
r9348 r11052 19 19 <?lua include("includes/notifications.oxi") ?> 20 20 21 <NotificationQueueCEGUI 22 name="narrative" 23 targets="simpleNotification,commandNotification" 24 size=3 25 displayTime=3.9 26 position="0.2, 0, 0.1, 0" 27 fontSize="23" 28 fontColor="0.3, 1, 0.2, 0.8" 29 alignment="HorzCentred" 30 displaySize="0.6, 0, 0, 0" 31 /> 32 21 33 <Scene 22 34 ambientlight = "0.5, 0.5, 0.5" … … 25 37 26 38 <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" /> 39 <SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /> 27 40 28 <CommandNotification preMessage="Open the PickupInventory by pressing '" postMessage="'." command="OrxonoxOverlay toggleVisibilityPickupInventory">41 <CommandNotification preMessage="Open the PickupInventory by pressing '" postMessage="'." command="OrxonoxOverlay show PickupInventory"> 29 42 <events> 30 43 <trigger> … … 44 57 <Billboard position="0,0,100" colour="1.0,0,1.0" material="Examples/Flare" /> 45 58 46 <?lua47 for i = 1, 10, 1 do48 ?>49 <SpawnPoint position="<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>,<?lua print(math.random() * 1000 - 500) ?>" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff />50 <?lua end ?>51 52 59 </Scene> 53 60 </Level> -
code/trunk/data/levels/pickups.oxw
r9939 r11052 36 36 <SpawnPoint position="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipassff /> 37 37 38 <!-- Boost pickup --> 39 40 <PickupSpawner pickup=smallboostpickup position="-25,-125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 41 <PickupSpawner pickup=mediumboostpickup position="0,-125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 42 <PickupSpawner pickup=hugeboostpickup position="25,-125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 43 44 <!-- DamageBoost pickup --> 45 46 <PickupSpawner pickup=smalldamageboostpickup position="-25,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 47 <PickupSpawner pickup=mediumdamageboostpickup position="0,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 48 <PickupSpawner pickup=hugedamageboostpickup position="25,-100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 49 50 <!-- Munition pickups --> 51 52 <PickupSpawner pickup=smallmunitionpickup position="-25,-75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" /> 53 <PickupSpawner pickup=mediummunitionpickup position="0,-75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" /> 54 <PickupSpawner pickup=hugemunitionpickup position="25,-75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" /> 55 56 <!-- Shrink pickup --> 57 58 <PickupSpawner pickup=smallshrinkpickup position="-25,-50,-125" triggerDistance="20" respawnTime="60" maxSpawnedItems="5" /> 59 <PickupSpawner pickup=mediumshrinkpickup position="0,-50,-125" triggerDistance="20" respawnTime="60" maxSpawnedItems="5" /> 60 <PickupSpawner pickup=hugeshrinkpickup position="25,-50,-125" triggerDistance="20" respawnTime="60" maxSpawnedItems="5" /> 61 38 62 <!-- Shield pickups --> 39 63 … … 63 87 64 88 <!-- Meta pickups --> 65 66 <Template name=usemetapickup baseclass=MetaPickup>67 <MetaPickup representation="use" metaType="use" />68 </Template>69 70 <Template name=dropmetapickup baseclass=MetaPickup>71 <MetaPickup representation="drop" metaType="drop" />72 </Template>73 74 <Template name=destroymetapickup baseclass=MetaPickup>75 <MetaPickup metaType="destroy" />76 </Template>77 78 <Template name=destroycarriermetapickup baseclass=MetaPickup>79 <MetaPickup metaType="destroyCarrier" />80 </Template>81 89 82 90 <PickupSpawner pickup=usemetapickup position="-25,75,-125" triggerDistance="10" respawnTime="5" maxSpawnedItems="10" /> … … 91 99 <!-- Drone pickup --> 92 100 93 <PickupSpawner pickup=dronepickup position="-50,50,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 94 95 <!-- DamageBoost pickup --> 96 97 <PickupSpawner pickup=smalldamageboostpickup position="-50,75,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 98 <PickupSpawner pickup=mediumdamageboostpickup position="-50,100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 99 <PickupSpawner pickup=largedamageboostpickup position="-50,125,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 101 <PickupSpawner pickup=dronepickup position="-25,100,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10" /> 100 102 101 103 <!-- Other pickups --> … … 103 105 <!-- PickupRepresentation for the pickup below, since it is not a standard pickup provided by pickups.oxi --> 104 106 <PickupRepresentation 105 name = " MediumHealth"106 pickupName = " MediumHealth Pack"107 pickupDescription = " Once usedadds a medium amout of health to the ship."107 name = "ContinousHealth" 108 pickupName = "Continous Health Pack" 109 pickupDescription = "While useing adds a medium amout of health to the ship." 108 110 spawnerTemplate = "mediumhealthpickupRepresentation" 109 111 inventoryRepresentation = "MediumHealth" … … 111 113 112 114 <Template name=continuoushealthpickup baseclass=HealthPickup> 113 <HealthPickup representation=" MediumHealth" health=500 activationType=immediate healthRate=10 durationType=continuous />115 <HealthPickup representation="ContinousHealth" health=500 activationType=immediate healthRate=10 durationType=continuous /> 114 116 </Template> 115 117 116 118 <PickupSpawner pickup=continuoushealthpickup position="-50,0,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" /> 117 118 <PickupSpawner pickup="smallshrinkpickup" position="-25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />119 <PickupSpawner pickup="mediumshrinkpickup" position="0,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />120 <PickupSpawner pickup="hugeshrinkpickup" position="25,-50,-125" respawnTime="60" triggerDistance="20" maxSpawnedItems="5" />121 119 122 120 <!-- @Objects: 4 boxes (uncontrolled pawns) --> … … 177 175 </Pawn> 178 176 179 <!--StaticEntity position="0,-200,0" direction="0,-1,0" collisionType=static mass=500 friction=0.01 >180 <attached>181 <Model position="0,0,0" mesh="cube.mesh" scale3D="10,10,10" />182 </attached>183 <collisionShapes>184 <BoxCollisionShape position="0,0,0" halfExtents="10,10,10" />185 </collisionShapes>186 </StaticEntity-->187 188 177 </Scene> 189 178 </Level> -
code/trunk/data/levels/presentationHS13.oxw
r10258 r11052 162 162 maxshieldhealth = "120" 163 163 shieldabsorption = "0.8" 164 reloadrate= "1"165 reloadwaittime= "1"164 shieldrechargerate = "1" 165 shieldrechargewaittime = "1" 166 166 name = "Tanis1" 167 167 radarname = "Tanis Cruiser" > -
code/trunk/data/levels/shieldTest.oxw
r9016 r11052 43 43 shieldabsorption= 1 44 44 45 reloadrate= "10"46 reloadwaittime= 145 shieldrechargerate = "10" 46 shieldrechargewaittime = 1 47 47 48 48 > -
code/trunk/data/levels/templates/FPS.oxt
r10258 r11052 24 24 <BoxCollisionShape position="0,-25,0" halfExtents="15,20,15" /> 25 25 </collisionShapes> 26 <explosion > 27 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 28 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 29 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 30 </explosion> 26 31 27 32 <camerapositions> -
code/trunk/data/levels/templates/FPS_HS14.oxt
r10262 r11052 29 29 <CameraPosition position="-1,1,2.2" drag=false mouselook=true /> 30 30 </camerapositions> 31 <explosion > 32 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 33 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 34 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 35 </explosion> 31 36 32 37 <?lua -
code/trunk/data/levels/templates/HeavyCruiser.oxt
r10216 r11052 19 19 maxshieldhealth = 50 20 20 shieldabsorption = 0.8 21 reloadrate= 122 reloadwaittime= 121 shieldrechargerate = 1 22 shieldrechargewaittime = 1 23 23 24 24 primaryThrust = 300 … … 383 383 <BoxCollisionShape position="11,18,58" halfExtents="10,10,10" info="HOOK, frontR"/> --> 384 384 </collisionShapes> 385 <explosion > 386 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 387 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 388 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 389 </explosion> 385 390 <?lua 386 391 include("../includes/weaponSettingsHeavyCruiser.oxi") -
code/trunk/data/levels/templates/HeavyCruiserBody.oxt
r9943 r11052 17 17 maxshieldhealth = 500 18 18 shieldabsorption = 0.8 19 reloadrate= 120 reloadwaittime= 119 shieldrechargerate = 1 20 shieldrechargewaittime = 1 21 21 22 22 primaryThrust = 300 … … 210 210 <BoxCollisionShape position="11,18,58" halfExtents="10,10,10" info="frontR, HOOK"/> --> 211 211 </collisionShapes> 212 <explosion > 213 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 214 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 215 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 216 </explosion> 212 217 <?lua 213 218 include("../includes/weaponSettingsHeavyCruiserBody.oxi") -
code/trunk/data/levels/templates/ModularSpaceShipTest.oxt
r10262 r11052 15 15 maxshieldhealth = 50 16 16 shieldabsorption = 0.8 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 100 … … 116 116 <BoxCollisionShape position="0,0,0" halfExtents="30,30,30" /> 117 117 </collisionShapes> 118 119 <explosion > 120 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 121 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 122 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 123 </explosion> 118 124 <?lua 119 125 include("../includes/weaponSettingsAssff.oxi") -
code/trunk/data/levels/templates/bigship.oxt
r9664 r11052 15 15 maxshieldhealth = 50 16 16 shieldabsorption = 0.8 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 30 … … 83 83 84 84 </collisionShapes> 85 86 <explosion > 87 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 88 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 89 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 90 91 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 92 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 93 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 94 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 95 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 96 </explosion> 85 97 <?lua 86 98 include("../includes/weaponSettingsbigship.oxi") -
code/trunk/data/levels/templates/enemyInvader.oxt
r9954 r11052 15 15 maxshieldhealth = 10 16 16 shieldabsorption = 0.9 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 150 … … 55 55 <BoxCollisionShape position="0, 0,-12" halfExtents="4 , 4 ,7" /> 56 56 </collisionShapes> 57 <explosion > 58 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 59 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 60 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 61 62 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 63 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 64 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 65 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 66 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 67 </explosion> 57 68 <?lua 58 69 include("../includes/invaderWeapon.oxi") … … 77 88 maxshieldhealth = 20 78 89 shieldabsorption = 0.9 79 reloadrate= 180 reloadwaittime= 190 shieldrechargerate = 1 91 shieldrechargewaittime = 1 81 92 82 93 primaryThrust = 150 -
code/trunk/data/levels/templates/pickupRepresentationTemplates.oxt
r9348 r11052 1 <!-- Boost pickups: --> 2 3 <Template name=smallboostpickupRepresentation> 4 <PickupRepresentation> 5 <spawner-representation> 6 <StaticEntity> 7 <attached> 8 <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Sphere2" scale=0.1> 9 <attached> 10 <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Flash" scale=0.3 /> 11 </attached> 12 </Billboard> 13 </attached> 14 </StaticEntity> 15 </spawner-representation> 16 </PickupRepresentation> 17 </Template> 18 19 <Template name=smallboostpickup baseclass=BoostPickup> 20 <BoostPickup 21 representation = "smallboostpickup" 22 boostrefill = 0.5 23 activationType = "immediate" 24 durationType = "once" 25 /> 26 </Template> 27 28 <Template name=mediumboostpickupRepresentation> 29 <PickupRepresentation> 30 <spawner-representation> 31 <StaticEntity> 32 <attached> 33 <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Sphere2" scale=0.1> 34 <attached> 35 <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Flash" scale=0.5 /> 36 </attached> 37 </Billboard> 38 </attached> 39 </StaticEntity> 40 </spawner-representation> 41 </PickupRepresentation> 42 </Template> 43 44 <Template name=mediumboostpickup baseclass=BoostPickup> 45 <BoostPickup 46 representation = "mediumboostpickup" 47 boostrefill = 0.75 48 activationType = "immediate" 49 durationType = "once" 50 /> 51 </Template> 52 53 <Template name=hugeboostpickupRepresentation> 54 <PickupRepresentation> 55 <spawner-representation> 56 <StaticEntity> 57 <attached> 58 <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Sphere2" scale=0.1> 59 <attached> 60 <Billboard position="0,0,0" colour="0.0,1.0,0.8" material="Flash" scale=0.7 /> 61 </attached> 62 </Billboard> 63 </attached> 64 </StaticEntity> 65 </spawner-representation> 66 </PickupRepresentation> 67 </Template> 68 69 <Template name=hugeboostpickup baseclass=BoostPickup> 70 <BoostPickup 71 representation = "hugeboostpickup" 72 boostrefill = 1.0 73 activationType = "immediate" 74 durationType = "once" 75 /> 76 </Template> 77 1 78 <!-- Shield pickups: --> 2 79 … … 189 266 </Template> 190 267 268 <!-- Munition pickups: --> 269 270 <Template name=smallmunitionpickupRepresentation> 271 <PickupRepresentation> 272 <spawner-representation> 273 <StaticEntity> 274 <attached> 275 <Billboard position="0,0,0" colour="0.59,0.30,0.16" material="Sphere2" scale=0.1> 276 <attached> 277 <Billboard position="0,0,0" colour="0.47,0.24,0.13" material="Munition" scale=0.3 /> 278 </attached> 279 </Billboard> 280 </attached> 281 </StaticEntity> 282 </spawner-representation> 283 </PickupRepresentation> 284 </Template> 285 286 <Template name=smallmunitionpickup baseclass=MunitionPickup> 287 <MunitionPickup 288 representation = "smallmunitionpickup" 289 activationType = "immediate" 290 durationType = "once" 291 > 292 <munitioncontainers> 293 <MunitionContainer munitiontype="LaserMunition" munitionamount=16 magazinesamount=0 /> 294 <MunitionContainer munitiontype="FusionMunition" munitionamount=8 magazinesamount=0 /> 295 <MunitionContainer munitiontype="LightningMunition" munitionamount=8 magazinesamount=0 /> 296 </munitioncontainers> 297 </MunitionPickup> 298 </Template> 299 300 <Template name=mediummunitionpickupRepresentation> 301 <PickupRepresentation> 302 <spawner-representation> 303 <StaticEntity> 304 <attached> 305 <Billboard position="0,0,0" colour="0.59,0.30,0.16" material="Sphere2" scale=0.1> 306 <attached> 307 <Billboard position="0,0,0" colour="0.47,0.24,0.13" material="Munition" scale=0.5 /> 308 </attached> 309 </Billboard> 310 </attached> 311 </StaticEntity> 312 </spawner-representation> 313 </PickupRepresentation> 314 </Template> 315 316 <Template name=mediummunitionpickup baseclass=MunitionPickup> 317 <MunitionPickup 318 representation = "mediummunitionpickup" 319 activationType = "immediate" 320 durationType = "once" 321 > 322 <munitioncontainers> 323 <MunitionContainer munitiontype="LaserMunition" munitionamount=32 magazinesamount=0 /> 324 <MunitionContainer munitiontype="FusionMunition" munitionamount=16 magazinesamount=0 /> 325 <MunitionContainer munitiontype="LightningMunition" munitionamount=16 magazinesamount=0 /> 326 <MunitionContainer munitiontype="SplitMunition" munitionamount=8 magazinesamount=0 /> 327 <MunitionContainer munitiontype="RocketMunition" munitionamount=0 magazinesamount=2 /> 328 <MunitionContainer munitiontype="MineMunition" munitionamount=0 magazinesamount=2 /> 329 </munitioncontainers> 330 </MunitionPickup> 331 </Template> 332 333 <Template name=hugemunitionpickupRepresentation> 334 <PickupRepresentation> 335 <spawner-representation> 336 <StaticEntity> 337 <attached> 338 <Billboard position="0,0,0" colour="0.59,0.30,0.16" material="Sphere2" scale=0.1> 339 <attached> 340 <Billboard position="0,0,0" colour="0.47,0.24,0.13" material="Munition" scale=0.7 /> 341 </attached> 342 </Billboard> 343 </attached> 344 </StaticEntity> 345 </spawner-representation> 346 </PickupRepresentation> 347 </Template> 348 349 <Template name=hugemunitionpickup baseclass=MunitionPickup> 350 <MunitionPickup 351 representation = "hugemunitionpickup" 352 activationType = "immediate" 353 durationType = "once" 354 > 355 <munitioncontainers> 356 <MunitionContainer munitiontype="LaserMunition" munitionamount=64 magazinesamount=0 /> 357 <MunitionContainer munitiontype="FusionMunition" munitionamount=32 magazinesamount=0 /> 358 <MunitionContainer munitiontype="LightningMunition" munitionamount=32 magazinesamount=0 /> 359 <MunitionContainer munitiontype="SplitMunition" munitionamount=16 magazinesamount=0 /> 360 <MunitionContainer munitiontype="RocketMunition" munitionamount=0 magazinesamount=10 /> 361 <MunitionContainer munitiontype="IceMunition" munitionamount=0 magazinesamount=10 /> 362 <MunitionContainer munitiontype="GravityBombMunition" munitionamount=0 magazinesamount=10 /> 363 <MunitionContainer munitiontype="MineMunition" munitionamount=0 magazinesamount=10 /> 364 </munitioncontainers> 365 </MunitionPickup> 366 </Template> 367 191 368 <!-- Meta pickups: --> 192 369 … … 196 373 <StaticEntity> 197 374 <attached> 198 <Billboard position="0,0,0" colour="0.60,0.97,0.23" material="Sphere2" scale=0.1> 199 <attached> 200 <Billboard position="0,0,0" colour="0.40,0.81,0.10" material="Arrow" scale=0.65 /> 201 </attached> 202 </Billboard> 203 </attached> 204 </StaticEntity> 205 </spawner-representation> 206 </PickupRepresentation> 375 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Sphere2" scale=0.1> 376 <attached> 377 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="ArrowUp" scale=0.65 /> 378 </attached> 379 </Billboard> 380 </attached> 381 </StaticEntity> 382 </spawner-representation> 383 </PickupRepresentation> 384 </Template> 385 386 <Template name=usemetapickup baseclass=MetaPickup> 387 <MetaPickup representation="use" metaType="use" /> 207 388 </Template> 208 389 … … 212 393 <StaticEntity> 213 394 <attached> 214 <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1> 215 <attached> 216 <Billboard position="0,0,0" colour="0.95,0.20,0.10" material="Arrow" scale=0.65 /> 217 </attached> 218 </Billboard> 219 </attached> 220 </StaticEntity> 221 </spawner-representation> 222 </PickupRepresentation> 395 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Sphere2" scale=0.1> 396 <attached> 397 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="ArrowDown" scale=0.65 /> 398 </attached> 399 </Billboard> 400 </attached> 401 </StaticEntity> 402 </spawner-representation> 403 </PickupRepresentation> 404 </Template> 405 406 <Template name=dropmetapickup baseclass=MetaPickup> 407 <MetaPickup representation="drop" metaType="drop" /> 408 </Template> 409 410 <Template name=destroypickupRepresentation> 411 <PickupRepresentation> 412 <spawner-representation> 413 <StaticEntity> 414 <attached> 415 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Sphere2" scale=0.1> 416 <attached> 417 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Splash" scale=0.65 /> 418 </attached> 419 </Billboard> 420 </attached> 421 </StaticEntity> 422 </spawner-representation> 423 </PickupRepresentation> 424 </Template> 425 426 <Template name=destroymetapickup baseclass=MetaPickup> 427 <MetaPickup representation="destroy" metaType="destroy" /> 428 </Template> 429 430 <Template name=destroycarrierpickupRepresentation> 431 <PickupRepresentation> 432 <spawner-representation> 433 <StaticEntity> 434 <attached> 435 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Sphere2" scale=0.1> 436 <attached> 437 <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Asterisk" scale=0.65 /> 438 </attached> 439 </Billboard> 440 </attached> 441 </StaticEntity> 442 </spawner-representation> 443 </PickupRepresentation> 444 </Template> 445 446 <Template name=destroycarriermetapickup baseclass=MetaPickup> 447 <MetaPickup representation="destroycarrier" metaType="destroyCarrier" /> 223 448 </Template> 224 449 … … 232 457 <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1 > 233 458 <attached> 234 <Billboard position="0,0,0" colour="0. 30,0.30,0.30" material="damageSmall" scale=0.7/>459 <Billboard position="0,0,0" colour="0.70,0.10,0.10" material="Damage" scale=0.3 /> 235 460 </attached> 236 461 </Billboard> … … 258 483 <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1 > 259 484 <attached> 260 <Billboard position="0,0,0" colour="0. 30,0.30,0.30" material="damageMedium" scale=0.7/>485 <Billboard position="0,0,0" colour="0.70,0.10,0.10" material="Damage" scale=0.5 /> 261 486 </attached> 262 487 </Billboard> … … 277 502 </Template> 278 503 279 <Template name= largedamageboostpickupRepresentation>504 <Template name=hugedamageboostpickupRepresentation> 280 505 <PickupRepresentation> 281 506 <spawner-representation> … … 284 509 <Billboard position="0,0,0" colour="0.95,0.10,0.05" material="Sphere2" scale=0.1 > 285 510 <attached> 286 <Billboard position="0,0,0" colour="0. 30,0.30,0.30" material="damageLarge" scale=0.7 />287 </attached> 288 </Billboard> 289 </attached> 290 </StaticEntity> 291 </spawner-representation> 292 </PickupRepresentation> 293 </Template> 294 295 <Template name= largedamageboostpickup baseclass=DamageBoostPickup>511 <Billboard position="0,0,0" colour="0.70,0.10,0.10" material="Damage" scale=0.7 /> 512 </attached> 513 </Billboard> 514 </attached> 515 </StaticEntity> 516 </spawner-representation> 517 </PickupRepresentation> 518 </Template> 519 520 <Template name=hugedamageboostpickup baseclass=DamageBoostPickup> 296 521 <DamageBoostPickup 297 representation = " largedamageboostpickup"522 representation = "hugedamageboostpickup" 298 523 duration = 10.0 299 524 damageMultiplier = 7.0 … … 498 723 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1> 499 724 <attached> 500 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0. 4/>725 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.35 /> 501 726 </attached> 502 727 </Billboard> … … 524 749 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1> 525 750 <attached> 526 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0. 7/>751 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.55 /> 527 752 </attached> 528 753 </Billboard> … … 550 775 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1> 551 776 <attached> 552 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale= 1.0/>777 <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.75 /> 553 778 </attached> 554 779 </Billboard> … … 609 834 </attached> 610 835 <collisionShapes> 611 < BoxCollisionShape position="0,0,0" halfExtents="1, 1, 1"/>836 <SphereCollisionShape position="0,0,0" radius=5 /> 612 837 </collisionShapes> 613 838 <weaponslots> 614 <WeaponSlot position=" 0,0,0" />839 <WeaponSlot position="0,0,0" /> 615 840 </weaponslots> 616 841 <weaponsets> 617 842 <WeaponSet firemode=0 /> 618 843 </weaponsets> 619 <weapon s>844 <weaponpacks> 620 845 <WeaponPack> 621 846 <links> … … 631 856 </Weapon> 632 857 </WeaponPack> 633 </weapons> 858 </weaponpacks> 859 <munition> 860 <LaserMunition initialmagazines=2 maxmagazines=2 munitionpermagazine=10 replenishamount=1 replenishinterval=0.5/> 861 </munition> 634 862 </Drone> 635 863 </Template> -
code/trunk/data/levels/templates/spaceshipAssff.oxt
r9939 r11052 5 5 spawnparticlesource = "Orxonox/fairytwirl" 6 6 spawnparticleduration = 3 7 explosionchunks = 68 7 9 8 health = 100 … … 15 14 maxshieldhealth = 50 16 15 shieldabsorption = 0.8 17 reloadrate= 118 reloadwaittime= 116 shieldrechargerate = 1 17 shieldrechargewaittime = 1 19 18 20 19 primaryThrust = 100 … … 57 56 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 58 57 </collisionShapes> 58 <explosion> 59 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 60 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 61 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 62 63 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 64 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 65 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 66 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 67 </explosion> 59 68 <?lua 60 69 include("../includes/weaponSettingsAssff.oxi") -
code/trunk/data/levels/templates/spaceshipAssff2.oxt
r8860 r11052 15 15 maxshieldhealth = 150 16 16 shieldabsorption = 0.95 17 reloadrate= 518 reloadwaittime= 0.517 shieldrechargerate = 5 18 shieldrechargewaittime = 0.5 19 19 20 20 primaryThrust = 100 … … 37 37 linearDamping = 0.7 38 38 angularDamping = 0.9999999 39 40 explosionSound = "sounds/Explosion2.ogg" 39 41 > 40 42 <engines> … … 55 57 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 56 58 </collisionShapes> 59 <explosion > 60 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 61 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 62 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 63 64 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 65 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 66 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 67 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 68 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 69 </explosion> 57 70 <?lua 58 71 include("../includes/weaponSettingsAssff2.oxi") -
code/trunk/data/levels/templates/spaceshipCollateralDamage.oxt
r9664 r11052 16 16 maxshieldhealth = 50 17 17 shieldabsorption = 0.8 18 reloadrate= 119 reloadwaittime= 118 shieldrechargerate = 1 19 shieldrechargewaittime = 1 20 20 21 21 primaryThrust = 100 … … 62 62 63 63 </collisionShapes> 64 65 <explosion > 66 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 67 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 68 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 69 70 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 71 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 72 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 73 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 74 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 75 </explosion> 64 76 65 77 -
code/trunk/data/levels/templates/spaceshipDodgeRace.oxt
r10262 r11052 15 15 maxshieldhealth = 20 16 16 shieldabsorption = 0.1 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 150 … … 60 60 <BoxCollisionShape position="0, 0,-12" halfExtents="4 , 4 ,7" /> 61 61 </collisionShapes> 62 <explosion > 63 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 64 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 65 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 66 67 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 68 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 69 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 70 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 71 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 72 </explosion> 62 73 <?lua 63 74 include("../includes/invaderWeapon.oxi") -
code/trunk/data/levels/templates/spaceshipEscort.oxt
r9664 r11052 5 5 spawnparticlesource = "Orxonox/fairytwirl" 6 6 spawnparticleduration = 3 7 explosionchunks = 47 explosionchunks = 10 8 8 9 9 health = 80 … … 15 15 maxshieldhealth = 60 16 16 shieldabsorption = 0.9 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 150 … … 56 56 <BoxCollisionShape position="0, 0,-12" halfExtents="4 , 4 ,7" /> 57 57 </collisionShapes> 58 <explosion> 59 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 60 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 61 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 62 63 <ExplosionPart mesh="explosionparts/escort_part_1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 64 <ExplosionPart mesh="explosionparts/escort_part_2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 65 <ExplosionPart mesh="explosionparts/escort_part_3.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 66 <ExplosionPart mesh="explosionparts/escort_part_4.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 67 <ExplosionPart mesh="explosionparts/escort_part_5.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 68 <ExplosionPart mesh="explosionparts/escort_part_6.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 69 </explosion> 58 70 <?lua 59 71 include("../includes/weaponSettingsEscort.oxi") … … 92 104 <EffectContainer condition="idle"> 93 105 <WorldSound mainstate="activity" source="sounds/Engine_idle.ogg" looping=1 active=false/> 106 /> 107 <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, -2, 14" colour="0.2, 0.5, 0.65, 1.0" width=150 length=15 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=2 turnofftime=1 material="Flares/ThrusterFlare1" /> 108 <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, -2, 14" colour="0.2, 0.5, 0.65, 1.0" width=15 length=15 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=2 turnofftime=1 material="Flares/ThrusterFlare1" /> 94 109 </EffectContainer> 95 110 <EffectContainer condition="not idle"> … … 101 116 </EffectContainer> 102 117 <EffectContainer condition="normal or boost"> 103 <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, 0, 10" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=50trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />104 <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, 0, 10" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=50trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" />118 <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, -2, 14" colour="0.2, 1.0, 0.65, 1.0" width=5 length=1500 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" /> 119 <Backlight mainstate=activity active=false scale=0.33 name=bltest position="-12, -2, 14" colour="0.2, 1.0, 0.65, 1.0" width=15 length=1500 lifetime=2 elements=1 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Flares/ThrusterFlare1" /> 105 120 </EffectContainer> 121 106 122 <EffectContainer condition="boost"> 107 123 <Backlight mainstate=activity active=false scale=0.33 name=bltest position=" 12, 0, 10" colour="0.6, 0.8, 0.75, 0.7" width=25 length=1000 lifetime=1 elements=30 trailmaterial="Trail/backlighttrail" turnontime=1 turnofftime=1 material="Examples/Flare" /> -
code/trunk/data/levels/templates/spaceshipGhost.oxt
r8858 r11052 15 15 maxshieldhealth = 150 16 16 shieldabsorption = 0.9 17 reloadrate= 318 reloadwaittime= 0.017 shieldrechargerate = 3 18 shieldrechargewaittime = 0.0 19 19 20 20 primaryThrust = 600 … … 52 52 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 53 53 </collisionShapes> 54 <explosion > 55 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 56 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 57 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 58 59 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 60 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 61 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 62 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 63 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 64 </explosion> 54 65 <?lua 55 66 include("../includes/weaponSettingsGhost.oxi") -
code/trunk/data/levels/templates/spaceshipH2.oxt
r8858 r11052 41 41 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 42 42 </collisionShapes> 43 <explosion > 44 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 45 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 46 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 47 48 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 49 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 50 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 51 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 52 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 53 </explosion> 43 54 44 55 </SpaceShip> -
code/trunk/data/levels/templates/spaceshipHXY.oxt
r8858 r11052 35 35 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 36 36 </collisionShapes> 37 <explosion > 38 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 39 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 40 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 41 42 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 43 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 44 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 45 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 46 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 47 </explosion> 37 48 38 49 <?lua -
code/trunk/data/levels/templates/spaceshipHXYSL.oxt
r8858 r11052 34 34 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 35 35 </collisionShapes> 36 <explosion > 37 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 38 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 39 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 40 41 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 42 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 43 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 44 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 45 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 46 </explosion> 36 47 37 48 <?lua -
code/trunk/data/levels/templates/spaceshipHeartAttack.oxt
r10622 r11052 15 15 maxshieldhealth = 800 16 16 shieldabsorption = 0.8 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 40 … … 63 63 <BoxCollisionShape position="-5,5,4.3" halfExtents="1.4, 1.5, 1.4" /> 64 64 </collisionShapes> 65 <explosion > 66 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 67 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 68 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 69 70 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 71 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 72 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 73 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 74 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 75 </explosion> 65 76 <?lua 66 77 include("../includes/weaponSettingsHeartAttack.oxi") -
code/trunk/data/levels/templates/spaceshipInvader.oxt
r9943 r11052 15 15 maxshieldhealth = 60 16 16 shieldabsorption = 0.9 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 150 … … 59 59 <BoxCollisionShape position="0, 0,-12" halfExtents="4 , 4 ,7" /> 60 60 </collisionShapes> 61 <explosion > 62 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 63 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 64 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 65 66 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 67 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 68 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 69 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 70 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 71 </explosion> 61 72 <?lua 62 73 include("../includes/invaderWeapon.oxi") -
code/trunk/data/levels/templates/spaceshipPirate.oxt
r8858 r11052 15 15 maxshieldhealth = 40 16 16 shieldabsorption = 0.6 17 reloadrate= 218 reloadwaittime= 0.517 shieldrechargerate = 2 18 shieldrechargewaittime = 0.5 19 19 20 20 primaryThrust = 100 … … 53 53 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 54 54 </collisionShapes> 55 <explosion> 56 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 57 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" scale=2 /> 58 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 59 60 <ExplosionPart mesh="explosionparts/pirate_part_1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 61 <ExplosionPart mesh="explosionparts/pirate_part_2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 62 <ExplosionPart mesh="explosionparts/pirate_part_3.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 63 <ExplosionPart mesh="explosionparts/pirate_part_4.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 64 </explosion> 55 65 56 66 <?lua -
code/trunk/data/levels/templates/spaceshipRace.oxt
r9348 r11052 15 15 maxshieldhealth = 50 16 16 shieldabsorption = 0.8 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 100 … … 57 57 58 58 </collisionShapes> 59 <explosion > 60 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 61 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 62 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 63 64 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 65 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 66 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 67 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 68 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 69 </explosion> 59 70 <?lua 60 71 include("../includes/weaponSettingsAssff.oxi") -
code/trunk/data/levels/templates/spaceshipRing.oxt
r10622 r11052 15 15 maxshieldhealth = 60 16 16 shieldabsorption = 0.9 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 150 … … 53 53 <BoxCollisionShape position="0, 0,-12" halfExtents="4 , 4 ,7" /> 54 54 </collisionShapes> 55 <explosion > 56 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 57 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 58 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 59 60 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 61 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 62 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 63 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 64 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 65 </explosion> 55 66 <?lua 56 67 include("../includes/weaponSettingsRing.oxi") -
code/trunk/data/levels/templates/spaceshipSpacecruiser.oxt
r9348 r11052 15 15 maxshieldhealth = 90 16 16 shieldabsorption = 0.9 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 90 … … 66 66 67 67 </collisionShapes> 68 <explosion > 69 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 70 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 71 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 72 73 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 74 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 75 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 76 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 77 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 78 </explosion> 68 79 <?lua 69 80 include("../includes/weaponSettingsSpacecruiser.oxi") -
code/trunk/data/levels/templates/spaceshipSwallow.oxt
r8858 r11052 15 15 maxshieldhealth = 80 16 16 shieldabsorption = 0.75 17 reloadrate= 1.518 reloadwaittime= 0.217 shieldrechargerate = 1.5 18 shieldrechargewaittime = 0.2 19 19 20 20 primaryThrust = 600; … … 49 49 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 50 50 </collisionShapes> 51 <explosion > 52 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 53 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 54 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 55 56 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 57 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 58 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 59 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 60 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 61 </explosion> 51 62 <?lua 52 63 include("../includes/weaponSettingsSwallow.oxi") -
code/trunk/data/levels/templates/spaceshipTransporter.oxt
r8858 r11052 34 34 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 35 35 </collisionShapes> 36 <explosion > 37 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 38 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 39 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 40 41 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 42 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 43 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 44 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 45 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 46 </explosion> 36 47 37 48 <?lua -
code/trunk/data/levels/templates/spaceshipTransporterSL.oxt
r8858 r11052 34 34 <BoxCollisionShape position="0,0.1,-19" halfExtents="1.4, 1, 2" /> 35 35 </collisionShapes> 36 <explosion > 37 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 38 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 39 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 40 41 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 42 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 43 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 44 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 45 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 46 </explosion> 36 47 37 48 <?lua -
code/trunk/data/levels/templates/spaceshipTurret.oxt
r9664 r11052 15 15 maxshieldhealth = 50 16 16 shieldabsorption = 0.8 17 reloadrate= 118 reloadwaittime= 117 shieldrechargerate = 1 18 shieldrechargewaittime = 1 19 19 20 20 primaryThrust = 100 … … 44 44 <SphereCollisionShape radius="10" position = "0,0,0"/> 45 45 </collisionShapes> 46 <explosion > 47 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_flash2" effect2="orxonox/explosion_flame2" /> 48 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_shockwave2" effect2="orxonox/explosion_sparks2" /> 49 <ExplosionPart minspeed=0 maxspeed=0 effect1="orxonox/explosion_streak2" effect2="orxonox/explosion_afterglow" /> 50 51 <ExplosionPart minspeed=0 maxspeed=0 effect1="Orxonox/explosion2b" effect2="Orxonox/smoke6" /> 52 <ExplosionPart mesh="CockpitDebris.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 53 <ExplosionPart mesh="BodyDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 54 <ExplosionPart mesh="WingDebris1.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 55 <ExplosionPart mesh="WingDebris2.mesh" effect1="Orxonox/fire4" effect2="Orxonox/smoke6" /> 56 </explosion> 46 57 <?lua 47 58 include("../includes/weaponSettingsTurret.oxi") -
code/trunk/data/levels/templates/towerdefensetower.oxt
r10622 r11052 4 4 5 5 explosionchunks = 6 6 reloadrate=107 reloadwaittime=56 shieldrechargerate=10 7 shieldrechargewaittime=5 8 8 collisionType="none" 9 9 pitch="0" -
code/trunk/data/levels/towerDefense.oxw
r10629 r11052 39 39 <TowerDefenseTower 40 40 explosionchunks=6 41 reloadrate=1042 reloadwaittime=541 shieldrechargerate=10 42 shieldrechargewaittime=5 43 43 collisionType="none" 44 44 pitch="0" … … 60 60 <WeaponSet firemode=0 /> 61 61 </weaponsets> 62 <weapon s>62 <weaponpacks> 63 63 <WeaponPack> 64 64 <links> … … 69 69 </Weapon> 70 70 </WeaponPack> 71 </weapons> 71 </weaponpacks> 72 <munition> 73 <LaserMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10 replenishamount=1 replenishinterval=0.3/> 74 </munition> 72 75 </TowerDefenseTower> 73 76 </Template> … … 76 79 <TowerDefenseTower 77 80 explosionchunks=6 78 reloadrate=1079 reloadwaittime=581 shieldrechargerate=10 82 shieldrechargewaittime=5 80 83 collisionType="none" 81 84 pitch="0" … … 97 100 <WeaponSet firemode=0 /> 98 101 </weaponsets> 99 <weapon s>102 <weaponpacks> 100 103 <WeaponPack> 101 104 <links> … … 106 109 </Weapon> 107 110 </WeaponPack> 108 </weapons> 111 </weaponpacks> 112 <munition> 113 <LightningMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/> 114 </munition> 109 115 <attached> 110 116 <Backlight position="0,0,0" scale=2.0 colour="0.4, 0.0, 1.0" width=10 length=10 lifetime=0.3 elements=20 trailmaterial="Trail/backlighttrail" material="Examples/Flare" loop=1 /> … … 116 122 <TowerDefenseTower 117 123 explosionchunks=6 118 reloadrate=10119 reloadwaittime=5124 shieldrechargerate=10 125 shieldrechargewaittime=5 120 126 collisionType="none" 121 127 pitch="0" … … 137 143 <WeaponSet firemode=0 /> 138 144 </weaponsets> 139 <weapon s>145 <weaponpacks> 140 146 <WeaponPack> 141 147 <links> … … 146 152 </Weapon> 147 153 </WeaponPack> 148 </weapons> 154 </weaponpacks> 155 <munition> 156 <SplitMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/> 157 </munition> 149 158 </TowerDefenseTower> 150 159 </Template> … … 153 162 <TowerDefenseTower 154 163 explosionchunks=6 155 reloadrate=10156 reloadwaittime=5164 shieldrechargerate=10 165 shieldrechargewaittime=5 157 166 collisionType="none" 158 167 pitch="0" … … 174 183 <WeaponSet firemode=0 /> 175 184 </weaponsets> 176 <weapon s>185 <weaponpacks> 177 186 <WeaponPack> 178 187 <links> … … 180 189 </links> 181 190 <Weapon> 182 <RocketFire mode=0 munitionpershot=0 muzzleoffset="0,0,0" damage=2 shielddamage=4 />191 <RocketFire mode=0 munitionpershot=0 muzzleoffset="0,0,0" damage=2 shielddamage=4 fuel=10/> 183 192 </Weapon> 184 193 </WeaponPack> 185 </weapons> 194 </weaponpacks> 195 <munition> 196 <RocketMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/> 197 </munition> 186 198 <attached> 187 199 <ParticleSpawner position="0,0,0" source="Orxonox/sparks" lifetime=3.0 autostart=1 loop=1 /> … … 193 205 <TowerDefenseTower 194 206 explosionchunks=6 195 reloadrate=10196 reloadwaittime=5207 shieldrechargerate=10 208 shieldrechargewaittime=5 197 209 collisionType="none" 198 210 pitch="0" … … 214 226 <WeaponSet firemode=0 /> 215 227 </weaponsets> 216 <weapon s>228 <weaponpacks> 217 229 <WeaponPack> 218 230 <links> … … 223 235 </Weapon> 224 236 </WeaponPack> 225 </weapons> 237 </weaponpacks> 238 <munition> 239 <IceMunition initialmagazines=1 maxmagazines=1 munitionpermagazine=10/> 240 </munition> 226 241 </TowerDefenseTower> 227 242 </Template> … … 243 258 maxshieldhealth = 15 244 259 shieldabsorption = 0.8 245 reloadrate= 1246 reloadwaittime= 1260 shieldrechargerate = 1 261 shieldrechargewaittime = 1 247 262 248 263 primaryThrust = 1000 … … 308 323 maxshieldhealth = 0 309 324 shieldabsorption = 0.8 310 reloadrate= 1311 reloadwaittime= 1325 shieldrechargerate = 1 326 shieldrechargewaittime = 1 312 327 313 328 primaryThrust = 100 … … 381 396 maxshieldhealth = 5 382 397 shieldabsorption = 0.8 383 reloadrate= 1384 reloadwaittime= 1398 shieldrechargerate = 1 399 shieldrechargewaittime = 1 385 400 386 401 primaryThrust = 100 -
code/trunk/data/overlays/HUDTemplates3.oxo
r10292 r11052 27 27 </Template> 28 28 29 <Template name="rockethud"> 30 <OverlayGroup name = "rockethud" scale = "1, 1"> 31 <HUDRocketFuelBar 32 name = "RocketFuelBar1" 33 background = "Orxonox/BarBackground" 34 size = "0.40, 0.04" 35 position = "0.0 , 1.0 " 36 pickpoint = "0, 1" 37 correctaspect = true 38 iconmaterial = "Orxonox/BarIconFuel" 39 > 40 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> 41 <BarColour position = 0.5 colour = "0.7,0.7,0.2" /> 42 <BarColour position = 1.0 colour = "0.2,0.7,0.2" /> 43 </HUDRocketFuelBar> 44 </OverlayGroup> 45 </Template> 46 29 47 <Template name="spaceshiphud"> 30 48 <OverlayGroup name = "spaceshiphud" scale = "1, 1"> … … 34 52 name = "HealthBar1" 35 53 background = "Orxonox/HealthBarBackground" 36 size = "0. 35, 0.0875"37 position = "0.0 , 0. 9"54 size = "0.40, 0.08" 55 position = "0.0 , 0.85 " 38 56 pickpoint = "0, 1" 39 57 bartexture = "healthbar_bar.png" 40 58 textfont = "VeraMono" 41 59 textusebarcolour = true 42 texts ize = 0.03943 textoffset = "0.3 15, 0.05"60 textscale = 0.4 61 textoffset = "0.325, -0.825" 44 62 textpickpoint = "0, 0" 45 63 textalign = "right" 46 correctaspect = false47 textcorrectaspect = false64 correctaspect = true 65 iconmaterial = "Orxonox/BarIconHealth" 48 66 > 49 67 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> … … 51 69 <BarColour position = 1.0 colour = "0.2,0.7,0.2" /> 52 70 </HUDHealthBar> 71 72 <HUDShieldBar 73 name = "ShieldBar1" 74 background = "Orxonox/BarBackground" 75 size = "0.40, 0.04" 76 position = "0.0 , 0.9 " 77 pickpoint = "0, 1" 78 correctaspect = true 79 iconmaterial = "Orxonox/BarIconShield" 80 > 81 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> 82 <BarColour position = 0.5 colour = "0.7,0.7,0.2" /> 83 <BarColour position = 1.0 colour = "0.2,0.7,0.2" /> 84 </HUDShieldBar> 53 85 54 86 <HUDSpeedBar 55 87 name = "SpeedBar1" 56 88 background = "Orxonox/BarBackground" 57 size = "0. 35, 0.05"89 size = "0.40, 0.04" 58 90 position = "0.0 , 0.95 " 59 91 pickpoint = "0, 1" 60 correctaspect = false 92 correctaspect = true 93 iconmaterial = "Orxonox/BarIconSpeed" 61 94 > 62 95 <BarColour position = 0.0 colour = "0.7,0.5,0.2" /> … … 67 100 <HUDBoostBar 68 101 name = "BoostBar1" 69 background tex = "bar1.png"70 size = "0. 35, 0.05"102 background = "Orxonox/BarBackground" 103 size = "0.40, 0.04" 71 104 position = "0.0 , 1.0 " 72 105 pickpoint = "0, 1" 73 correctaspect = false 106 correctaspect = true 107 iconmaterial = "Orxonox/BarIconBoost" 74 108 > 75 109 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> … … 81 115 name = "EnemyHealthBar" 82 116 background = "Orxonox/HealthBarBackground" 83 size = "0. 35, 0.0875"84 position = "1 ,0 .1"85 pickpoint = "1, 1"117 size = "0.4, 0.08" 118 position = "1 ,0" 119 pickpoint = "1, 0" 86 120 bartexture = "healthbar_bar.png" 87 121 textfont = "VeraMono" 88 122 textusebarcolour = true 89 texts ize = 0.03990 textoffset = " 0.315, 0.05"123 textscale = 0.4 124 textoffset = "-0.675, 0.175" 91 125 textpickpoint = "0, 0" 92 126 textalign = "right" 93 correctaspect = false94 textcorrectaspect = false127 correctaspect = true 128 iconmaterial = "Orxonox/BarIconHealth" 95 129 > 96 130 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> … … 98 132 <BarColour position = 1.0 colour = "0.2,0.7,0.2" /> 99 133 </HUDEnemyHealthBar> 134 135 <HUDEnemyShieldBar 136 name = "EnemyShieldBar1" 137 background = "Orxonox/BarBackground" 138 size = "0.40, 0.04" 139 position = "1.0 , 0.1 " 140 pickpoint = "1, 0" 141 correctaspect = true 142 iconmaterial = "Orxonox/BarIconShield" 143 > 144 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> 145 <BarColour position = 0.5 colour = "0.7,0.7,0.2" /> 146 <BarColour position = 1.0 colour = "0.2,0.7,0.2" /> 147 </HUDEnemyShieldBar> 100 148 101 149 <HUDNavigation … … 127 175 mapAngle3D = 0.6435011 128 176 /> 177 178 <HUDWeaponSystem 179 name = "WeaponSystem" 180 correctaspect = true 181 position = "0.01, 0.01" 182 pickpoint = "0, 0" 183 visible = "true" 184 weaponModeHUDSize = "0.09, 0.03" 185 /> 129 186 130 187 <HUDTimer -
code/trunk/data/overlays/InvaderHUD.oxo
r9953 r11052 99 99 textfont = "VeraMono" 100 100 textusebarcolour = true 101 texts ize = 0.039102 textoffset = "0.3 15, 0.05"101 textscale = 0.4 102 textoffset = "0.325, -0.825" 103 103 textpickpoint = "0, 0" 104 104 textalign = "right" 105 correctaspect = false106 textcorrectaspect = false105 correctaspect = true 106 iconmaterial = "Orxonox/BarIconHealth" 107 107 > 108 108 <BarColour position = 0.0 colour = "0.7,0.2,0.2" /> -
code/trunk/data/overlays/jumpHUD.oxo
r10262 r11052 37 37 showFuel = false 38 38 showMessages = true 39 /> 40 41 <HUDBar 42 name = "SpeedBar1" 43 background = "Orxonox/BarBackground" 44 size = "0.35, 0.05" 45 position = "0.0 , 1.0 " 46 pickpoint = "0, 1" 47 correctaspect = false 48 49 initialvalue = 50 50 51 > 52 <BarColour position = 0.0 colour = "0.7,0.5,0.2" /> 53 <BarColour position = 0.5 colour = "0.2,0.7,0.2" /> 54 <BarColour position = 1.0 colour = "0.7,0.2,0.2" /> 55 </HUDBar> 39 /> 56 40 57 41 </OverlayGroup> -
code/trunk/data/particle/engineglow.particle
r5781 r11052 1 2 1 particle_system Orxonox/engineglow 3 2 { 4 quota 200 5 material PE/bigFlame 6 particle_width 12 7 particle_height 12 8 cull_each false 9 renderer billboard 10 billboard_type point 3 material PE/glowEffect 4 particle_width 100.0 5 particle_height 100.0 6 quota 2000 7 cull_each false 8 sorted false 9 local_space false 10 iteration_interval 0.0 11 nonvisible_update_timeout 0.0 12 billboard_type point 13 billboard_origin center 14 billboard_rotation_type texcoord 15 point_rendering false 16 accurate_facing false 11 17 12 emitter HollowEllipsoid18 emitter Ring 13 19 { 14 angle 0 15 colour 0.46875 0.8125 0.93359375 1 16 colour_range_start .6640625 .91796875 .92578125 1 17 colour_range_end .08203125 .7578125 .98046875 1 18 direction 0 1 0 19 emission_rate 45 20 position 0 0 0 21 velocity 5 22 velocity_min 4 23 velocity_max 6 24 time_to_live 0.5 25 time_to_live_min 0.2 26 time_to_live_max 0.9 27 duration 0 28 duration_min 0 29 duration_max 0 30 repeat_delay 0 31 repeat_delay_min 0 32 repeat_delay_max 0 33 width 4 34 height 2.5 35 depth 1.3 36 inner_width 0.5 37 inner_height 0.3 38 inner_depth 0.2 20 position 0.0 0.0 0.0 21 direction 0.0 0.0 1.0 22 angle 0 23 width 150 24 height 150 25 depth 1 26 inner_width 0.99 27 inner_height 0.99 28 emission_rate 30 29 velocity_min 20 30 velocity_max 20 31 time_to_live_min 5 32 time_to_live_max 5 33 duration_min 0 34 duration_max 0 35 repeat_delay_min 0 36 repeat_delay_max 0 37 colour_range_start 0.666667 1 0 1 38 colour_range_end 0 1 0 1 39 } 40 41 emitter Ring 42 { 43 position 0.0 0.0 0.0 44 direction 0.0 0.0 1.0 45 angle 0 46 width 130 47 height 130 48 depth 0 49 inner_width 0.99 50 inner_height 0.99 51 emission_rate 10 52 velocity_min 200 53 velocity_max 200 54 time_to_live_min 0.75 55 time_to_live_max 0.75 56 duration_min 0 57 duration_max 0 58 repeat_delay_min 0 59 repeat_delay_max 0 60 colour_range_start 1 1 0 1 61 colour_range_end 1 1 0.498039 1 62 } 63 64 emitter Ring 65 { 66 position 0.0 0.0 0.0 67 direction 0.0 0.0 1.0 68 angle 0 69 width 80 70 height 80 71 depth 0 72 inner_width 0.99 73 inner_height 0.99 74 emission_rate 57.89 75 velocity_min 250 76 velocity_max 250 77 time_to_live_min 1 78 time_to_live_max 1 79 duration_min 0 80 duration_max 0 81 repeat_delay_min 0 82 repeat_delay_max 0 83 colour_range_start 1 0.333333 0 1 84 colour_range_end 1 0.333333 0 1 85 } 86 87 emitter Ring 88 { 89 position 0.0 0.0 0.0 90 direction 0.0 0.0 1.0 91 angle 0 92 width 50 93 height 50 94 depth 0 95 inner_width 0.01 96 inner_height 0.5 97 emission_rate 37.89 98 velocity_min 300 99 velocity_max 300 100 time_to_live_min 1.5 101 time_to_live_max 1.5 102 duration_min 0 103 duration_max 0 104 repeat_delay_min 0 105 repeat_delay_max 0 106 colour_range_start 1 0 0 1 107 colour_range_end 1 0 0 1 108 } 109 110 affector Scaler 111 { 112 rate -20 39 113 } 40 114 } -
code/trunk/data/particle/rocketfire.particle
r6417 r11052 1 1 particle_system Orxonox/rocketfire 2 2 { 3 quota 300 4 material PE/explosion 5 particle_width 15 6 particle_height 5 7 cull_each false 8 renderer billboard 9 sorted false 10 local_space false 11 iteration_interval 0 12 nonvisible_update_timeout 0 13 billboard_type point 14 billboard_origin center 15 billboard_rotation_type texcoord 16 common_up_vector 0 1 0 17 point_rendering false 18 accurate_facing false 3 material PE/glowEffect 4 particle_width 2 5 particle_height 2 6 quota 10000 7 cull_each true 8 sorted true 9 local_space true 10 iteration_interval 0.0 11 nonvisible_update_timeout 0.0 12 billboard_type point 13 billboard_origin center 14 billboard_rotation_type texcoord 15 point_rendering false 16 accurate_facing false 19 17 20 18 emitter Ellipsoid 21 19 { 22 angle 2 23 colour 1 0.682759 1 1 24 colour_range_start 1 0.682759 1 1 25 colour_range_end 1 0.682759 1 1 26 direction 0 0 1 27 emission_rate 1200 28 position 0 0 3 29 velocity 10 30 velocity_min 10 31 velocity_max 48 32 time_to_live 0.1 33 time_to_live_min 0.1 34 time_to_live_max 0.2 35 duration 0 36 duration_min 0 37 duration_max 0 38 repeat_delay 0 39 repeat_delay_min 0 40 repeat_delay_max 0 41 width 1.5 42 height 1.5 43 depth 10 20 position 0.05 0.0 2.0 21 direction 0.0 0.0 1.0 22 angle 0 23 width 0 24 height 0 25 depth 0 26 emission_rate 1200 27 velocity_min 10 28 velocity_max 20 29 time_to_live_min 0.1 30 time_to_live_max 0.1 31 duration_min 0 32 duration_max 0 33 repeat_delay_min 0 34 repeat_delay_max 0 35 colour_range_start 1 0.333333 0 1 36 colour_range_end 1 0 0 1 37 } 38 emitter Ellipsoid 39 { 40 position 0.05 0.0 2.0 41 direction 0.0 0.0 1.0 42 angle 0 43 width 0 44 height 0 45 depth 0 46 emission_rate 100 47 velocity_min 5 48 velocity_max 10 49 time_to_live_min 0.1 50 time_to_live_max 0.1 51 duration_min 0 52 duration_max 0 53 repeat_delay_min 0 54 repeat_delay_max 0 55 colour_range_start 0.2 0.5 0.65 56 colour_range_end 0.25 0.55 0.7 44 57 } 45 58 46 59 affector Scaler 47 60 { 48 rate -2061 rate -8 49 62 } 50 63 } -
code/trunk/src/libraries/core/CoreConfig.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/CoreConfig.h
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/GUIManager.cc
r10624 r11052 36 36 #include <OgreRenderWindow.h> 37 37 38 extern "C" { 39 #include <lua.h> 40 } 41 38 42 #if CEGUI_VERSION >= 0x000800 39 43 # include <CEGUI/DefaultLogger.h> … … 251 255 /*static*/ const std::string GUIManager::defaultScheme_ = "TaharezGreen"; //Alternative: Orxonox (not fully complete yet, see the graphics menu) 252 256 253 SetConsoleCommand("showGUI", &GUIManager::showGUI).defaultValue(1, false).defaultValue(2, false); 254 SetConsoleCommand("hideGUI", &GUIManager::hideGUI); 255 SetConsoleCommand("toggleGUI", &GUIManager::toggleGUI).defaultValue(1, false).defaultValue(2, false); 257 namespace autocompletion 258 { 259 /** 260 @brief Returns the names of all currently existing OverlayGroups. 261 */ 262 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(guinames)(); 263 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(guinames)() 264 { 265 ArgumentCompletionList names; 266 const std::vector<std::string> guis = GUIManager::getInstance().getLoadedGUIs(); 267 for (size_t i = 0; i < guis.size(); ++i) 268 names.push_back(ArgumentCompletionListElement(guis[i], getLowercase(guis[i]))); 269 return names; 270 } 271 } 272 273 SetConsoleCommand("showGUI", &GUIManager::showGUI).defaultValue(1, false).defaultValue(2, false) 274 .argumentCompleter(0, autocompletion::guinames()); 275 SetConsoleCommand("hideGUI", &GUIManager::hideGUI) 276 .argumentCompleter(0, autocompletion::guinames()); 277 SetConsoleCommand("toggleGUI", &GUIManager::toggleGUI).defaultValue(1, false).defaultValue(2, false) 278 .argumentCompleter(0, autocompletion::guinames()); 256 279 257 280 RegisterAbstractClass(GUIManager).inheritsFrom<WindowEventListener>(); … … 489 512 { 490 513 this->luaState_->doString(str, rootFileInfo_); 514 } 515 516 std::vector<std::string> GUIManager::getLoadedGUIs() 517 { 518 // TODO: is there a better way to read back a return value from lua? i.e. by using LuaState? 519 lua_State* L = this->luaState_->getInternalLuaState(); 520 521 // push function 522 lua_getglobal(L, "getLoadedSheets"); 523 524 // do the call (0 arguments, 1 result) 525 if (lua_pcall(L, 0, 1, 0) != 0) 526 orxout(internal_error) << "error running function: " << lua_tostring(L, -1) << endl; 527 528 // retrieve result 529 if (!lua_isstring(L, -1)) 530 orxout(internal_error) << "function must return a string" << endl; 531 std::string value = lua_tostring(L, -1); 532 lua_pop(L, 1); 533 534 SubString tokens(value, ","); 535 return tokens.getAllStrings(); 491 536 } 492 537 -
code/trunk/src/libraries/core/GUIManager.h
r9675 r11052 107 107 void preUpdate(const Clock& time); 108 108 109 std::vector<std::string> getLoadedGUIs(); 110 109 111 void loadGUI(const std::string& name); 110 112 static void showGUI(const std::string& name, bool bHidePrevious = false, bool bNoInput = false); -
code/trunk/src/libraries/core/GameConfig.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/GameConfig.h
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/command/ArgumentCompletionFunctions.h
r7401 r11052 161 161 */ 162 162 #define ARGUMENT_COMPLETION_FUNCTION_DECLARATION(functionname) \ 163 _CoreExportArgumentCompleter* functionname(); \164 _CoreExportArgumentCompletionList acf_##functionname163 ArgumentCompleter* functionname(); \ 164 ArgumentCompletionList acf_##functionname 165 165 166 166 /** … … 196 196 namespace autocompletion 197 197 { 198 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(fallback)();199 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(groupsandcommands)(const std::string& fragment);200 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(subcommands)(const std::string& fragment, const std::string& group);201 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(command)(const std::string& fragment);202 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(hiddencommand)(const std::string& fragment);203 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(files)(const std::string& fragment);204 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(settingssections)();205 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(settingsentries)(const std::string& fragment, const std::string& section);206 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(settingsvalue)(const std::string& fragment, const std::string& entry, const std::string& section);207 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(tclthreads)();198 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(fallback)(); 199 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(groupsandcommands)(const std::string& fragment); 200 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(subcommands)(const std::string& fragment, const std::string& group); 201 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(command)(const std::string& fragment); 202 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(hiddencommand)(const std::string& fragment); 203 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(files)(const std::string& fragment); 204 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(settingssections)(); 205 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(settingsentries)(const std::string& fragment, const std::string& section); 206 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(settingsvalue)(const std::string& fragment, const std::string& entry, const std::string& section); 207 _CoreExport ARGUMENT_COMPLETION_FUNCTION_DECLARATION(tclthreads)(); 208 208 } 209 209 } -
code/trunk/src/libraries/core/command/ConsoleCommandIncludes.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/command/ConsoleCommandManager.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/commandline/CMakeLists.txt
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/input/KeyBinder.cc
r10624 r11052 359 359 /** 360 360 @brief 361 Return the first key name for a specific command in a human readable form 362 */ 363 const std::string& KeyBinder::getBindingReadable(const std::string& commandName) 364 { 365 const std::string& binding = this->getBinding(commandName); 366 367 SubString substring = SubString(binding, "."); 368 std::string name; 369 std::string group; 370 switch(substring.size()) 371 { 372 case 0: 373 return binding; 374 case 1: 375 return binding; 376 case 2: 377 group = substring[0]; 378 default: 379 name = substring.subSet(1).join("."); 380 } 381 382 std::stringstream stream; 383 if(group.compare("Keys") == 0) 384 stream << "Key " << name.substr(3); 385 else if(group.compare("MouseButtons") == 0) 386 stream << "Mouse " << name; 387 else if(group.compare("JoyStickButtons") == 0) 388 stream << "Joystick " << name; 389 else if(group.compare("JoyStickAxes") == 0) 390 stream << "Joystick Axis" << name.substr(5, 6) << name.substr(name.find("Axis")+6); 391 else if(group.compare("MouseAxes") == 0) 392 stream << "Mouse " << name.substr(1,3) << " " << name.substr(0, 1) << "-Axis"; 393 else 394 return binding; 395 396 return *(new std::string(stream.str())); 397 } 398 399 /** 400 @brief 361 401 Get the number of different key bindings of a specific command. 362 402 @param commandName -
code/trunk/src/libraries/core/input/KeyBinder.h
r9978 r11052 68 68 const std::string& getBinding(const std::string& commandName); //tolua_export 69 69 const std::string& getBinding(const std::string& commandName, unsigned int index); //tolua_export 70 const std::string& getBindingReadable(const std::string& commandName); //tolua_export 70 71 unsigned int getNumberOfBindings(const std::string& commandName); //tolua_export 71 72 -
code/trunk/src/libraries/core/singleton/ScopedSingletonIncludes.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/core/singleton/ScopedSingletonIncludes.h
- Property svn:eol-style set to native
-
code/trunk/src/libraries/network/NetworkFunctionIncludes.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/network/NetworkFunctionIncludes.h
- Property svn:eol-style set to native
-
code/trunk/src/libraries/network/NetworkFunctionManager.cc
- Property svn:eol-style set to native
-
code/trunk/src/libraries/network/NetworkFunctionManager.h
- Property svn:eol-style set to native
-
code/trunk/src/libraries/tools/ParticleInterface.cc
r10624 r11052 233 233 this->particleSystem_->setKeepParticlesInLocalSpace(keep); 234 234 } 235 236 void ParticleInterface::setDimensions(float scale) 237 { 238 this->particleSystem_->setDefaultDimensions(scale * this->particleSystem_->getDefaultWidth(), scale * this->particleSystem_->getDefaultHeight()); 239 } 235 240 } -
code/trunk/src/libraries/tools/ParticleInterface.h
r10624 r11052 75 75 void setDetailLevel(unsigned int level); 76 76 77 void setDimensions(float scale); 78 77 79 protected: 78 80 virtual void changedTimeFactor(float factor_new, float factor_old); -
code/trunk/src/libraries/util/Math.cc
r10630 r11052 161 161 - If the other object is exactly above me, the function returns <tt>Vector2(0, 0.5)</tt>. 162 162 */ 163 orxonox::Vector2 get2DView coordinates(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition)163 orxonox::Vector2 get2DViewCoordinates(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition) 164 164 { 165 165 orxonox::Vector3 distance = otherposition - myposition; -
code/trunk/src/libraries/util/Math.h
r9939 r11052 91 91 _UtilExport float getAngle(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& otherposition); 92 92 _UtilExport orxonox::Vector2 get2DViewdirection(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition); 93 _UtilExport orxonox::Vector2 get2DView coordinates(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition);93 _UtilExport orxonox::Vector2 get2DViewCoordinates(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition); 94 94 _UtilExport orxonox::Vector2 get3DProjection(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition, const float mapangle, const float detectionlimit); 95 95 _UtilExport bool isObjectHigherThanShipOnMap(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition, const float mapangle); -
code/trunk/src/modules/CMakeLists.txt
r10258 r11052 43 43 ADD_SUBDIRECTORY(mini4dgame) 44 44 ADD_SUBDIRECTORY(dodgerace) 45 ADD_SUBDIRECTORY(hover) -
code/trunk/src/modules/docking/DockingController.cc
r9667 r11052 61 61 62 62 float distance = (this->dock_->getWorldPosition() - entity->getPosition()).length(); 63 Vector2 coord = get2DView coordinates( // I don't understand this too63 Vector2 coord = get2DViewCoordinates( // I don't understand this too 64 64 entity->getPosition(), 65 65 entity->getOrientation() * WorldEntity::FRONT, -
code/trunk/src/modules/dodgerace/DodgeRace.cc
r10624 r11052 71 71 for (int i = 0; i < 7; i++) 72 72 { 73 BigExplosion* chunk = new BigExplosion(this->center_->getContext()); 74 chunk->setPosition(Vector3(600, 0, 100.f * i - 300)); 75 chunk->setVelocity(Vector3(1000, 0, 0)); //player->getVelocity() 76 chunk->setScale(20); 73 WeakPtr<ExplosionPart> chunk5 = new ExplosionPart(this->center_->getContext()); 74 chunk5->setPosition(Vector3(600, 0, 100.f * i - 300)); 75 chunk5->setVelocity(Vector3(1000, 0, 0)); //player->getVelocity() 76 chunk5->setScale(10); 77 chunk5->setEffect1("Orxonox/explosion2b"); 78 chunk5->setEffect2("Orxonox/smoke6"); 79 chunk5->Explode(); 80 77 81 } 78 82 } -
code/trunk/src/modules/dodgerace/DodgeRace.h
r10624 r11052 56 56 57 57 #include "core/command/ConsoleCommand.h" 58 #include "worldentities/BigExplosion.h"59 58 60 59 #include "gametypes/Deathmatch.h" -
code/trunk/src/modules/invader/Invader.cc
r10624 r11052 51 51 52 52 #include "core/command/ConsoleCommand.h" 53 #include "worldentities/ BigExplosion.h"53 #include "worldentities/ExplosionPart.h" 54 54 55 55 namespace orxonox … … 82 82 for (int i = 0; i < 7; i++) 83 83 { 84 BigExplosion* chunk = new BigExplosion(this->center_->getContext()); 85 chunk->setPosition(Vector3(600, 0, 100.f * i - 300)); 86 chunk->setVelocity(Vector3(1000, 0, 0)); //player->getVelocity() 87 chunk->setScale(20); 84 85 WeakPtr<ExplosionPart> chunk5 = new ExplosionPart(this->center_->getContext()); 86 chunk5->setPosition(this->center_->getPosition()); 87 chunk5->setVelocity(Vector3(1000, 0, 0)); //player->getVelocity() 88 chunk5->setScale(10); 89 chunk5->setEffect1("Orxonox/explosion2b"); 90 chunk5->setEffect2("Orxonox/smoke6"); 91 chunk5->setMinSpeed(0); 92 chunk5->setMaxSpeed(0); 93 chunk5->Explode(); 94 88 95 } 89 96 } -
code/trunk/src/modules/notifications/dispatchers/CommandNotification.cc
r9667 r11052 101 101 std::stringstream stream; 102 102 stream << this->getPreMessage(); 103 stream << this->bindingNiceifyer(KeyBinderManager::getInstance().getCurrent()->getBinding(this->getCommand()));103 stream << KeyBinderManager::getInstance().getCurrent()->getBindingReadable(this->getCommand()); 104 104 stream << this->getPostMessage(); 105 105 return *(new std::string(stream.str())); 106 106 } 107 108 /**109 @brief110 Transforms the input binding into a human readable form.111 @param binding112 The binding to be transformed113 @return114 Returns a human readable version of the input binding.115 */116 //TODO: Move to KeyBinderManager...117 const std::string& CommandNotification::bindingNiceifyer(const std::string& binding)118 {119 SubString substring = SubString(binding, ".");120 std::string name;121 std::string group;122 switch(substring.size())123 {124 case 0:125 return binding;126 case 1:127 return binding;128 case 2:129 group = substring[0];130 default:131 name = substring.subSet(1).join(".");132 }133 134 std::stringstream stream;135 if(group.compare("Keys") == 0)136 stream << "Key " << name.substr(3);137 else if(group.compare("MouseButtons") == 0)138 stream << "Mouse " << name;139 else if(group.compare("JoyStickButtons") == 0)140 stream << "Joystick " << name;141 else if(group.compare("JoyStickAxes") == 0)142 stream << "Joystick Axis" << name.substr(5, 6) << name.substr(name.find("Axis")+6);143 else if(group.compare("MouseAxes") == 0)144 stream << "Mouse " << name.substr(1,3) << " " << name.substr(0, 1) << "-Axis";145 else146 return binding;147 148 return *(new std::string(stream.str()));149 }150 151 107 } -
code/trunk/src/modules/notifications/dispatchers/CommandNotification.h
r9667 r11052 122 122 void setPostMessage(const std::string& message) 123 123 { this->postMessage_ = message; } 124 125 const std::string& bindingNiceifyer(const std::string& binding); //!< Transforms the input binding into a human readable form.126 127 124 }; 128 125 -
code/trunk/src/modules/objects/Turret.h
r10622 r11052 103 103 104 104 inline void setRotationThrust(float rotationthrust) 105 105 { this->rotationThrust_ = rotationthrust; } 106 106 107 107 inline float getRotationThrust() 108 108 { return this->rotationThrust_; } 109 109 110 110 protected: -
code/trunk/src/modules/overlays/OverlaysPrereqs.h
r9939 r11052 90 90 class HUDRadar; 91 91 class HUDSpeedBar; 92 class HUDShieldBar; 92 93 class HUDBoostBar; 94 class HUDRocketFuelBar; 95 class HUDEnemyHealthBar; 96 class HUDEnemyShieldBar; 97 class HUDWeaponSystem; 98 class HUDWeapon; 99 class HUDWeaponMode; 93 100 class HUDTimer; 94 101 class HUDAimAssistant; -
code/trunk/src/modules/overlays/hud/CMakeLists.txt
r9939 r11052 5 5 HUDSpeedBar.cc 6 6 HUDBoostBar.cc 7 HUDShieldBar.cc 7 8 HUDHealthBar.cc 9 HUDRocketFuelBar.cc 8 10 HUDTimer.cc 9 11 HUDEnemyHealthBar.cc 12 HUDEnemyShieldBar.cc 13 HUDWeaponMode.cc 14 HUDWeapon.cc 15 HUDWeaponSystem.cc 10 16 ChatOverlay.cc 11 17 AnnounceMessage.cc -
code/trunk/src/modules/overlays/hud/HUDBar.cc
r9667 r11052 47 47 RegisterClass(BarColour); 48 48 49 BarColour::BarColour(Context* context) 50 : BaseObject(context) 49 BarColour::BarColour(Context* context) : BaseObject(context) 51 50 { 52 51 RegisterObject(BarColour); 53 52 54 53 this->setColour(ColourValue(1.0, 1.0, 1.0, 1.0)); 55 54 this->setPosition(0.0); … … 69 68 RegisterClass(HUDBar); 70 69 71 HUDBar::HUDBar(Context* context) 72 : OrxonoxOverlay(context), right2Left_(false), autoColour_(false) 70 HUDBar::HUDBar(Context* context) : OrxonoxOverlay(context), right2Left_(false), autoColour_(false) 73 71 { 74 72 RegisterObject(HUDBar); … … 88 86 this->bar_->setMaterialName(materialname); 89 87 88 this->bar_->setPosition(0.0f,0.0f); 89 this->bar_->setDimensions(1.0f,1.0f); 90 91 this->bUseIcon_ = false; 90 92 this->value_ = 1.0f; // initialize with 1.0f to trigger a change when calling setValue(0.0f) on the line below 91 93 this->setAutoColour(true); … … 95 97 96 98 this->background_->addChild(bar_); 99 100 this->icon_ = static_cast<Ogre::PanelOverlayElement* >(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", "HUDBar_icon_" + getUniqueNumberString())); 101 this->icon_->setPosition(0.06f,0.0f); 102 this->icon_->setDimensions(0.1f,1.0f); 103 this->background_->addChild(this->icon_); 97 104 } 98 105 … … 115 122 XMLPortParam(HUDBar, "autocolour", setAutoColour, getAutoColour, xmlelement, mode); 116 123 XMLPortParam(HUDBar, "bartexture", setBarTexture, getBarTexture, xmlelement, mode); 124 XMLPortParam(HUDBar, "iconmaterial", setIconMaterial, getIconMaterial, xmlelement, mode); 117 125 XMLPortObject(HUDBar, BarColour, "", addColour, getColour, xmlelement, mode); 118 126 } … … 161 169 } 162 170 171 float height = this->bar_->getHeight(); 172 float top = this->bar_->getTop(); 173 163 174 // set value 164 175 if (this->right2Left_) 165 176 { 166 177 // backward case 167 this->bar_->setPosition(0.06f + 0.88f * (1 - this->value_), 0.0f); 168 this->bar_->setDimensions(0.88f * this->value_, 1.0f); 178 if (this->bUseIcon_) 179 { 180 this->bar_->setPosition(0.16f + 0.78f * (1 - this->value_), top); 181 this->bar_->setDimensions(0.78f * this->value_, height); 182 } 183 else 184 { 185 this->bar_->setPosition(0.06f + 0.88f * (1 - this->value_), top); 186 this->bar_->setDimensions(0.88f * this->value_, height); 187 } 169 188 } 170 189 else 171 190 { 172 191 // default case 173 this->bar_->setPosition(0.06f, 0.0f); 174 this->bar_->setDimensions(0.88f * this->value_, 1.0f); 175 } 192 if (this->bUseIcon_) 193 { 194 this->bar_->setPosition(0.16f, top); 195 this->bar_->setDimensions(0.78f * this->value_, height); 196 } 197 else 198 { 199 this->bar_->setPosition(0.06f, top); 200 this->bar_->setDimensions(0.88f * this->value_, height); 201 } 202 } 203 176 204 if (this->value_ != 0) 177 205 this->bar_->setTiling(this->value_, 1.0); … … 208 236 return this->textureUnitState_->getTextureName(); 209 237 } 238 239 void HUDBar::setIconMaterial(const std::string& iconMaterial) 240 { 241 this->bUseIcon_ = true; 242 this->icon_->setMaterialName(iconMaterial); 243 valueChanged(); 244 } 245 246 const std::string& HUDBar::getIconMaterial() const 247 { 248 return this->icon_->getMaterialName(); 249 } 210 250 } -
code/trunk/src/modules/overlays/hud/HUDBar.h
r9667 r11052 37 37 #include <map> 38 38 #include <vector> 39 #include <OgrePanelOverlayElement.h> 39 40 40 41 #include "util/Math.h" … … 51 52 virtual ~BarColour() { } 52 53 53 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 54 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 54 55 55 56 void setColour(const ColourValue& colour) { this->colour_ = colour; } … … 115 116 const std::string& getBarTexture() const; 116 117 118 void setIconMaterial(const std::string& iconMaterial); 119 const std::string& getIconMaterial() const; 120 117 121 inline const ColourValue& getCurrentBarColour() const 118 122 { return this->currentColour_; } 119 123 124 inline void setIconPosition(Vector2 position) 125 { this->icon_->setPosition(position.x, position.y); } 126 inline void setIconDimensions(Vector2 dimensions) 127 { this->icon_->setDimensions(dimensions.x, dimensions.y); } 128 120 129 protected: 121 130 virtual void valueChanged(); 122 123 131 private: 124 132 void addColour(BarColour* colour); … … 129 137 float value_; //!< progress of bar 130 138 ColourValue currentColour_; 139 bool bUseIcon_; 131 140 132 141 Ogre::PanelOverlayElement* bar_; 133 142 Ogre::TextureUnitState* textureUnitState_; 143 Ogre::PanelOverlayElement* icon_; 134 144 std::map<float, ColourValue> colours_; 135 145 std::vector<BarColour*> barColours_; -
code/trunk/src/modules/overlays/hud/HUDBoostBar.cc
r9667 r11052 59 59 if (this->owner_->isBoostCoolingDown()) 60 60 { 61 this->setBackgroundColour(ColourValue(0.7f, 0.2f, 0.2f));61 //this->setBackgroundColour(ColourValue(0.7f, 0.2f, 0.2f)); 62 62 if (this->flashDt_ <= 0.0f) 63 63 { … … 72 72 this->flashDt_ = 0.0f; 73 73 this->show(); 74 this->setBackgroundColour(ColourValue(0.2f, 0.7f, 0.2f));74 //this->setBackgroundColour(ColourValue(0.2f, 0.7f, 0.2f)); 75 75 } 76 76 -
code/trunk/src/modules/overlays/hud/HUDHealthBar.cc
r9667 r11052 45 45 this->owner_ = 0; 46 46 this->bUseBarColour_ = false; 47 this->textOffset_ = Vector2(0.0f, 0.0f); 48 this->textScale_ = 1.0f; 49 50 this->setIconPosition(Vector2(0.05f,0.5f)); 51 this->setIconDimensions(Vector2(0.1f,0.5f)); 47 52 48 53 this->textoverlay_ = new OverlayText(this->getContext()); … … 51 56 52 57 this->textoverlay_->setCaption(""); 58 this->textoverlay_->setAspectCorrection(false); 59 60 positionText(); 53 61 } 54 62 … … 58 66 { 59 67 this->textoverlay_->destroy(); 60 this->textoverlay_ = 0;68 this->textoverlay_ = NULL; 61 69 } 62 70 } … … 70 78 XMLPortParam(HUDHealthBar, "textusebarcolour", setTextUseBarColour, getTextUseBarColour, xmlelement, mode).defaultValues(false); 71 79 XMLPortParam(HUDHealthBar, "textcolour", setTextColour, getTextColour, xmlelement, mode).defaultValues(ColourValue(1.0, 1.0, 1.0, 1.0)); 72 XMLPortParam(HUDHealthBar, "textsize", setTextSize, getTextSize, xmlelement, mode).defaultValues(1.0f);73 80 XMLPortParam(HUDHealthBar, "textalign", setTextAlignmentString, getTextAlignmentString, xmlelement, mode).defaultValues("left"); 74 81 XMLPortParam(HUDHealthBar, "textoffset", setTextOffset, getTextOffset, xmlelement, mode).defaultValues(Vector2::ZERO); 82 XMLPortParam(HUDHealthBar, "textscale", setTextScale, getTextScale, xmlelement, mode).defaultValues(1.0f); 75 83 XMLPortParam(HUDHealthBar, "textpickpoint", setTextPickPoint, getTextPickPoint, xmlelement, mode).defaultValues(Vector2::ZERO); 76 84 XMLPortParam(HUDHealthBar, "textrotation", setTextRotation, getTextRotation, xmlelement, mode).defaultValues(0.0f); 77 XMLPortParam(HUDHealthBar, "textcorrectaspect", setTextAspectCorrection, getTextAspectCorrection, xmlelement, mode).defaultValues(true);78 85 XMLPortParam(HUDHealthBar, "textspacewidth", setTextSpaceWidth, getTextSpaceWidth, xmlelement, mode).defaultValues(true); 79 86 } … … 139 146 this->textoverlay_->setColour(this->textColour_); 140 147 } 148 149 void HUDHealthBar::positionText() 150 { 151 this->textoverlay_->setPosition(this->getPosition() + this->textOffset_*this->getActualSize()); 152 this->textoverlay_->setTextSize(this->getActualSize().y*this->textScale_); 153 } 154 155 void HUDHealthBar::positionChanged() 156 { 157 HUDBar::positionChanged(); 158 positionText(); 159 } 160 161 void HUDHealthBar::sizeChanged() 162 { 163 HUDBar::sizeChanged(); 164 positionText(); 165 } 141 166 } -
code/trunk/src/modules/overlays/hud/HUDHealthBar.h
r10624 r11052 75 75 { return this->textoverlay_->getAlignmentString(); } 76 76 77 inline void setTextSize(float size)78 { this->textoverlay_->setTextSize(size); }79 inline float getTextSize() const80 { return this->textoverlay_->getTextSize(); }81 82 77 inline void setTextVisible(bool bVisible) 83 78 { this->textoverlay_->setVisible(bVisible); } 84 79 inline bool getTextVisible() const 85 80 { return this->textoverlay_->isVisible(); } 81 82 inline void setTextScale(float scale) 83 { this->textScale_ = scale; 84 positionText(); 85 } 86 inline float getTextScale() const 87 { return this->textScale_; } 86 88 87 89 inline void setTextPickPoint(const Vector2& pickpoint) … … 91 93 92 94 inline void setTextOffset(const Vector2& position) 93 { this->textoverlay_->setPosition(this->getPosition() + (position - this->getPickPoint()) * this->getSize()); } 95 { this->textOffset_ = position; 96 this->positionText(); 97 } 94 98 inline Vector2 getTextOffset() const 95 { return (this->textoverlay_->getPosition() - this->getPosition()) / this->getSize() + this->getPickPoint(); } 96 97 inline void setTextAspectCorrection(bool correct) 98 { this->textoverlay_->setAspectCorrection(correct); } 99 inline bool getTextAspectCorrection() const 100 { return this->textoverlay_->getAspectCorrection(); } 99 { return this->textOffset_; } 101 100 102 101 inline void setTextRotation(const Degree& angle) … … 112 111 inline void setHealthBarOwner(Pawn* owner) 113 112 { this->owner_ = owner; } 114 113 protected: 114 virtual void positionChanged(); 115 virtual void sizeChanged(); 115 116 private: 117 virtual void positionText(); 116 118 WeakPtr<Pawn> owner_; 117 119 StrongPtr<OverlayText> textoverlay_; 118 120 bool bUseBarColour_; 119 121 ColourValue textColour_; 122 Vector2 textOffset_; 123 float textScale_; 120 124 }; 121 125 } -
code/trunk/src/modules/overlays/hud/HUDRadar.cc
r9945 r11052 240 240 } 241 241 else 242 coord = get2DView coordinates(this->owner_->getPosition(), this->owner_->getOrientation() * WorldEntity::FRONT, this->owner_->getOrientation() * WorldEntity::UP, wePointer->getWorldPosition());242 coord = get2DViewCoordinates(this->owner_->getPosition(), this->owner_->getOrientation() * WorldEntity::FRONT, this->owner_->getOrientation() * WorldEntity::UP, wePointer->getWorldPosition()); 243 243 244 244 coord *= math::pi / 3.5f; // small adjustment to make it fit the texture -
code/trunk/src/modules/pickup/PickupPrereqs.h
r9348 r11052 85 85 class ShrinkPickup; 86 86 class DamageBoostPickup; 87 class MunitionPickup; 88 class MunitionContainer; 87 89 } 88 90 -
code/trunk/src/modules/pickup/PickupRepresentation.cc
r9667 r11052 187 187 Billboard* icon = new Billboard(spawner->getContext()); 188 188 icon->setColour(ColourValue(0.89f, 0.79f, 0.08f)); 189 icon->setMaterial(" asterisk");189 icon->setMaterial("Unknown"); 190 190 icon->setScale(0.5); 191 191 sphere->attach(icon); -
code/trunk/src/modules/pickup/items/CMakeLists.txt
r9348 r11052 8 8 ShrinkPickup.cc 9 9 DamageBoostPickup.cc 10 BoostPickup.cc 11 MunitionPickup.cc 12 MunitionContainer.cc 10 13 ) -
code/trunk/src/modules/pickup/items/DronePickup.h
r9667 r11052 43 43 #include "tools/interfaces/Tickable.h" 44 44 45 namespace orxonox { 45 namespace orxonox 46 { 46 47 47 48 /** … … 80 81 std::string droneTemplate_; //!< The name of the template, based upon which the Drone is created. 81 82 Pawn* carrierToPawnHelper(void); //!< Helper to transform the PickupCarrier to a Pawn, and throw an error message if the conversion fails. 82 83 84 85 83 }; 86 84 } -
code/trunk/src/modules/towerdefense/TowerDefenseField.cc
- Property svn:eol-style set to native
-
code/trunk/src/modules/towerdefense/TowerDefenseField.h
- Property svn:eol-style set to native
-
code/trunk/src/modules/towerdefense/TowerDefenseSelecter.cc
r10629 r11052 88 88 { 89 89 moveDownPressed_ = false; 90 90 selectedPos_->Set(selecterPosX, selecterPosY - 1); 91 91 updatePosition(); 92 92 } … … 100 100 { 101 101 moveRightPressed_ = false; 102 102 selectedPos_->Set(selecterPosX + 1, selecterPosY); 103 103 updatePosition(); 104 104 } -
code/trunk/src/modules/towerdefense/TowerDefenseTower.cc
r10727 r11052 61 61 { 62 62 upgrade++; 63 float reloadrate = getReloadRate();64 float reloadwaittime = getReloadWaitTime();65 63 this->setDamageMultiplier((upgrade+1)*2.0f); 64 66 65 //this->setRotationThrust(2*this->getRotationThrust()); 67 reloadrate = 0.5f*reloadrate;68 reloadwaittime = 0.5f*reloadwaittime;69 setReloadRate(reloadrate);70 setReloadWaitTime(reloadwaittime);71 66 //this->addTemplate("towerturret1"); 72 67 } -
code/trunk/src/modules/weapons/IceGunFreezer.cc
- Property svn:eol-style set to native
-
code/trunk/src/modules/weapons/IceGunFreezer.h
- Property svn:eol-style set to native
-
code/trunk/src/modules/weapons/WeaponsPrereqs.h
r10622 r11052 69 69 { 70 70 class MuzzleFlash; 71 class IceGunFreezer; 72 class RocketController; 71 73 72 74 // munitions 73 75 class FusionMunition; 74 76 class LaserMunition; 75 class ReplenishingMunition;76 77 class RocketMunition; 77 78 class GravityBombMuntion; 79 class IceMunition; 80 class LightningMunition; 81 class SplitMunition; 78 82 79 83 // projectiles … … 81 85 class LightningGunProjectile; 82 86 class ParticleProjectile; 87 class IceProjectile; 88 class SplitProjectile; 83 89 class Projectile; 90 class BasicProjectile; 84 91 class Rocket; 85 92 class RocketOld; … … 91 98 class FusionFire; 92 99 class HsW01; 100 class IceGun; 101 class SplitGun; 93 102 class LaserFire; 94 103 class LightningGun; 104 class MineGun; 95 105 class RocketFire; 96 106 class RocketFireOld; -
code/trunk/src/modules/weapons/munitions/CMakeLists.txt
r10629 r11052 1 1 ADD_SOURCE_FILES(WEAPONS_SRC_FILES 2 ReplenishingMunition.cc3 2 LaserMunition.cc 3 LightningMunition.cc 4 4 FusionMunition.cc 5 5 RocketMunition.cc … … 7 7 IceMunition.cc 8 8 SplitMunition.cc 9 MineMunition.cc 9 10 ) -
code/trunk/src/modules/weapons/munitions/FusionMunition.cc
r9667 r11052 28 28 29 29 /** 30 @file FusionMunition. h30 @file FusionMunition.cc 31 31 @brief Implementation of the FusionMunition class. 32 32 */ … … 34 34 #include "FusionMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 45 46 this->maxMunitionPerMagazine_ = 10; 46 47 this->maxMagazines_ = 10; 47 this-> magazines_ = 10;48 this->unassignedMagazines_ = 10; 48 49 49 this-> bUseSeparateMagazines_ = true;50 this->bStackMunition_ = false; 50 this->deployment_ = MunitionDeployment::Separate; 51 51 52 this->reloadTime_ = 1.0f; 52 53 53 54 this->bAllowMunitionRefilling_ = true; 54 55 this->bAllowMultiMunitionRemovementUnderflow_ = true; 56 57 this->reloadTime_ = 0.5f; 58 } 59 60 void FusionMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 61 { 62 SUPER(FusionMunition, XMLPort, xmlelement, mode); 55 63 } 56 64 } -
code/trunk/src/modules/weapons/munitions/FusionMunition.h
r9667 r11052 53 53 FusionMunition(Context* context); 54 54 virtual ~FusionMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/trunk/src/modules/weapons/munitions/GravityBombMunition.cc
r10622 r11052 7 7 #include "GravityBombMunition.h" 8 8 #include "core/CoreIncludes.h" 9 #include "core/XMLPort.h" 9 10 10 11 namespace orxonox … … 17 18 this->maxMunitionPerMagazine_ = 1; 18 19 this->maxMagazines_ = 30; 19 this-> magazines_ = 15;20 this->unassignedMagazines_ = 15; 20 21 21 this->bUseSeparateMagazines_ = false; 22 this->bStackMunition_ = true; 22 this->deployment_ = MunitionDeployment::Stack; 23 23 24 24 this->bAllowMunitionRefilling_ = true; 25 25 this->bAllowMultiMunitionRemovementUnderflow_ = false; 26 27 this->reloadTime_ = 0.0f; 26 28 } 27 29 30 void GravityBombMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 31 { 32 SUPER(GravityBombMunition, XMLPort, xmlelement, mode); 33 } 28 34 } 29 35 -
code/trunk/src/modules/weapons/munitions/GravityBombMunition.h
r10622 r11052 28 28 GravityBombMunition(Context* context); 29 29 virtual ~GravityBombMunition() {} 30 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 30 31 }; 31 32 -
code/trunk/src/modules/weapons/munitions/IceMunition.cc
- Property svn:eol-style set to native
r10629 r11052 28 28 29 29 /** 30 @file IceMunition. h30 @file IceMunition.cc 31 31 @brief Implementation of the IceMunition class. 32 32 */ … … 34 34 #include "IceMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 45 46 this->maxMunitionPerMagazine_ = 1; 46 47 this->maxMagazines_ = 50; 47 this-> magazines_ = 25;48 this->unassignedMagazines_ = 25; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Stack; 51 51 52 this->bAllowMunitionRefilling_ = false;52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = false; 54 55 this->reloadTime_ = 0.5f; 56 } 57 58 void IceMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 59 { 60 SUPER(IceMunition, XMLPort, xmlelement, mode); 54 61 } 55 62 } -
code/trunk/src/modules/weapons/munitions/IceMunition.h
- Property svn:eol-style set to native
r10629 r11052 53 53 IceMunition(Context* context); 54 54 virtual ~IceMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/trunk/src/modules/weapons/munitions/LaserMunition.cc
r9667 r11052 28 28 29 29 /** 30 @file LaserMunition. h30 @file LaserMunition.cc 31 31 @brief Implementation of the LaserMunition class. 32 32 */ … … 34 34 #include "LaserMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 44 45 45 46 this->maxMunitionPerMagazine_ = 20; 46 this->maxMagazines_ = 1 ;47 this-> magazines_ = 1;47 this->maxMagazines_ = 10; 48 this->unassignedMagazines_ = 10; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Separate; 51 51 52 52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = true; 54 54 55 this->replenishInterval_ = 0.5f; 56 this->replenishMunitionAmount_ = 1; 55 this->replenishInterval_ = 7.0f; 56 this->replenishAmount_ = 1; 57 58 this->reloadTime_ = 0.5f; 59 } 60 61 void LaserMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 62 { 63 SUPER(LaserMunition, XMLPort, xmlelement, mode); 57 64 } 58 65 } -
code/trunk/src/modules/weapons/munitions/LaserMunition.h
r9667 r11052 36 36 37 37 #include "weapons/WeaponsPrereqs.h" 38 #include " ReplenishingMunition.h"38 #include "weaponsystem/ReplenishingMunition.h" 39 39 40 40 namespace orxonox … … 53 53 LaserMunition(Context* context); 54 54 virtual ~LaserMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/trunk/src/modules/weapons/munitions/RocketMunition.cc
r9667 r11052 28 28 29 29 /** 30 @file RocketMunition. h30 @file RocketMunition.cc 31 31 @brief Implementation of the RocketMunition class. 32 32 */ … … 34 34 #include "RocketMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 45 46 this->maxMunitionPerMagazine_ = 1; 46 47 this->maxMagazines_ = 30; 47 this-> magazines_ = 10;48 this->unassignedMagazines_ = 10; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Stack; 51 51 52 this->bAllowMunitionRefilling_ = false;52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = false; 54 55 this->reloadTime_ = 0.5f; 56 } 57 58 void RocketMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 59 { 60 SUPER(RocketMunition, XMLPort, xmlelement, mode); 54 61 } 55 62 } -
code/trunk/src/modules/weapons/munitions/RocketMunition.h
r9667 r11052 53 53 RocketMunition(Context* context); 54 54 virtual ~RocketMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/trunk/src/modules/weapons/munitions/SplitMunition.cc
- Property svn:eol-style set to native
r10629 r11052 28 28 29 29 /** 30 @file SplitMunition. h30 @file SplitMunition.cc 31 31 @brief Implementation of the SplitMunition class. 32 32 */ … … 34 34 #include "SplitMunition.h" 35 35 #include "core/CoreIncludes.h" 36 #include "core/XMLPort.h" 36 37 37 38 namespace orxonox … … 43 44 RegisterObject(SplitMunition); 44 45 45 this->maxMunitionPerMagazine_ = 1;46 this->maxMagazines_ = 10 0;47 this-> magazines_ = 25;46 this->maxMunitionPerMagazine_ = 5; 47 this->maxMagazines_ = 10; 48 this->unassignedMagazines_ = 5; 48 49 49 this->bUseSeparateMagazines_ = false; 50 this->bStackMunition_ = true; 50 this->deployment_ = MunitionDeployment::Share; 51 51 52 52 this->bAllowMunitionRefilling_ = true; 53 53 this->bAllowMultiMunitionRemovementUnderflow_ = false; 54 55 this->reloadTime_ = 0.5f; 56 } 57 58 void SplitMunition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 59 { 60 SUPER(SplitMunition, XMLPort, xmlelement, mode); 54 61 } 55 62 } -
code/trunk/src/modules/weapons/munitions/SplitMunition.h
- Property svn:eol-style set to native
r10629 r11052 53 53 SplitMunition(Context* context); 54 54 virtual ~SplitMunition() {} 55 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 55 56 }; 56 57 } -
code/trunk/src/modules/weapons/projectiles/BasicProjectile.cc
r10293 r11052 68 68 @brief 69 69 The function called when a projectile hits another thing. 70 Calls the hit-function, starts the reloadcountdown, displays visual hit effects defined in Pawn.70 Calls the hit-function, starts the shield recharge countdown, displays visual hit effects defined in Pawn. 71 71 Needs to be called in the collidesAgainst() function by every Class directly inheriting from BasicProjectile. 72 72 @param otherObject … … 97 97 { 98 98 victim->hit(this->getShooter(), contactPoint, cs, this->getDamage(), this->getHealthDamage(), this->getShieldDamage()); 99 victim->start ReloadCountdown();99 victim->startShieldRechargeCountdown(); 100 100 } 101 101 -
code/trunk/src/modules/weapons/projectiles/CMakeLists.txt
r10629 r11052 12 12 GravityBomb.cc 13 13 GravityBombField.cc 14 MineProjectile.cc 14 15 ) -
code/trunk/src/modules/weapons/projectiles/GravityBombField.cc
r10622 r11052 164 164 if (lifetime_ <= -4) 165 165 { 166 orxout(debug_output) << "Timeout. Destroying field." << endl;167 166 this->destroy(); 168 167 } -
code/trunk/src/modules/weapons/projectiles/IceGunProjectile.cc
- Property svn:eol-style set to native
r10629 r11052 34 34 #include "IceGunProjectile.h" 35 35 36 #include <OgreSceneManager.h> 37 #include <OgreSceneNode.h> 38 36 39 #include "core/CoreIncludes.h" 37 40 #include "graphics/Model.h" 41 #include "graphics/ParticleSpawner.h" 42 #include "Scene.h" 43 #include "core/command/Executor.h" 44 #include "tools/ParticleInterface.h" 38 45 39 46 namespace orxonox 40 47 { 41 48 RegisterClass(IceGunProjectile); 49 50 const float IceGunProjectile::particleDestructionDelay_ = 15.0f; 42 51 43 52 IceGunProjectile::IceGunProjectile(Context* context) : Projectile(context) … … 55 64 this->attach(model); 56 65 model->setPosition(Vector3(0,0,0)); 66 67 // Add effect. 68 spawner_ = new ParticleSpawner(this->getContext()); 69 this->attach(spawner_); 70 spawner_->setOrientation(this->getOrientation()); 71 spawner_->setSource("Orxonox/ice"); 72 spawner_->setDeleteWithParent(false); 73 spawner_->setDestroydelay(particleDestructionDelay_); 74 } 75 76 IceGunProjectile::~IceGunProjectile() 77 { 78 if (this->isInitialized()) 79 { 80 const Vector3& pos = spawner_->getWorldPosition(); 81 const Quaternion& rot = spawner_->getWorldOrientation(); 82 this->detach(spawner_); 83 spawner_->setPosition(pos); 84 spawner_->setOrientation(rot); 85 this->getScene()->getRootSceneNode()->addChild(const_cast<Ogre::SceneNode*>(spawner_->getNode())); 86 this->spawner_->stop(true); 87 } 57 88 } 58 89 -
code/trunk/src/modules/weapons/projectiles/IceGunProjectile.h
- Property svn:eol-style set to native
r10629 r11052 56 56 public: 57 57 IceGunProjectile(Context* context); 58 virtual ~IceGunProjectile() {}58 virtual ~IceGunProjectile(); 59 59 60 60 virtual void setFreezeTime(float freezeTime); … … 63 63 protected: 64 64 virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint); 65 private: 65 static const float particleDestructionDelay_; 66 private: 67 ParticleSpawner* spawner_; 66 68 float freezeTime_; //The duration of the freezing effect on a target 67 69 float freezeFactor_; //The strength of the freezing effect -
code/trunk/src/modules/weapons/projectiles/Projectile.h
r10629 r11052 69 69 protected: 70 70 virtual void setCollisionShapeRadius(float radius); 71 float lifetime_; //!< The time the projectile exists. 71 72 72 73 private: 73 float lifetime_; //!< The time the projectile exists.74 74 Timer destroyTimer_; //!< Timer to destroy the projectile after its lifetime has run out. 75 WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile. 75 WeakPtr<SphereCollisionShape> collisionShape_; // The collision shape of the projectile. 76 76 }; 77 77 } -
code/trunk/src/modules/weapons/projectiles/Rocket.cc
r10622 r11052 66 66 67 67 this->localAngularVelocity_ = 0; 68 this->lifetime_ = 100.0f;68 this->lifetime_ = 20.0f; 69 69 70 70 if (GameMode::isMaster()) … … 76 76 Model* model = new Model(this->getContext()); 77 77 model->setMeshSource("rocket.mesh"); 78 model->scale( 0.7f);78 model->scale(1.0f); 79 79 this->attach(model); 80 80 … … 100 100 this->attachCollisionShape(collisionShape); 101 101 102 this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this)));103 104 102 // Add sound 105 103 this->defSndWpnEngine_ = new WorldSound(this->getContext()); … … 114 112 this->defSndWpnLaunch_->setVolume(1.0f); 115 113 this->attach(defSndWpnLaunch_); 114 115 this->setHudTemplate("rockethud"); 116 116 } 117 117 else … … 320 320 } 321 321 322 float Rocket::getFuel() const 323 { 324 return this->destroyTimer_.getRemainingTime(); 325 } 326 327 void Rocket::setMaxFuel(float fuel) 328 { 329 this->lifetime_ = fuel; 330 this->destroyTimer_.setTimer(this->lifetime_, false, createExecutor(createFunctor(&BasicProjectile::destroyObject, this))); 331 } 322 332 } -
code/trunk/src/modules/weapons/projectiles/Rocket.h
r10216 r11052 118 118 virtual void fired(unsigned int firemode); 119 119 120 /** 121 @brief Set the maximum lifetime of the rocket. 122 */ 123 virtual void setMaxFuel(float fuel); 124 /** 125 @brief Get the maximum lifetime of the rocket. 126 */ 127 inline float getMaxFuel() const 128 { return lifetime_; } 129 virtual float getFuel() const; 130 120 131 private: 121 132 Vector3 localAngularVelocity_; //!< Variable to temporarily store accumulated steering command input. -
code/trunk/src/modules/weapons/projectiles/SimpleRocket.cc
r10299 r11052 76 76 Model* model = new Model(this->getContext()); 77 77 model->setMeshSource("rocket.mesh"); 78 model->scale( 0.7f);78 model->scale(1.0f); 79 79 this->attach(model); 80 80 -
code/trunk/src/modules/weapons/projectiles/SplitGunProjectile.cc
- Property svn:eol-style set to native
-
code/trunk/src/modules/weapons/projectiles/SplitGunProjectile.h
- Property svn:eol-style set to native
-
code/trunk/src/modules/weapons/weaponmodes/CMakeLists.txt
r10629 r11052 11 11 SimpleRocketFire.cc 12 12 GravityBombFire.cc 13 MineGun.cc 13 14 ) -
code/trunk/src/modules/weapons/weaponmodes/EnergyDrink.cc
r10622 r11052 63 63 this->delayTimer_.setTimer(1.0f, false, createExecutor(createFunctor(&EnergyDrink::shot, this))); 64 64 this->delayTimer_.stopTimer(); 65 66 hudImageString_ = "Orxonox/WSHUD_WM_EnergyDrink"; 65 67 } 66 68 -
code/trunk/src/modules/weapons/weaponmodes/FusionFire.cc
r10622 r11052 58 58 59 59 this->setMunitionName("FusionMunition"); 60 61 hudImageString_ = "Orxonox/WSHUD_WM_FusionFire"; 60 62 } 61 63 -
code/trunk/src/modules/weapons/weaponmodes/GravityBombFire.cc
r10622 r11052 31 31 this->setMunitionName("GravityBombMunition"); 32 32 this->setDefaultSoundWithVolume("sounds/Rocket_launch.ogg",0.8); ///< sets sound of the bomb as it is fired. 33 34 hudImageString_ = "Orxonox/WSHUD_WM_GravityBombFire"; 33 35 } 34 36 -
code/trunk/src/modules/weapons/weaponmodes/HsW01.cc
r10296 r11052 69 69 70 70 this->setDefaultSound(this->sound_); 71 72 hudImageString_ = "Orxonox/WSHUD_WM_HsW01"; 71 73 } 72 74 -
code/trunk/src/modules/weapons/weaponmodes/IceGun.cc
- Property svn:eol-style set to native
r10629 r11052 59 59 this->setFreezeFactor(0.5); 60 60 61 this->setMunitionName(" LaserMunition");61 this->setMunitionName("IceMunition"); 62 62 this->setDefaultSound("sounds/Weapon_LightningGun.ogg"); 63 64 hudImageString_ = "Orxonox/WSHUD_WM_IceGun"; 63 65 } 64 66 -
code/trunk/src/modules/weapons/weaponmodes/IceGun.h
- Property svn:eol-style set to native
-
code/trunk/src/modules/weapons/weaponmodes/LaserFire.cc
r10622 r11052 56 56 57 57 this->setMunitionName("LaserMunition"); 58 59 hudImageString_ = "Orxonox/WSHUD_WM_LaserFire"; 58 60 } 59 61 -
code/trunk/src/modules/weapons/weaponmodes/LightningGun.cc
r10296 r11052 54 54 this->speed_ = 750.0f; 55 55 56 this->setMunitionName("L aserMunition");56 this->setMunitionName("LightningMunition"); 57 57 this->setDefaultSound("sounds/Weapon_LightningGun.ogg"); 58 59 hudImageString_ = "Orxonox/WSHUD_WM_LightningGun"; 58 60 } 59 61 -
code/trunk/src/modules/weapons/weaponmodes/RocketFire.cc
r10296 r11052 41 41 #include "weaponsystem/WeaponSystem.h" 42 42 #include "worldentities/pawns/Pawn.h" 43 43 #include "core/XMLPort.h" 44 44 #include "weapons/projectiles/Rocket.h" 45 45 … … 56 56 this->damage_ = 0.0f; 57 57 this->speed_ = 500.0f; 58 this->fuel_ = 10.0f; 58 59 59 60 this->setMunitionName("RocketMunition"); 60 61 // The firing sound of the Rocket is played in Rocket.cc (because of OpenAl sound positioning) 62 63 hudImageString_ = "Orxonox/WSHUD_WM_RocketFire"; 61 64 } 62 65 63 66 RocketFire::~RocketFire() 64 67 { 68 } 69 70 /** 71 @brief 72 XMLPort for the RocketFire. You can define the maximum lifetime of the rockets 73 */ 74 void RocketFire::XMLPort(Element& xmlelement, XMLPort::Mode mode) 75 { 76 SUPER(RocketFire, XMLPort, xmlelement, mode); 77 78 XMLPortParam(RocketFire, "fuel", setFuel, getFuel, xmlelement, mode); 65 79 } 66 80 … … 77 91 rocket->setPosition(this->getMuzzlePosition()); 78 92 rocket->setVelocity(this->getMuzzleDirection() * this->speed_); 79 rocket->scale( 2);93 rocket->scale(1.0f); 80 94 81 95 rocket->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()); … … 83 97 rocket->setShieldDamage(this->getShieldDamage()); 84 98 rocket->setHealthDamage(this->getHealthDamage()); 99 rocket->setMaxFuel(this->fuel_); 85 100 } 86 101 } -
code/trunk/src/modules/weapons/weaponmodes/RocketFire.h
r9667 r11052 54 54 virtual ~RocketFire(); 55 55 56 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 57 56 58 virtual void fire(); 59 inline void setFuel(float fuel) 60 { this->fuel_ = fuel; } 61 inline float getFuel() const 62 { return this->fuel_; } 57 63 58 64 private: 59 65 float speed_; //!< The speed of the Rocket. 66 float fuel_; //!< The maximum lifetime of the rocket 60 67 }; 61 68 } -
code/trunk/src/modules/weapons/weaponmodes/RocketFireOld.cc
r10622 r11052 59 59 this->setMunitionName("RocketMunition"); 60 60 // The firing sound of the Rocket is played in Rocket.cc (because of OpenAl sound positioning) 61 62 hudImageString_ = "Orxonox/WSHUD_WM_SimpleRocketFire"; 61 63 } 62 64 -
code/trunk/src/modules/weapons/weaponmodes/SimpleRocketFire.cc
r9667 r11052 64 64 this->setDefaultSoundWithVolume("sounds/Rocket_launch.ogg",0.4f); 65 65 // The firing sound of the Rocket is played in Rocket.cc (because of OpenAl sound positioning) 66 67 hudImageString_ = "Orxonox/WSHUD_WM_SimpleRocketFire"; 66 68 } 67 69 … … 83 85 rocket->setVelocity(this->getMuzzleDirection()*this->speed_); 84 86 rocket->setShooter(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn()); 87 rocket->scale(1.0f); 85 88 86 89 rocket->setDamage(this->damage_); … … 89 92 90 93 WorldEntity* pawn = static_cast<ControllableEntity*>(this->getWeapon()->getWeaponPack()->getWeaponSystem()->getPawn())->getTarget(); 91 if (pawn) controller->setTarget(pawn); 94 if (pawn) 95 controller->setTarget(pawn); 92 96 } 93 97 } -
code/trunk/src/modules/weapons/weaponmodes/SplitGun.cc
- Property svn:eol-style set to native
r10629 r11052 35 35 36 36 #include "core/CoreIncludes.h" 37 #include "core/XMLPort.h" 37 #include "core/XMLPort.h" 38 38 #include "weaponsystem/Weapon.h" 39 39 #include "weaponsystem/WeaponPack.h" … … 62 62 this->setMunitionName("SplitMunition"); 63 63 this->setDefaultSound("sounds/Weapon_LightningGun.ogg"); 64 65 hudImageString_ = "Orxonox/WSHUD_WM_SplitGun"; 64 66 } 65 67 -
code/trunk/src/modules/weapons/weaponmodes/SplitGun.h
- Property svn:eol-style set to native
-
code/trunk/src/orxonox/OrxonoxPrereqs.h
r10624 r11052 167 167 class DefaultWeaponmodeLink; 168 168 class Munition; 169 class ReplenishingMunition; 169 170 class Weapon; 170 171 class WeaponMode; … … 175 176 176 177 // worldentities 177 class BigExplosion;178 178 class CameraPosition; 179 179 class ControllableEntity; -
code/trunk/src/orxonox/controllers/ArtificialController.cc
r10631 r11052 94 94 return; 95 95 96 static const float hardcoded_projectile_speed= 750;97 98 this->targetPosition_ = getPredictedPosition(this->getControllableEntity()->getWorldPosition(), hardcoded_projectile_speed, this->target_->getWorldPosition(), this->target_->getVelocity());96 static const float HARDCODED_PROJECTILE_SPEED = 750; 97 98 this->targetPosition_ = getPredictedPosition(this->getControllableEntity()->getWorldPosition(), HARDCODED_PROJECTILE_SPEED, this->target_->getWorldPosition(), this->target_->getVelocity()); 99 99 this->bHasTargetPosition_ = (this->targetPosition_ != Vector3::ZERO); 100 100 -
code/trunk/src/orxonox/controllers/CMakeLists.txt
r10216 r11052 11 11 FormationController.cc 12 12 ControllerDirector.cc 13 DivisionController.cc 14 WingmanController.cc 15 SectionController.cc 16 CommonController.cc 17 ActionpointController.cc 18 FlyingController.cc 19 FightingController.cc 20 MasterController.cc 13 21 ) -
code/trunk/src/orxonox/controllers/FormationController.cc
r10631 r11052 277 277 } 278 278 279 Vector2 coord = get2DView coordinates(this->getControllableEntity()->getPosition(), this->getControllableEntity()->getOrientation() * WorldEntity::FRONT, this->getControllableEntity()->getOrientation() * WorldEntity::UP, target);279 Vector2 coord = get2DViewCoordinates(this->getControllableEntity()->getPosition(), this->getControllableEntity()->getOrientation() * WorldEntity::FRONT, this->getControllableEntity()->getOrientation() * WorldEntity::UP, target); 280 280 float distance = (target - this->getControllableEntity()->getPosition()).length(); 281 281 float rotateX = clamp(coord.x * 10, -1.0f, 1.0f); … … 970 970 if (controller) 971 971 { 972 if (controller->getIdentifier()->getName() == "MasterController") 973 return true; 972 974 FormationController* ac = orxonox_cast<FormationController*>(controller); 973 975 if (ac) … … 981 983 if (controller) 982 984 { 985 if (controller->getIdentifier()->getName() == "MasterController") 986 return true; 983 987 FormationController* ac = orxonox_cast<FormationController*>(controller); 984 988 if (ac) … … 1069 1073 return; 1070 1074 1071 Vector2 coord = get2DView coordinates(this->getControllableEntity()->getPosition(), this->getControllableEntity()->getOrientation() * WorldEntity::FRONT, this->getControllableEntity()->getOrientation() * WorldEntity::UP, target);1075 Vector2 coord = get2DViewCoordinates(this->getControllableEntity()->getPosition(), this->getControllableEntity()->getOrientation() * WorldEntity::FRONT, this->getControllableEntity()->getOrientation() * WorldEntity::UP, target); 1072 1076 float distance = (target - this->getControllableEntity()->getPosition()).length(); 1073 1077 -
code/trunk/src/orxonox/controllers/HumanController.cc
r10624 r11052 199 199 @brief 200 200 Starts the boosting mode. 201 Resets the boosting timeout and ells the ControllableEntity to boost (or not boost anymore).201 Resets the boosting timeout and tells the ControllableEntity to boost (or not boost anymore). 202 202 */ 203 203 void HumanController::startBoosting(void) -
code/trunk/src/orxonox/gametypes/Dynamicmatch.cc
r10624 r11052 86 86 } 87 87 88 Dynamicmatch::~Dynamicmatch() 89 { 90 for (std::set<Timer*>::iterator it = this->piggyTimers_.begin(); it != this->piggyTimers_.end(); ++it) 91 delete (*it); 92 } 93 88 94 void Dynamicmatch::setConfigValues() 89 95 { … … 312 318 spaceship->addSpeedFactor(5); 313 319 ExecutorPtr executor = createExecutor(createFunctor(&Dynamicmatch::resetSpeedFactor, this)); 314 executor->setDefaultValue(0, spaceship); 315 new Timer(10, false, executor, true); 320 Timer* timer = new Timer(10, false, executor); 321 executor->setDefaultValue(0, spaceship); // TODO: use WeakPtr because spaceship can be destroyed in the meantime 322 executor->setDefaultValue(1, timer); 323 this->piggyTimers_.insert(timer); 316 324 } 317 325 } … … 590 598 } 591 599 592 void Dynamicmatch::resetSpeedFactor(SpaceShip* spaceship )// helper function600 void Dynamicmatch::resetSpeedFactor(SpaceShip* spaceship, Timer* timer)// helper function 593 601 { 594 602 if (spaceship) … … 596 604 spaceship->addSpeedFactor(1.0f/5.0f); 597 605 } 606 607 this->piggyTimers_.erase(timer); 608 delete timer; 598 609 } 599 610 -
code/trunk/src/orxonox/gametypes/Dynamicmatch.h
r10624 r11052 33 33 34 34 #include <map> 35 #include <set> 35 36 #include <vector> 36 37 … … 45 46 public: 46 47 Dynamicmatch(Context* context); 47 virtual ~Dynamicmatch() {}48 virtual ~Dynamicmatch(); 48 49 49 50 bool notEnoughPigs; … … 77 78 virtual void rewardPig(); 78 79 void grantPigBoost(SpaceShip* spaceship); // Grant the piggy a boost. 79 void resetSpeedFactor(SpaceShip* spaceship );80 void resetSpeedFactor(SpaceShip* spaceship, Timer* timer); 80 81 void tick (float dt);// used to end the game 81 82 SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const; … … 88 89 std::map< PlayerInfo*, int > playerParty_; //player's parties are recorded here 89 90 std::vector<ColourValue> partyColours_; //aus TeamDeathmatch 91 std::set<Timer*> piggyTimers_; 90 92 unsigned int numberOf[3]; //array to count number of chasers, pigs, killers 91 93 float pointsPerTime; -
code/trunk/src/orxonox/infos/PlayerInfo.cc
r10624 r11052 202 202 203 203 this->changedControllableEntity(); 204 205 // HACK-ish 206 if(this->isHumanPlayer()) 207 entity->createHud(); 204 208 } 205 209 … … 252 256 if( !entity || this->previousControllableEntity_.size() == 0 ) 253 257 return; 258 259 entity->destroyHud(); // HACK-ish 254 260 255 261 this->controllableEntity_->setController(0); -
code/trunk/src/orxonox/items/ShipPart.cc
r10624 r11052 41 41 #include "worldentities/StaticEntity.h" 42 42 #include "items/PartDestructionEvent.h" 43 #include "worldentities/BigExplosion.h"44 43 #include "chat/ChatManager.h" 45 44 … … 105 104 void ShipPart::explode() 106 105 { 107 BigExplosion* chunk = new BigExplosion(this->getContext());108 chunk->setPosition(this->parent_->getPosition() + this->parent_->getOrientation() * (this->explosionPosition_));109 // chunk->setPosition(this->parent_->getPosition() + this->parent_->getOrientation() * Vector3(this->entityList_[0]->getLocalInertia()));110 chunk->setVelocity(this->parent_->getVelocity());106 // BigExplosion* chunk = new BigExplosion(this->getContext()); 107 // chunk->setPosition(this->parent_->getPosition() + this->parent_->getOrientation() * (this->explosionPosition_)); 108 // //chunk->setPosition(this->parent_->getPosition() + this->parent_->getOrientation() * Vector3(this->entityList_[0]->getLocalInertia())); 109 // chunk->setVelocity(this->parent_->getVelocity()); 111 110 112 111 // this->explosionSound_->setPosition(this->parent_->getPosition()); -
code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc
r10624 r11052 450 450 tempTx->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, colour); 451 451 } 452 453 void OrxonoxOverlay::setZOrder(unsigned short order) 454 { 455 if (this->overlay_) 456 { 457 this->overlay_->setZOrder(order); 458 } 459 } 452 460 } -
code/trunk/src/orxonox/overlays/OrxonoxOverlay.h
r9667 r11052 65 65 only for displaying a picture). 66 66 - Reacts to changes of the window aspect 67 - Last but not least: On demand you can tell the overlay to automatically res ale to correct for67 - Last but not least: On demand you can tell the overlay to automatically rescale to correct for 68 68 aspect distortion. E.g. if you play 1024x768 you wouldn't want a round object to be oval. 69 69 Remark: This can (due to the Ogre::Overlay transformation order) only work for angle that are … … 186 186 virtual void changedOverlayGroup() 187 187 { this->changedVisibility(); } 188 virtual void setZOrder(unsigned short order); 188 189 189 190 protected: -
code/trunk/src/orxonox/overlays/OverlayGroup.cc
r10624 r11052 42 42 namespace orxonox 43 43 { 44 namespace autocompletion 45 { 46 /** 47 @brief Returns the names of all currently existing OverlayGroups. 48 */ 49 ARGUMENT_COMPLETION_FUNCTION_DECLARATION(overlaygroupnames)(); 50 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(overlaygroupnames)() 51 { 52 ArgumentCompletionList names; 53 for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it) 54 names.push_back(ArgumentCompletionListElement(it->getName(), getLowercase(it->getName()))); 55 return names; 56 } 57 } 58 59 SetConsoleCommand("OverlayGroup", "toggleVisibility", &OverlayGroup::toggleVisibility).argumentCompleter(0, autocompletion::overlaygroupnames()); 60 SetConsoleCommand("OverlayGroup", "show", &OverlayGroup::show ).argumentCompleter(0, autocompletion::overlaygroupnames()); 61 SetConsoleCommand("OverlayGroup", "scaleGroup", &OverlayGroup::scaleGroup ).argumentCompleter(0, autocompletion::overlaygroupnames()); 62 SetConsoleCommand("OverlayGroup", "scrollGroup", &OverlayGroup::scrollGroup ).argumentCompleter(0, autocompletion::overlaygroupnames()); 63 44 64 RegisterClass(OverlayGroup); 45 46 SetConsoleCommand("OverlayGroup", "toggleVisibility", &OverlayGroup::toggleVisibility);47 SetConsoleCommand("OverlayGroup", "show", &OverlayGroup::show);48 SetConsoleCommand("OverlayGroup", "scaleGroup", &OverlayGroup::scaleGroup);49 SetConsoleCommand("OverlayGroup", "scrollGroup", &OverlayGroup::scrollGroup);50 65 51 66 OverlayGroup::OverlayGroup(Context* context) -
code/trunk/src/orxonox/weaponsystem/CMakeLists.txt
r5781 r11052 1 1 ADD_SOURCE_FILES(ORXONOX_SRC_FILES 2 2 Munition.cc 3 ReplenishingMunition.cc 3 4 Weapon.cc 4 5 WeaponMode.cc -
code/trunk/src/orxonox/weaponsystem/Munition.cc
r9667 r11052 24 24 * Fabian 'x3n' Landau 25 25 * Co-authors: 26 * ...26 * Fabien Vultier 27 27 * 28 28 */ … … 32 32 #include "core/CoreIncludes.h" 33 33 #include "core/command/Executor.h" 34 #include "core/XMLPort.h" 34 35 35 36 namespace orxonox … … 43 44 this->maxMunitionPerMagazine_ = 10; 44 45 this->maxMagazines_ = 10; 45 this->magazines_ = 10; 46 47 this->bUseSeparateMagazines_ = false; 48 this->bStackMunition_ = true; 46 this->unassignedMagazines_ = 10; 47 48 this->deployment_ = MunitionDeployment::Stack; 49 49 this->bAllowMunitionRefilling_ = true; 50 50 this->bAllowMultiMunitionRemovementUnderflow_ = true; 51 51 52 this->reloadTime_ = 0; 52 this->reloadTime_ = 0.5f; 53 54 this->lastFilledWeaponMode_ = NULL; 53 55 } 54 56 55 57 Munition::~Munition() 56 58 { 57 for (std::map<WeaponMode*, Magazine*>::iterator it = this-> currentMagazines_.begin(); it != this->currentMagazines_.end(); ++it)59 for (std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.begin(); it != this->assignedMagazines_.end(); ++it) 58 60 delete it->second; 59 61 } 60 62 63 void Munition::XMLPort(Element& xmlelement, XMLPort::Mode mode) 64 { 65 SUPER(Munition, XMLPort, xmlelement, mode); 66 67 XMLPortParam(Munition, "initialmagazines", setNumMagazines, getNumMagazines, xmlelement, mode); 68 XMLPortParam(Munition, "maxmagazines", setMaxMagazines, getMaxMagazines, xmlelement, mode); 69 XMLPortParam(Munition, "munitionpermagazine", setMaxMunitionPerMagazine, getMaxMunitionPerMagazine, xmlelement, mode); 70 } 71 61 72 Munition::Magazine* Munition::getMagazine(WeaponMode* user) const 62 73 { 63 if ( this->bUseSeparateMagazines_)74 if (deployment_ == MunitionDeployment::Separate) 64 75 { 65 76 // For separated magazines we definitively need a given user … … 68 79 69 80 // Use the map to get the magazine assigned to the given user 70 std::map<WeaponMode*, Magazine*>::const_iterator it = this-> currentMagazines_.find(user);71 if (it != this-> currentMagazines_.end())81 std::map<WeaponMode*, Magazine*>::const_iterator it = this->assignedMagazines_.find(user); 82 if (it != this->assignedMagazines_.end()) 72 83 return it->second; 73 84 } … … 75 86 { 76 87 // We don't use separate magazines for each user, so just take the first magazine 77 if (this-> currentMagazines_.size() > 0)78 return this-> currentMagazines_.begin()->second;88 if (this->assignedMagazines_.size() > 0) 89 return this->assignedMagazines_.begin()->second; 79 90 } 80 91 … … 87 98 if (magazine) 88 99 { 89 if ( this->bStackMunition_)100 if (deployment_ == MunitionDeployment::Stack) 90 101 // With stacked munition every magazine contributes to the total amount 91 return this->maxMunitionPerMagazine_ * this-> magazines_ + magazine->munition_;102 return this->maxMunitionPerMagazine_ * this->unassignedMagazines_ + magazine->munition_; 92 103 else 93 104 // Wihtout stacked munition we just consider the current magazine … … 109 120 unsigned int Munition::getNumMagazines() const 110 121 { 111 if ( this->bStackMunition_)122 if (deployment_ == MunitionDeployment::Stack) 112 123 { 113 124 // If we stack munition and the current magazine is still full, it counts too 114 125 Magazine* magazine = this->getMagazine(0); 115 126 if (magazine && magazine->munition_ == this->maxMunitionPerMagazine_) 116 return this->magazines_ + 1; 117 } 118 119 return this->magazines_; 127 return this->unassignedMagazines_ + 1; 128 } 129 130 return this->unassignedMagazines_; 131 } 132 133 void Munition::setNumMagazines(unsigned int numMagazines) 134 { 135 this->unassignedMagazines_ = numMagazines; 120 136 } 121 137 122 138 unsigned int Munition::getMaxMunition() const 123 139 { 124 if ( this->bStackMunition_)140 if (deployment_ == MunitionDeployment::Stack) 125 141 return this->maxMunitionPerMagazine_ * this->maxMagazines_; 126 142 else … … 135 151 unsigned int munition = magazine->munition_; 136 152 137 // If we stack munition, we con't care about the current magazine - we just need enough munition in total 138 if (this->bStackMunition_) 139 munition += this->maxMunitionPerMagazine_ * this->magazines_; 153 // If we stack munition, we don't care about the current magazine - we just need enough munition in total 154 if (deployment_ == MunitionDeployment::Stack) 155 { 156 munition += this->maxMunitionPerMagazine_ * this->unassignedMagazines_; 157 } 140 158 141 159 if (munition == 0) 160 { 142 161 // Absolutely no munition - no chance to take munition 143 162 return false; 163 } 144 164 else if (this->bAllowMultiMunitionRemovementUnderflow_) 165 { 145 166 // We're not empty AND we allow underflow, so this will always work 146 167 return true; 168 } 147 169 else 170 { 148 171 // We don't allow underflow, so we have to check the amount 149 172 return (munition >= amount); 173 } 174 150 175 } 151 176 return false; … … 169 194 { 170 195 // Not enough munition 171 if ( this->bStackMunition_)196 if (deployment_ == MunitionDeployment::Stack) 172 197 { 173 198 // We stack munition, so just take what we can and then load the next magazine … … 175 200 magazine->munition_ = 0; 176 201 177 if (this->reload( 0))202 if (this->reload(NULL)) 178 203 // Successfully reloaded, continue recursively 179 204 return this->takeMunition(amount, 0); … … 199 224 { 200 225 // As long as we have enough magazines (and don't stack munition) we can reload 201 return (this-> magazines_ > 0 && !this->bStackMunition_);226 return (this->unassignedMagazines_ > 0 && deployment_ != MunitionDeployment::Stack); 202 227 } 203 228 … … 207 232 if (magazine) 208 233 { 209 if ( this->bStackMunition_)234 if (deployment_ == MunitionDeployment::Stack) 210 235 // With stacked munition, we never have to reload 211 236 return false; … … 227 252 228 253 // Check if we actually can reload 229 if (this-> magazines_ == 0)254 if (this->unassignedMagazines_ == 0) 230 255 return false; 231 256 232 257 // If we use separate magazines for each user, we definitively need a user given 233 if ( this->bUseSeparateMagazines_&& !user)258 if (deployment_ == MunitionDeployment::Separate && !user) 234 259 return false; 235 260 236 261 // If we don't use separate magazines, set user to 0 237 if (!this->bUseSeparateMagazines_) 238 user = 0; 262 if (deployment_ != MunitionDeployment::Separate) 263 { 264 user = NULL; 265 } 239 266 240 267 // Remove the current magazine for the given user 241 std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.find(user); 242 if (it != this->currentMagazines_.end()) 243 { 268 std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.find(user); 269 if (it != this->assignedMagazines_.end()) 270 { 271 if (it->first == lastFilledWeaponMode_) 272 { 273 lastFilledWeaponMode_ = NULL; 274 } 244 275 delete it->second; 245 this-> currentMagazines_.erase(it);276 this->assignedMagazines_.erase(it); 246 277 } 247 278 248 279 // Load a new magazine 249 this-> currentMagazines_[user] = new Magazine(this, bUseReloadTime);250 this-> magazines_--;280 this->assignedMagazines_[user] = new Magazine(this, bUseReloadTime); 281 this->unassignedMagazines_--; 251 282 252 283 return true; … … 260 291 return false; 261 292 262 if ( this->bStackMunition_)293 if (deployment_ == MunitionDeployment::Stack) 263 294 { 264 295 // If we stack munition, we can always add munition until we reach the limit … … 268 299 { 269 300 // Return true if any of the current magazines is not full (loading counts as full although it returns 0 munition) 270 for (std::map<WeaponMode*, Magazine*>::const_iterator it = this-> currentMagazines_.begin(); it != this->currentMagazines_.end(); ++it)301 for (std::map<WeaponMode*, Magazine*>::const_iterator it = this->assignedMagazines_.begin(); it != this->assignedMagazines_.end(); ++it) 271 302 if (it->second->munition_ < this->maxMunitionPerMagazine_ && it->second->bLoaded_) 272 303 return true; … … 281 312 return false; 282 313 283 if ( this->bStackMunition_)314 if (deployment_ == MunitionDeployment::Stack) 284 315 { 285 316 // Stacking munition means, if a magazine gets full, the munition adds to a new magazine 286 Magazine* magazine = this->getMagazine( 0);317 Magazine* magazine = this->getMagazine(NULL); 287 318 if (magazine) 288 319 { … … 294 325 { 295 326 magazine->munition_ -= this->maxMunitionPerMagazine_; 296 this-> magazines_++;327 this->unassignedMagazines_++; 297 328 } 298 329 299 // If we reached the limit, redu ze both magazines and munition to the maximum300 if (this-> magazines_ >= this->maxMagazines_)301 { 302 this-> magazines_ = this->maxMagazines_ - 1;330 // If we reached the limit, reduce both magazines and munition to the maximum 331 if (this->unassignedMagazines_ >= this->maxMagazines_) 332 { 333 this->unassignedMagazines_ = this->maxMagazines_; 303 334 magazine->munition_ = this->maxMunitionPerMagazine_; 304 335 } … … 312 343 else 313 344 { 345 std::map<WeaponMode*, Magazine*>::iterator it; 346 347 // If the pointer to the weapon mode whose magazine got munition added to is NULL, then set the iterator to the beginning of the map 348 // Otherwise set it to the next weapon mode 349 if (lastFilledWeaponMode_ == NULL) 350 { 351 it = this->assignedMagazines_.begin(); 352 } 353 else 354 { 355 it = this->assignedMagazines_.find(lastFilledWeaponMode_); 356 ++ it; 357 } 358 314 359 // Share the munition equally to the current magazines 360 bool firstLoop = true; 315 361 while (amount > 0) 316 362 { 317 363 bool change = false; 318 for (std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.begin(); it != this->currentMagazines_.end(); ++it)364 while (it != this->assignedMagazines_.end()) 319 365 { 320 366 // Add munition if the magazine isn't full (but only to loaded magazines) … … 323 369 it->second->munition_++; 324 370 amount--; 371 lastFilledWeaponMode_ = it->first; 325 372 change = true; 326 373 } 374 375 ++it; 327 376 } 328 377 329 378 // If there was no change in a loop, all magazines are full (or locked due to loading) 330 if (!change) 379 // Because the first loop does not start at the beginning of the map we have to treat is separately 380 if (!change && !firstLoop) 381 { 331 382 break; 383 } 384 385 it = this->assignedMagazines_.begin(); 386 firstLoop = false; 332 387 } 333 388 … … 340 395 // TODO: 'amount' is not used 341 396 342 if ( this->bStackMunition_)397 if (deployment_ == MunitionDeployment::Stack) 343 398 // If we stack munition, we can always add new magazines because they contribute directly to the munition 344 399 return (this->getNumMunition(0) < this->getMaxMunition()); 345 400 else 346 401 // If we don't stack munition, we're more limited 347 return ((this->currentMagazines_.size() + this->magazines_) < this->maxMagazines_); 348 } 349 350 bool Munition::addMagazines(unsigned int amount) 351 { 402 return ((this->assignedMagazines_.size() + this->unassignedMagazines_) < this->maxMagazines_); 403 } 404 405 unsigned int Munition::addMagazines(unsigned int amount) 406 { 407 unsigned int addedMagazines = 0; 408 352 409 if (!this->canAddMagazines(amount)) 353 return false;410 return 0; 354 411 355 412 // Calculate how many magazines are needed 356 int needed_magazines = this->maxMagazines_ - this-> magazines_ - this->currentMagazines_.size();413 int needed_magazines = this->maxMagazines_ - this->unassignedMagazines_ - this->assignedMagazines_.size(); 357 414 358 415 // If zero or less magazines are needed, we definitively don't need more magazines (unless we stack munition - then a magazine contributes directly to the munition) 359 if (needed_magazines <= 0 && !this->bStackMunition_)360 return false;416 if (needed_magazines <= 0 && deployment_ != MunitionDeployment::Stack) 417 return 0; 361 418 362 419 if (amount <= static_cast<unsigned int>(needed_magazines)) 363 420 { 364 421 // We need more magazines than we get, so just add them 365 this->magazines_ += amount; 422 this->unassignedMagazines_ += amount; 423 addedMagazines = amount; 366 424 } 367 425 else 368 426 { 369 427 // We get more magazines than we need, so just add the needed amount 370 this->magazines_ += needed_magazines; 371 if (this->bStackMunition_) 428 this->unassignedMagazines_ += needed_magazines; 429 addedMagazines = needed_magazines; 430 if (deployment_ == MunitionDeployment::Stack) 372 431 { 373 432 // We stack munition, so the additional amount contributes directly to the munition of the current magazine … … 378 437 } 379 438 380 return true; 439 // Reload as many empty magazines as possible 440 // Double loop and break is needed because the reload function changes the assigned magazines. This may confuse the iterator. 441 for (unsigned int i = 0; i < addedMagazines; ++i) 442 { 443 for (std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.begin(); it != this->assignedMagazines_.end(); ++it) 444 { 445 if (needReload(it->first)) 446 { 447 reload(it->first); 448 break; 449 } 450 } 451 } 452 453 return addedMagazines; 381 454 } 382 455 383 456 bool Munition::canRemoveMagazines(unsigned int amount) const 384 457 { 385 if ( this->bStackMunition_)386 { 387 if (this-> magazines_ >= amount)458 if (deployment_ == MunitionDeployment::Stack) 459 { 460 if (this->unassignedMagazines_ >= amount) 388 461 { 389 462 // We have enough magazines 390 463 return true; 391 464 } 392 else if (this-> magazines_ == amount - 1)465 else if (this->unassignedMagazines_ == amount - 1) 393 466 { 394 467 // We lack one magazine, check if the current magazine is still full, if yes we're fine … … 406 479 { 407 480 // In case we're not stacking munition, just check the number of magazines 408 return (this-> magazines_ >= amount);481 return (this->unassignedMagazines_ >= amount); 409 482 } 410 483 … … 417 490 return false; 418 491 419 if (this-> magazines_ >= amount)492 if (this->unassignedMagazines_ >= amount) 420 493 { 421 494 // We have enough magazines, just remove the amount 422 this-> magazines_ -= amount;423 } 424 else if ( this->bStackMunition_)495 this->unassignedMagazines_ -= amount; 496 } 497 else if (deployment_ == MunitionDeployment::Stack) 425 498 { 426 499 // We don't have enough magazines, but we're stacking munition, so additionally remove the bullets from the current magazine 427 this-> magazines_ = 0;500 this->unassignedMagazines_ = 0; 428 501 Magazine* magazine = this->getMagazine(0); 429 502 if (magazine) … … 437 510 { 438 511 // If we use separate magazines, we need a user 439 if ( this->bUseSeparateMagazines_&& !user)512 if (deployment_ == MunitionDeployment::Separate && !user) 440 513 return false; 441 514 442 515 // If we don't use separate magazines, set user to 0 443 if ( !this->bUseSeparateMagazines_)444 user = 0;516 if (deployment_ != MunitionDeployment::Separate) 517 user = NULL; 445 518 446 519 // Remove the current magazine for the given user 447 std::map<WeaponMode*, Magazine*>::iterator it = this->currentMagazines_.find(user); 448 if (it != this->currentMagazines_.end()) 449 { 520 std::map<WeaponMode*, Magazine*>::iterator it = this->assignedMagazines_.find(user); 521 if (it != this->assignedMagazines_.end()) 522 { 523 if (it->first == lastFilledWeaponMode_) 524 { 525 lastFilledWeaponMode_ = NULL; 526 } 450 527 delete it->second; 451 this-> currentMagazines_.erase(it);528 this->assignedMagazines_.erase(it); 452 529 return true; 453 530 } … … 465 542 this->bLoaded_ = false; 466 543 467 if (bUseReloadTime && munition->reloadTime_ > 0 && !munition->bStackMunition_)544 if (bUseReloadTime && munition->reloadTime_ > 0 && munition->deployment_ != MunitionDeployment::Stack) 468 545 { 469 546 const ExecutorPtr& executor = createExecutor(createFunctor(&Magazine::loaded, this)); -
code/trunk/src/orxonox/weaponsystem/Munition.h
r9667 r11052 24 24 * Fabian 'x3n' Landau 25 25 * Co-authors: 26 * ...26 * Fabien Vultier 27 27 * 28 28 */ … … 39 39 namespace orxonox 40 40 { 41 namespace MunitionDeployment 42 { 43 enum Value 44 { 45 Separate, // Every comsuming weapon mode has its own magazine. It is possible that one weapon mode is out of ammo while another still has some. 46 Share, // All comsuming weapon modes take their munition from the same magazine. If this magazine is empty a new one is loaded. 47 Stack // There is only one magazine where all the munition is stored. Use this deployment mode for heavy weapons loke rockets, bombs, ... 48 }; 49 } 50 41 51 class _OrxonoxExport Munition : public BaseObject 42 { 52 { 43 53 struct Magazine 44 54 { … … 59 69 virtual ~Munition(); 60 70 71 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 72 61 73 unsigned int getNumMunition(WeaponMode* user) const; 62 74 unsigned int getNumMunitionInCurrentMagazine(WeaponMode* user) const; … … 68 80 inline unsigned int getMaxMunitionPerMagazine() const 69 81 { return this->maxMunitionPerMagazine_; } 82 inline MunitionDeployment::Value getMunitionDeployment() const 83 { return deployment_; } 84 70 85 71 86 bool canTakeMunition(unsigned int amount, WeaponMode* user) const; … … 82 97 83 98 bool canAddMagazines(unsigned int amount) const; 84 bool addMagazines(unsigned int amount); 99 /** 100 @brief Try to add magazines. 101 @param amount The amount of magazines tried to add. 102 @return The amount of magazines sucessfully added. 103 */ 104 unsigned int addMagazines(unsigned int amount); 85 105 86 106 bool canRemoveMagazines(unsigned int amount) const; … … 92 112 unsigned int maxMunitionPerMagazine_; 93 113 unsigned int maxMagazines_; 94 unsigned int magazines_;95 std::map<WeaponMode*, Magazine*> currentMagazines_;114 unsigned int unassignedMagazines_; // Number of magazines that are not assigned to a weapon mode. These are alway treated as full. 115 std::map<WeaponMode*, Magazine*> assignedMagazines_; // Maps weapon modes to magazines that are currently used. 96 116 97 bool bUseSeparateMagazines_;98 bool bStackMunition_; 117 MunitionDeployment::Value deployment_; // Defines the behaviour how munition and magazines are distributed to the consuming weapon modes. 118 99 119 bool bAllowMunitionRefilling_; 100 120 bool bAllowMultiMunitionRemovementUnderflow_; 101 121 102 float reloadTime_; 122 float reloadTime_; // The time needed to replace a magazine by a new one. 123 WeaponMode* lastFilledWeaponMode_; // Pointer to the weapon mode that got the last munition during the last call of addMunition. 103 124 104 125 private: 105 126 Magazine* getMagazine(WeaponMode* user) const; 127 inline void setMaxMagazines(unsigned int maxMagazines) 128 { this->maxMagazines_ = maxMagazines; } 129 inline void setMaxMunitionPerMagazine(unsigned int maxMunitionPerMagazine) 130 { this->maxMunitionPerMagazine_ = maxMunitionPerMagazine; } 131 void setNumMagazines(unsigned int numMagazines); 106 132 }; 107 133 } -
code/trunk/src/orxonox/weaponsystem/Weapon.cc
r10650 r11052 134 134 } 135 135 136 /** 137 @brief 138 Reload all @ref orxonox::WeaponMode weapon modes of this weapon. 139 */ 136 140 void Weapon::reload() 137 141 { … … 151 155 it->second->setWeapon(this); 152 156 } 157 158 void Weapon::updateMunition() 159 { 160 for (std::multimap<unsigned int, WeaponMode*>::iterator it = this->weaponmodes_.begin(); it != this->weaponmodes_.end(); ++it) 161 it->second->updateMunition(); 162 } 153 163 } -
code/trunk/src/orxonox/weaponsystem/Weapon.h
r10650 r11052 57 57 void addWeaponmode(WeaponMode* weaponmode); 58 58 WeaponMode* getWeaponmode(unsigned int index) const; 59 inline std::multimap<unsigned int, WeaponMode*>* getAllWeaponmodes() 60 { return &weaponmodes_; } 61 inline int getNumWeaponModes() const 62 { return weaponmodes_.size(); } 59 63 60 64 /** … … 75 79 inline WeaponSlot * getWeaponSlot() const 76 80 { return this->weaponSlot_; } 81 void updateMunition(); 77 82 78 83 private: -
code/trunk/src/orxonox/weaponsystem/WeaponMode.cc
r10650 r11052 75 75 this->muzzleOrientation_ = Quaternion::IDENTITY; 76 76 77 hudImageString_ = "Orxonox/WSHUD_WM_Unknown"; 78 77 79 if( GameMode::isMaster() ) 78 80 { … … 125 127 this->bSoundAttached_ = true; 126 128 } 127 129 130 // Fireing is only possible if this weapon mode is not reloading and there is enough munition 128 131 if (!this->bReloading_ && this->munition_ && this->munition_->takeMunition(this->munitionPerShot_, this)) 129 132 { … … 134 137 if (this->munition_->reload(this)) 135 138 { 139 // If true, the weapon reloads in parallel to the magazine reloading 136 140 if (this->bParallelReload_) 141 { 142 // The time needed to reload is the maximum of the reload time of the weapon mode and the magazine. 137 143 tempReloadtime = std::max(this->reloadTime_, this->munition_->getReloadTime()); 144 } 138 145 else 146 { 147 // The time needed to reload is the sum of the reload time of the weapon mode and the magazine. 139 148 tempReloadtime = this->reloadTime_ + this->munition_->getReloadTime(); 149 } 140 150 } 141 151 } 142 152 153 // Mark this weapon mode as reloading and start the reload timer 143 154 this->bReloading_ = true; 144 155 this->reloadTimer_.setInterval(tempReloadtime); … … 232 243 } 233 244 else 234 this->munition_ = 0; 245 { 246 this->munition_ = NULL; 247 } 235 248 } 236 249 … … 283 296 } 284 297 285 void WeaponMode::setDefaultSoundWithVolume(const std::string& soundPath, const float soundVolume){ 286 if (this->defSndWpnFire_) { 298 void WeaponMode::setDefaultSoundWithVolume(const std::string& soundPath, const float soundVolume) 299 { 300 if (this->defSndWpnFire_) 301 { 287 302 this->defSndWpnFire_->setSource(soundPath); 288 303 this->defSndWpnFire_->setVolume(soundVolume); -
code/trunk/src/orxonox/weaponsystem/WeaponMode.h
r10650 r11052 38 38 #include "core/class/SubclassIdentifier.h" 39 39 #include "tools/Timer.h" 40 #include "Munition.h" 40 41 41 42 namespace orxonox … … 104 105 inline bool getParallelReload() const 105 106 { return this->bParallelReload_; } 107 inline bool getReloading() const 108 { return this->bReloading_; } 106 109 107 110 … … 147 150 Vector3 getTarget(); 148 151 152 inline const std::string& getHUDImageString() const 153 { return this->hudImageString_; } 154 155 void updateMunition(); 149 156 protected: 150 157 virtual void fire() = 0; … … 155 162 156 163 float reloadTime_; 157 bool bAutoReload_; 158 bool bParallelReload_; 164 bool bAutoReload_; // If true, the weapon reloads the magazine automatically. 165 bool bParallelReload_; // If true, the weapon reloads in parallel to the magazine reloading. 159 166 160 167 float damage_; … … 163 170 Vector3 muzzleOffset_; 164 171 165 private: 166 void updateMunition(); 172 std::string hudImageString_; 173 174 private: 167 175 void reloaded(); 168 176 … … 175 183 176 184 Timer reloadTimer_; 177 bool bReloading_; 185 bool bReloading_; // If true, this weapon mode is marked as reloading. 178 186 179 187 Vector3 muzzlePosition_; … … 181 189 182 190 WorldSound* defSndWpnFire_; 183 bool 191 bool bSoundAttached_; 184 192 }; 185 193 } -
code/trunk/src/orxonox/weaponsystem/WeaponPack.cc
r10650 r11052 124 124 } 125 125 126 std::vector<Weapon*>* WeaponPack::getAllWeapons() 127 { 128 return &weapons_; 129 } 130 126 131 void WeaponPack::addDefaultWeaponmodeLink(DefaultWeaponmodeLink* link) 127 132 { … … 156 161 (*it)->setWeaponPack(this); 157 162 } 163 164 void WeaponPack::updateMunition() 165 { 166 for (std::vector<Weapon *>::const_iterator it = this->weapons_.begin(); it != this->weapons_.end(); ++it) 167 (*it)->updateMunition(); 168 } 158 169 } -
code/trunk/src/orxonox/weaponsystem/WeaponPack.h
r9667 r11052 52 52 void removeWeapon(Weapon * weapon); 53 53 Weapon * getWeapon(unsigned int index) const; 54 std::vector<Weapon*>* getAllWeapons(); 54 55 55 56 inline size_t getNumWeapons() const … … 65 66 inline WeaponSystem * getWeaponSystem() const 66 67 { return this->weaponSystem_; } 68 void updateMunition(); 67 69 68 70 private: -
code/trunk/src/orxonox/weaponsystem/WeaponSystem.cc
r10650 r11052 240 240 } 241 241 242 std::vector<WeaponPack *> * WeaponSystem::getAllWeaponPacks() 243 { 244 return &weaponPacks_; 245 } 246 242 247 bool WeaponSystem::swapWeaponSlots(WeaponSlot * wSlot1, WeaponSlot * wSlot2) 243 248 { … … 310 315 return it->second; 311 316 } 312 else if (identifier->getIdentifier()->isA(Class(Munition)))313 {314 Munition* munition = identifier->fabricate(this->getContext());315 this->munitions_[identifier->getIdentifier()] = munition;316 return munition;317 }318 317 else 319 318 { 320 return 0; 319 return NULL; 320 } 321 } 322 323 void WeaponSystem::addMunition(Munition* munition) 324 { 325 if (munition == NULL) 326 { 327 return; 328 } 329 330 SubclassIdentifier<Munition> identifier = munition->getIdentifier(); 331 332 if (identifier) 333 { 334 this->munitions_[identifier] = munition; 335 updateMunition(); 336 } 337 else 338 { 339 orxout(internal_warning) << "Adding munition failed. identifier == NULL " << endl; 340 } 341 } 342 343 void WeaponSystem::updateMunition() 344 { 345 for (std::vector<WeaponPack*>::iterator it = this->weaponPacks_.begin(); it != this->weaponPacks_.end(); ++it) 346 { 347 (*it)->updateMunition(); 321 348 } 322 349 } -
code/trunk/src/orxonox/weaponsystem/WeaponSystem.h
r10650 r11052 67 67 void removeWeaponPack(WeaponPack * wPack); 68 68 WeaponPack * getWeaponPack(unsigned int index) const; 69 std::vector<WeaponPack *> * getAllWeaponPacks(); 69 70 70 71 // configure slots and firemodes … … 76 77 77 78 Munition * getMunition(SubclassIdentifier<Munition> * identifier); 79 void addMunition(Munition* munition); 78 80 79 81 inline void setPawn(Pawn * pawn) … … 95 97 96 98 private: 99 void updateMunition(); 100 97 101 std::map<unsigned int, WeaponSet *> weaponSets_; 98 102 std::vector<WeaponSlot *> weaponSlots_; -
code/trunk/src/orxonox/worldentities/CMakeLists.txt
r8706 r11052 6 6 ControllableEntity.cc 7 7 Drone.cc 8 BigExplosion.cc9 8 EffectContainer.cc 10 9 ExplosionChunk.cc … … 12 11 SpawnPoint.cc 13 12 TeamSpawnPoint.cc 13 ExplosionPart.cc 14 Actionpoint.cc 14 15 ) 15 16 -
code/trunk/src/orxonox/worldentities/MobileEntity.h
r10437 r11052 47 47 linear velocity. Then the linear velocity is multiplied by the time since the last call of tick and then added to the position. The same happens with 48 48 the angular acceleration and velocity. With this procedure MobileEntities can change their position and orientation with time. 49 50 A MobileEntity can only have the collisition type WorldEntity::None, WorldEntity::Dynamic or WorldEntity::Kinematic. The collsion type WorldEntity::Static is illegal. 49 51 */ 50 52 -
code/trunk/src/orxonox/worldentities/SpawnPoint.h
r9667 r11052 55 55 { return this->template_; } 56 56 57 Pawn* spawn();57 virtual Pawn* spawn(); 58 58 void spawn(ControllableEntity* entity); 59 59 -
code/trunk/src/orxonox/worldentities/StaticEntity.h
r10437 r11052 44 44 it is called StaticEntity. It will keep the same position (always with respect to its parent) forever unless you call the 45 45 function @see setPosition to changee it. 46 47 A StaticEntity can only have the collisition type WorldEntity::None or WorldEntity::Static. The collsion types WorldEntity::Dynamic and WorldEntity::Kinematic are illegal. 46 48 */ 47 49 -
code/trunk/src/orxonox/worldentities/TeamSpawnPoint.cc
r9667 r11052 49 49 XMLPortParam(TeamSpawnPoint, "team", setTeamNumber, getTeamNumber, xmlelement, mode).defaultValues(0); 50 50 } 51 Pawn* TeamSpawnPoint::spawn() 52 { 53 Pawn* entity = SpawnPoint::spawn(); 54 static_cast<ControllableEntity*>(entity)->setTeam (this->teamNumber_); 55 return entity; 56 } 51 57 } -
code/trunk/src/orxonox/worldentities/TeamSpawnPoint.h
r9667 r11052 49 49 unsigned int getTeamNumber() const 50 50 { return this->teamNumber_; } 51 virtual Pawn* spawn(); 51 52 52 53 private: 53 unsignedint teamNumber_;54 int teamNumber_; 54 55 }; 55 56 } -
code/trunk/src/orxonox/worldentities/pawns/Pawn.cc
r10650 r11052 34 34 #include "core/GameMode.h" 35 35 #include "core/XMLPort.h" 36 #include "core/EventIncludes.h" 36 37 #include "network/NetworkFunction.h" 37 38 … … 41 42 #include "graphics/ParticleSpawner.h" 42 43 #include "worldentities/ExplosionChunk.h" 43 #include "worldentities/ BigExplosion.h"44 #include "worldentities/ExplosionPart.h" 44 45 #include "weaponsystem/WeaponSystem.h" 45 46 #include "weaponsystem/WeaponSlot.h" 46 47 #include "weaponsystem/WeaponPack.h" 47 48 #include "weaponsystem/WeaponSet.h" 49 #include "weaponsystem/Munition.h" 48 50 #include "sound/WorldSound.h" 49 51 … … 61 63 62 64 this->bAlive_ = true; 63 this->b Reload_ = false;65 this->bVulnerable_ = true; 64 66 65 67 this->health_ = 0; … … 71 73 this->maxShieldHealth_ = 100; //otherwise shield might increase to float_max 72 74 this->shieldAbsorption_ = 0.5; 73 74 this->reloadRate_ = 0; 75 this->reloadWaitTime_ = 1.0f; 76 this->reloadWaitCountdown_ = 0; 75 this->shieldRechargeRate_ = 0; 76 this->shieldRechargeWaitTime_ = 1.0f; 77 this->shieldRechargeWaitCountdown_ = 0; 77 78 78 79 this->lastHitOriginator_ = 0; … … 84 85 85 86 this->aimPosition_ = Vector3::ZERO; 87 88 //this->explosionPartList_ = NULL; 86 89 87 90 if (GameMode::isMaster()) … … 135 138 XMLPortParam(Pawn, "shieldabsorption", setShieldAbsorption, getShieldAbsorption, xmlelement, mode).defaultValues(0); 136 139 140 XMLPortParam(Pawn, "vulnerable", setVulnerable, isVulnerable, xmlelement, mode).defaultValues(true); 141 137 142 XMLPortParam(Pawn, "spawnparticlesource", setSpawnParticleSource, getSpawnParticleSource, xmlelement, mode); 138 143 XMLPortParam(Pawn, "spawnparticleduration", setSpawnParticleDuration, getSpawnParticleDuration, xmlelement, mode).defaultValues(3.0f); 139 XMLPortParam(Pawn, "explosionchunks", setExplosionChunks, getExplosionChunks, xmlelement, mode).defaultValues( 7);144 XMLPortParam(Pawn, "explosionchunks", setExplosionChunks, getExplosionChunks, xmlelement, mode).defaultValues(0); 140 145 141 146 XMLPortObject(Pawn, WeaponSlot, "weaponslots", addWeaponSlot, getWeaponSlot, xmlelement, mode); 142 147 XMLPortObject(Pawn, WeaponSet, "weaponsets", addWeaponSet, getWeaponSet, xmlelement, mode); 143 XMLPortObject(Pawn, WeaponPack, "weapons", addWeaponPackXML, getWeaponPack, xmlelement, mode); 144 145 XMLPortParam(Pawn, "reloadrate", setReloadRate, getReloadRate, xmlelement, mode).defaultValues(0); 146 XMLPortParam(Pawn, "reloadwaittime", setReloadWaitTime, getReloadWaitTime, xmlelement, mode).defaultValues(1.0f); 148 XMLPortObject(Pawn, WeaponPack, "weaponpacks", addWeaponPackXML, getWeaponPack, xmlelement, mode); 149 XMLPortObject(Pawn, Munition, "munition", addMunitionXML, getMunitionXML, xmlelement, mode); 150 151 XMLPortObject(Pawn, ExplosionPart, "explosion", addExplosionPart, getExplosionPart, xmlelement, mode); 152 XMLPortParam(Pawn, "shieldrechargerate", setShieldRechargeRate, getShieldRechargeRate, xmlelement, mode).defaultValues(0); 153 XMLPortParam(Pawn, "shieldrechargewaittime", setShieldRechargeWaitTime, getShieldRechargeWaitTime, xmlelement, mode).defaultValues(1.0f); 147 154 148 155 XMLPortParam(Pawn, "explosionSound", setExplosionSound, getExplosionSound, xmlelement, mode); … … 151 158 } 152 159 160 void Pawn::XMLEventPort(Element& xmlelement, XMLPort::Mode mode) 161 { 162 SUPER(Pawn, XMLEventPort, xmlelement, mode); 163 164 XMLPortEventState(Pawn, BaseObject, "vulnerability", setVulnerable, xmlelement, mode); 165 } 166 153 167 void Pawn::registerVariables() 154 168 { 155 registerVariable(this->bAlive_, VariableDirection::ToClient); 156 registerVariable(this->health_, VariableDirection::ToClient); 157 registerVariable(this->maxHealth_, VariableDirection::ToClient); 158 registerVariable(this->shieldHealth_, VariableDirection::ToClient); 159 registerVariable(this->maxShieldHealth_, VariableDirection::ToClient); 160 registerVariable(this->shieldAbsorption_, VariableDirection::ToClient); 161 registerVariable(this->bReload_, VariableDirection::ToServer); 162 registerVariable(this->aimPosition_, VariableDirection::ToServer); // For the moment this variable gets only transfered to the server 169 registerVariable(this->bAlive_, VariableDirection::ToClient); 170 registerVariable(this->health_, VariableDirection::ToClient); 171 registerVariable(this->maxHealth_, VariableDirection::ToClient); 172 registerVariable(this->shieldHealth_, VariableDirection::ToClient); 173 registerVariable(this->maxShieldHealth_, VariableDirection::ToClient); 174 registerVariable(this->shieldAbsorption_, VariableDirection::ToClient); 175 registerVariable(this->aimPosition_, VariableDirection::ToServer); // For the moment this variable gets only transfered to the server 163 176 } 164 177 165 178 void Pawn::tick(float dt) 166 179 { 180 //BigExplosion* chunk = new BigExplosion(this->getContext()); 167 181 SUPER(Pawn, tick, dt); 168 182 169 this->bReload_ = false; 170 183 // Recharge the shield 171 184 // TODO: use the existing timer functions instead 172 if(this-> reloadWaitCountdown_ > 0)173 { 174 this->decrease ReloadCountdownTime(dt);175 } 176 else 177 { 178 this->addShieldHealth(this->get ReloadRate() * dt);179 this->reset ReloadCountdown();185 if(this->shieldRechargeWaitCountdown_ > 0) 186 { 187 this->decreaseShieldRechargeCountdownTime(dt); 188 } 189 else 190 { 191 this->addShieldHealth(this->getShieldRechargeRate() * dt); 192 this->resetShieldRechargeCountdown(); 180 193 } 181 194 … … 229 242 } 230 243 231 void Pawn::setReloadRate(float reloadrate) 232 { 233 this->reloadRate_ = reloadrate; 234 } 235 236 void Pawn::setReloadWaitTime(float reloadwaittime) 237 { 238 this->reloadWaitTime_ = reloadwaittime; 239 } 240 241 void Pawn::decreaseReloadCountdownTime(float dt) 242 { 243 this->reloadWaitCountdown_ -= dt; 244 void Pawn::setShieldRechargeRate(float shieldRechargeRate) 245 { 246 this->shieldRechargeRate_ = shieldRechargeRate; 247 } 248 249 void Pawn::setShieldRechargeWaitTime(float shieldRechargeWaitTime) 250 { 251 this->shieldRechargeWaitTime_ = shieldRechargeWaitTime; 252 } 253 254 void Pawn::decreaseShieldRechargeCountdownTime(float dt) 255 { 256 this->shieldRechargeWaitCountdown_ -= dt; 257 } 258 259 void Pawn::changedVulnerability() 260 { 261 244 262 } 245 263 246 264 void Pawn::damage(float damage, float healthdamage, float shielddamage, Pawn* originator, const btCollisionShape* cs) 247 265 { 266 // A pawn can only get damaged if it is vulnerable 267 if (!isVulnerable()) 268 { 269 return; 270 } 271 248 272 // Applies multiplier given by the DamageBoost Pickup. 249 273 if (originator) … … 252 276 if (this->getGametype() && this->getGametype()->allowPawnDamage(this, originator)) 253 277 { 278 // Health-damage cannot be absorbed by shields. 279 // Shield-damage only reduces shield health. 280 // Normal damage can be (partially) absorbed by shields. 281 254 282 if (shielddamage >= this->getShieldHealth()) 255 283 { … … 366 394 if (GameMode::isMaster()) 367 395 { 368 this->deatheffect();369 396 this->goWithStyle(); 370 397 } … … 373 400 void Pawn::goWithStyle() 374 401 { 402 375 403 this->bAlive_ = false; 376 404 this->setDestroyWhenPlayerLeft(false); 377 405 378 BigExplosion* chunk = new BigExplosion(this->getContext()); 379 chunk->setPosition(this->getPosition()); 380 chunk->setVelocity(this->getVelocity()); 406 while(!explosionPartList_.empty()) 407 { 408 explosionPartList_.back()->setPosition(this->getPosition()); 409 explosionPartList_.back()->setVelocity(this->getVelocity()); 410 explosionPartList_.back()->setOrientation(this->getOrientation()); 411 explosionPartList_.back()->Explode(); 412 explosionPartList_.pop_back(); 413 } 414 415 for (unsigned int i = 0; i < this->numexplosionchunks_; ++i) 416 { 417 ExplosionChunk* chunk = new ExplosionChunk(this->getContext()); 418 chunk->setPosition(this->getPosition()); 419 } 381 420 382 421 this->explosionSound_->setPosition(this->getPosition()); 383 422 this->explosionSound_->play(); 384 }385 void Pawn::deatheffect()386 {387 // play death effect388 /*{389 ParticleSpawner* effect = new ParticleSpawner(this->getContext());390 effect->setPosition(this->getPosition());391 effect->setOrientation(this->getOrientation());392 effect->setDestroyAfterLife(true);393 effect->setSource("Orxonox/explosion2b");394 effect->setLifetime(4.0f);395 }396 {397 ParticleSpawner* effect = new ParticleSpawner(this->getContext());398 effect->setPosition(this->getPosition());399 effect->setOrientation(this->getOrientation());400 effect->setDestroyAfterLife(true);401 effect->setSource("Orxonox/smoke6");402 effect->setLifetime(4.0f);403 }404 {405 ParticleSpawner* effect = new ParticleSpawner(this->getContext());406 effect->setPosition(this->getPosition());407 effect->setOrientation(this->getOrientation());408 effect->setDestroyAfterLife(true);409 effect->setSource("Orxonox/sparks");410 effect->setLifetime(4.0f);411 }*/412 413 414 {415 ParticleSpawner* effect = new ParticleSpawner(this->getContext());416 effect->setPosition(this->getPosition());417 effect->setOrientation(this->getOrientation());418 effect->setDestroyAfterLife(true);419 effect->setSource("orxonox/explosion_flash2");420 effect->setLifetime(5.0f);421 }422 {423 ParticleSpawner* effect = new ParticleSpawner(this->getContext());424 effect->setPosition(this->getPosition());425 effect->setOrientation(this->getOrientation());426 effect->setDestroyAfterLife(true);427 effect->setSource("orxonox/explosion_flame2");428 effect->setLifetime(5.0f);429 }430 {431 ParticleSpawner* effect = new ParticleSpawner(this->getContext());432 effect->setPosition(this->getPosition());433 effect->setOrientation(this->getOrientation());434 effect->setDestroyAfterLife(true);435 effect->setSource("orxonox/explosion_shockwave2");436 effect->scale(20);437 effect->setLifetime(5.0f);438 }{439 ParticleSpawner* effect = new ParticleSpawner(this->getContext());440 effect->setPosition(this->getPosition());441 effect->setOrientation(this->getOrientation());442 effect->setDestroyAfterLife(true);443 effect->setSource("orxonox/explosion_sparks2");444 effect->setLifetime(5.0f);445 }446 {447 ParticleSpawner* effect = new ParticleSpawner(this->getContext());448 effect->setPosition(this->getPosition());449 effect->setOrientation(this->getOrientation());450 effect->setDestroyAfterLife(true);451 effect->setSource("orxonox/explosion_streak2");452 effect->setLifetime(5.0f);453 }454 {455 ParticleSpawner* effect = new ParticleSpawner(this->getContext());456 effect->setPosition(this->getPosition());457 effect->setOrientation(this->getOrientation());458 effect->setDestroyAfterLife(true);459 effect->setSource("orxonox/explosion_afterglow");460 effect->scale(20);461 effect->setLifetime(5.0f);462 }463 464 465 for (unsigned int i = 0; i < this->numexplosionchunks_; ++i)466 {467 ExplosionChunk* chunk = new ExplosionChunk(this->getContext());468 chunk->setPosition(this->getPosition());469 }470 423 } 471 424 … … 474 427 Check whether the Pawn has a @ref Orxonox::WeaponSystem and fire it with the specified firemode if it has one. 475 428 */ 429 476 430 void Pawn::fired(unsigned int firemode) 477 431 { 478 432 if (this->weaponSystem_) 479 433 this->weaponSystem_->fire(firemode); 480 }481 482 void Pawn::reload()483 {484 this->bReload_ = true;485 434 } 486 435 … … 491 440 this->spawneffect(); 492 441 } 442 443 444 void Pawn::addExplosionPart(ExplosionPart* ePart) 445 {this->explosionPartList_.push_back(ePart);} 446 447 448 ExplosionPart * Pawn::getExplosionPart() 449 {return this->explosionPartList_.back();} 450 451 493 452 494 453 /* WeaponSystem: … … 554 513 } 555 514 515 std::vector<WeaponPack *> * Pawn::getAllWeaponPacks() 516 { 517 if (this->weaponSystem_) 518 return this->weaponSystem_->getAllWeaponPacks(); 519 else 520 return 0; 521 } 522 523 void Pawn::addMunitionXML(Munition* munition) 524 { 525 if (this->weaponSystem_ && munition) 526 { 527 this->weaponSystem_->addMunition(munition); 528 } 529 } 530 531 Munition* Pawn::getMunitionXML() const 532 { 533 return NULL; 534 } 535 536 Munition* Pawn::getMunition(SubclassIdentifier<Munition> * identifier) 537 { 538 if (weaponSystem_) 539 { 540 return weaponSystem_->getMunition(identifier); 541 } 542 543 return NULL; 544 } 545 556 546 //Tell the Map (RadarViewable), if this is a playership 557 547 void Pawn::startLocalHumanControl() 558 548 { 559 // SUPER(ControllableEntity, changedPlayer());549 // SUPER(ControllableEntity, startLocalHumanControl()); 560 550 ControllableEntity::startLocalHumanControl(); 561 551 this->isHumanShip_ = true; -
code/trunk/src/orxonox/worldentities/pawns/Pawn.h
r10437 r11052 33 33 34 34 #include <string> 35 #include <vector> 35 36 #include "interfaces/PickupCarrier.h" 36 37 #include "interfaces/RadarViewable.h" 37 38 #include "worldentities/ControllableEntity.h" 39 #include "worldentities/ExplosionPart.h" 38 40 39 41 … … 42 44 /** 43 45 @brief 44 Everything in Orxono ythat has a health attribute is a Pawn. After a Pawn is spawned its health is set to46 Everything in Orxonox that has a health attribute is a Pawn. After a Pawn is spawned its health is set to 45 47 its initial health. In every call of the Pawns tick function the game checks whether the pawns health is at 46 48 or below zero. If it is, the pawn gets killed. 47 49 48 Pawns can carry pickups and fire weapons. The can also have shields.50 Pawns can carry pickups and fire weapons. They can also have shields. 49 51 50 52 Notice that every Pawn is a ControllableEntity. … … 62 64 63 65 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 66 virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode); 64 67 virtual void tick(float dt); 65 68 … … 116 119 { return this->shieldAbsorption_; } 117 120 118 // TODO: Rename to shieldRechargeRate 119 virtual void setReloadRate(float reloadrate); 120 inline float getReloadRate() const 121 { return this->reloadRate_; } 122 123 virtual void setReloadWaitTime(float reloadwaittime); 124 inline float getReloadWaitTime() const 125 { return this->reloadWaitTime_; } 126 127 inline void resetReloadCountdown() 128 { this->reloadWaitCountdown_ = 0; } 129 130 inline void startReloadCountdown() 131 { this->reloadWaitCountdown_ = this->getReloadWaitTime(); } // TODO: Implement in Projectile.cc 132 133 virtual void decreaseReloadCountdownTime(float dt); 121 virtual void setShieldRechargeRate(float shieldRechargeRate); 122 inline float getShieldRechargeRate() const 123 { return this->shieldRechargeRate_; } 124 125 virtual void setShieldRechargeWaitTime(float shieldRechargeWaitTime); 126 inline float getShieldRechargeWaitTime() const 127 { return this->shieldRechargeWaitTime_; } 128 129 inline void resetShieldRechargeCountdown() 130 { this->shieldRechargeWaitCountdown_ = 0; } 131 132 inline void startShieldRechargeCountdown() 133 { this->shieldRechargeWaitCountdown_ = this->getShieldRechargeWaitTime(); } // TODO: Implement in Projectile.cc 134 135 virtual void decreaseShieldRechargeCountdownTime(float dt); 136 137 /** @brief Sets the state of the pawns vulnerability. @param bVulnerable */ 138 inline void setVulnerable(bool bVulnerable) 139 { 140 if (this->bVulnerable_ != bVulnerable) 141 { 142 this->bVulnerable_ = bVulnerable; 143 this->changedVulnerability(); 144 } 145 } 146 /** @brief Returns the state of the pawns vulnerability. @return The state of the vulnerability */ 147 inline const bool& isVulnerable() const { return this->bVulnerable_; } 148 /** @brief This function gets called if the vulnerability of the pawn changes. */ 149 virtual void changedVulnerability(); 134 150 135 151 inline ControllableEntity* getLastHitOriginator() const 136 152 { return this->lastHitOriginator_; } 137 153 138 //virtual void hit(Pawn* originator, const Vector3& force, float damage);139 //virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage);140 154 virtual void hit(Pawn* originator, const Vector3& force, const btCollisionShape* cs, float damage, float healthdamage = 0.0f, float shielddamage = 0.0f); 141 155 virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, const btCollisionShape* cs, float damage, float healthdamage = 0.0f, float shielddamage = 0.0f); … … 144 158 145 159 virtual void fired(unsigned int firemode); 146 virtual void reload();147 160 virtual void postSpawn(); 161 162 void addExplosionPart(ExplosionPart* ePart); 163 ExplosionPart * getExplosionPart(); 148 164 149 165 void addWeaponSlot(WeaponSlot * wSlot); … … 154 170 void addWeaponPackXML(WeaponPack * wPack); 155 171 WeaponPack * getWeaponPack(unsigned int index) const; 172 std::vector<WeaponPack *> * getAllWeaponPacks(); 173 174 void addMunitionXML(Munition* munition); 175 Munition* getMunitionXML() const; 176 177 Munition* getMunition(SubclassIdentifier<Munition> * identifier); 156 178 157 179 virtual void addedWeaponPack(WeaponPack* wPack) {} … … 194 216 const std::string& getExplosionSound(); 195 217 218 virtual const WeaponSystem* getWeaponSystem() const 219 { return this->weaponSystem_; } 220 196 221 protected: 197 222 virtual void preDestroy(); … … 204 229 virtual Controller* getSlave(); 205 230 virtual void goWithStyle(); 206 virtual void deatheffect();207 231 virtual void spawneffect(); 208 232 209 //virtual void damage(float damage, Pawn* originator = 0);210 233 virtual void damage(float damage, float healthdamage = 0.0f, float shielddamage = 0.0f, Pawn* originator = NULL, const btCollisionShape* cs = NULL); 211 234 212 235 bool bAlive_; 236 bool bVulnerable_; ///< If false the pawn may not ged damaged 213 237 214 238 virtual std::vector<PickupCarrier*>* getCarrierChildren(void) const … … 226 250 float initialShieldHealth_; 227 251 float shieldAbsorption_; ///< Has to be between 0 and 1 228 float reloadRate_;229 float reloadWaitTime_;230 float reloadWaitCountdown_;252 float shieldRechargeRate_; 253 float shieldRechargeWaitTime_; 254 float shieldRechargeWaitCountdown_; 231 255 232 256 float damageMultiplier_; ///< Used by the Damage Boost Pickup. … … 235 259 236 260 WeaponSystem* weaponSystem_; 237 bool bReload_;238 261 239 262 std::string spawnparticlesource_; 240 263 float spawnparticleduration_; 241 264 unsigned int numexplosionchunks_; 265 266 std::vector<ExplosionPart*> explosionPartList_; 242 267 243 268 private: -
code/trunk/src/orxonox/worldentities/pawns/SpaceShip.cc
r10216 r11052 115 115 116 116 XMLPortObject(SpaceShip, Engine, "engines", addEngine, getEngine, xmlelement, mode); 117 118 117 119 } 118 120 … … 297 299 } 298 300 } 301 302 void SpaceShip::gainBoostPower(float gainedBoostPower) 303 { 304 this->boostPower_ += gainedBoostPower; 305 306 if (this->boostPower_ > this->initialBoostPower_) 307 { 308 this->boostPower_ = this->initialBoostPower_; 309 } 310 311 // If the booster is in cooldown mode and we gained boost power, the abort the cooldown. 312 if (this->isBoostCoolingDown() && this->boostPower_ > 0.0f) 313 { 314 timer_.stopTimer(); 315 this->boostCooledDown(); 316 } 317 } 318 299 319 /** 300 320 @brief -
code/trunk/src/orxonox/worldentities/pawns/SpaceShip.h
r10437 r11052 53 53 - The <b>boost</b>, there are quite some parameters pertaining to boosting. The boost is a special move of the SpaceShip, where, for a limited amount of time, it can fly considerably faster than usual. The <b>boostPower</b> is the amount of power available for boosting. The <b>boostPowerRate</b> is the rate at which the boost power is replenished. The <b>boostRate</b> is the rate at which boosting uses power. And the <b>boostCooldownDuration</b> is the time the SpaceShip cannot boost, once all the boost power has been used up. Naturally all of these parameters must be non-negative. 54 54 - The <b>boost shaking</b>, when the SpaceShip boosts, the camera shakes to create a more immersive effect. Two parameters can be used to adjust the effect. The <b>shakeFrequency</b> is the frequency with which the camera shakes. And the <b>shakeAmplitude</b> is the amount with which the camera shakes. Again these parameters must bee non-negative. 55 - The <b>lift</b> creates a more natural flight feeling through the addition of a lift force. There are again tow parameters that can be specified. The <b>lift</b> which is the lift force that is applied. And the <b>stallSpeed</b> which is the forward speed after which no more lift is generated. 55 - The <b>lift</b> creates a more natural flight feeling through the addition of a lift force. There are again two parameters that can be specified. The <b>lift</b> which is the lift force that is applied. And the <b>stallSpeed</b> which is the forward speed after which no more lift is generated. 56 57 A spaceship always needs to have the collision type "dynamic". Other collision types are illegal. 56 58 57 59 As mentioned @ref orxonox::Engine Engines can be mounted on the SpaceShip. Here is a (primitive) example of a SpaceShip defined in XML: … … 250 252 inline float getShakeAmplitude() const 251 253 { return this->shakeAmplitude_; } 254 /** 255 @brief Add boost power. Is non-negative. 256 @return Returns the current boost power. 257 */ 258 void gainBoostPower(float gainedBoostPower); 252 259 253 260 protected: … … 262 269 bool bBoostCooldown_; //!< Whether the SpaceShip is currently in boost cooldown, during which boosting is impossible. 263 270 float initialBoostPower_; //!< The initial (and maximal) boost power. 264 float boostPower_; //!< The current boost power. 271 float boostPower_; //!< The current boost power. If the boost power is reduced to zero the boost cooldown will start. 265 272 float boostPowerRate_; //!< The rate at which the boost power is recharged. 266 273 float boostRate_; //!< The rate at which boost power is used up. … … 289 296 std::vector<Engine*> engineList_; //!< The list of all Engines mounted on this SpaceShip. 290 297 291 Timer timer_; //!< Timer for the cooldown duration.298 Timer timer_; //!< Timer for the cooldown of the boost. 292 299 float shakeDt_; //!< Temporary variable for the shaking of the camera. 293 300 Vector3 cameraOriginalPosition_; //!< The original position of the camera before shaking it. -
code/trunk/test/core/class/IdentifierNestedClassHierarchyTest.cc
- Property svn:eol-style set to native
-
code/trunk/test/util/MathTest.cc
r9114 r11052 337 337 getAngle 338 338 get2DViewdirection 339 get2DView coordinates339 get2DViewCoordinates 340 340 getPredictedPosition 341 341 */
Note: See TracChangeset
for help on using the changeset viewer.