mirror of
https://github.com/Ragora/TribesReplay.git
synced 2026-01-19 17:44:45 +00:00
v22337 (04/13/01):
**SIEGE GAMEPLAY CHANGE**: When attacking a base, you will see red waypoints on the generators. When those generators are destroyed, the waypoints will change to green. If the generators are repaired thereafter, they will return to red. If you are on the defender team, these colors are reversed (green normally, red if destroyed, green if repaired again). This will help teams coordinate attack and defense more easily. **FLARE GREANDE GAMEPLAY CHANGE**: Each flare will only attract ONE missile now. When the missile hits the flare, the flare will be destroyed. Only the first missile fired after the flare is thrown will be fooled by that flare. Other missiles must be attracted by other flares in order to be avoided. *There was a problem where emails were getting cloned multiple times for some folks. This is fixed now and no longer occurs. *There was an issue where the single player game type was not being properly cleared for folks when they left single player and went to other games. This is fixed now. *A stray underground generator was removed from Caldera. *The name column will no longer jump to the top when folks leave and join a room, thus making it easier to stay focused on a particular player's name. *If you steal a vehicle, the vehicle's sensor radius will not switch to the stealing player's team. In otherwords, the sensor of the vehicle will still report to the original team's sensor net...not the team that stole the vehicle. That's as design and is one of the drawbacks of using a stolen vehicle. *Bounty & Hunter: The player icons on the command maps are now the correct colors. *More items have correct names and tags on the command map and in the HUD. There were instances like "East Generator Generator". Those have been eliminated. *The last patch accidentally eliminated the "PlayerXXX joined YYYY game. Click here to join." links from the CHAT. This has been resolved and is now available again. *Players are no longer able to squeeze in under the tires of vehicles and play Superman by lifting them off the ground. ; ) *Bots were getting stuck in Riverdance when the fell in the water near the bridge. This has been fixed. *Added more filtering options so that the filters for the server query (JOIN) screen are more powerful and flexible. *Added a Linux indicator so users can tell whether they are joining a Win32 or Linux server. (Shouldn't make any difference to game play, but we felt you'd like to know.) *Fixed a small texture leak on 3Space objects. *Added an underwater satchel charge effect. Slightly increased the delay time between activating the satchel and the time that it actually explodes (this was as designed...a minor bug was causing it to explode too soon).
This commit is contained in:
parent
b1941454ec
commit
f9ca0b52f9
|
|
@ -1,7 +1,7 @@
|
||||||
ProductName "Tribes2"
|
ProductName "Tribes2"
|
||||||
DisplayName "Tribes 2"
|
DisplayName "Tribes 2"
|
||||||
PatchFolder .\patch
|
PatchFolder .\patch
|
||||||
CurrentVersion 0.22228.0.0
|
CurrentVersion 0.22337.0.0
|
||||||
AutoStart
|
AutoStart
|
||||||
MonitorPatch
|
MonitorPatch
|
||||||
LaunchExe "tribes2.exe"
|
LaunchExe "tribes2.exe"
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ new GuiControl(FilterEditDlg) {
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "EDIT GAME FILTER";
|
text = "EDIT GAME FILTER";
|
||||||
|
maxLength = "255";
|
||||||
noTitleBar = "0";
|
noTitleBar = "0";
|
||||||
|
|
||||||
new GuiTextCtrl() {
|
new GuiTextCtrl() {
|
||||||
|
|
@ -31,6 +32,7 @@ new GuiControl(FilterEditDlg) {
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Filter Name:";
|
text = "Filter Name:";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellTextEditCtrl(FilterEditName) {
|
new ShellTextEditCtrl(FilterEditName) {
|
||||||
profile = "NewTextEditProfile";
|
profile = "NewTextEditProfile";
|
||||||
|
|
@ -42,8 +44,8 @@ new GuiControl(FilterEditDlg) {
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "New Filter";
|
text = "New Filter";
|
||||||
historySize = "0";
|
|
||||||
maxLength = "16";
|
maxLength = "16";
|
||||||
|
historySize = "0";
|
||||||
password = "0";
|
password = "0";
|
||||||
glowOffset = "9 9";
|
glowOffset = "9 9";
|
||||||
};
|
};
|
||||||
|
|
@ -51,67 +53,73 @@ new GuiControl(FilterEditDlg) {
|
||||||
profile = "ShellTextRightProfile";
|
profile = "ShellTextRightProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "53 78";
|
position = "26 78";
|
||||||
extent = "100 22";
|
extent = "60 22";
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Rules Set:";
|
text = "Rules Set:";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new GuiTextCtrl() {
|
new GuiTextCtrl() {
|
||||||
profile = "ShellTextRightProfile";
|
profile = "ShellTextRightProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "53 108";
|
position = "26 108";
|
||||||
extent = "100 22";
|
extent = "60 22";
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Game Type:";
|
text = "Game Type:";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new GuiTextCtrl() {
|
new GuiTextCtrl() {
|
||||||
profile = "ShellTextRightProfile";
|
profile = "ShellTextRightProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "326 78";
|
position = "239 78";
|
||||||
extent = "106 22";
|
extent = "106 22";
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Min Player Count:";
|
text = "Min Player Count:";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new GuiTextCtrl() {
|
new GuiTextCtrl() {
|
||||||
profile = "ShellTextRightProfile";
|
profile = "ShellTextRightProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "326 108";
|
position = "239 108";
|
||||||
extent = "106 22";
|
extent = "106 22";
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Max Player Count:";
|
text = "Max Player Count:";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new GuiTextCtrl() {
|
new GuiTextCtrl() {
|
||||||
profile = "ShellTextProfile";
|
profile = "ShellTextProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "111 197";
|
position = "42 230";
|
||||||
extent = "82 22";
|
extent = "82 22";
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Server Location:";
|
text = "Server Location:";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellPopupMenu(FilterEditGameType) {
|
new ShellPopupMenu(FilterEditGameType) {
|
||||||
profile = "ShellPopupProfile";
|
profile = "ShellPopupProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "150 69";
|
position = "83 69";
|
||||||
extent = "150 36";
|
extent = "160 36";
|
||||||
minExtent = "49 36";
|
minExtent = "49 36";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Any";
|
text = "Any";
|
||||||
|
maxLength = "255";
|
||||||
maxPopupHeight = "200";
|
maxPopupHeight = "200";
|
||||||
buttonBitmap = "gui/shll_pulldown";
|
buttonBitmap = "gui/shll_pulldown";
|
||||||
rolloverBarBitmap = "gui/shll_pulldownbar_rol";
|
rolloverBarBitmap = "gui/shll_pulldownbar_rol";
|
||||||
|
|
@ -122,15 +130,43 @@ new GuiControl(FilterEditDlg) {
|
||||||
profile = "NewTextEditNumericProfile";
|
profile = "NewTextEditNumericProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "428 70";
|
position = "341 70";
|
||||||
extent = "80 38";
|
extent = "80 38";
|
||||||
minExtent = "32 38";
|
minExtent = "32 38";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "0";
|
text = "0";
|
||||||
|
maxLength = "3";
|
||||||
validate = "FilterEditDlg.setMinPlayers();";
|
validate = "FilterEditDlg.setMinPlayers();";
|
||||||
historySize = "0";
|
historySize = "0";
|
||||||
|
password = "0";
|
||||||
|
glowOffset = "9 9";
|
||||||
|
};
|
||||||
|
new GuiTextCtrl() {
|
||||||
|
profile = "ShellTextRightProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "422 78";
|
||||||
|
extent = "84 22";
|
||||||
|
minExtent = "8 8";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "Max Bot Count:";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellTextEditCtrl(FilterEditMaxBots) {
|
||||||
|
profile = "NewTextEditNumericProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "502 70";
|
||||||
|
extent = "80 38";
|
||||||
|
minExtent = "32 38";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "16";
|
||||||
maxLength = "3";
|
maxLength = "3";
|
||||||
|
validate = "FilterEditDlg.setMaxBots();";
|
||||||
|
historySize = "0";
|
||||||
password = "0";
|
password = "0";
|
||||||
glowOffset = "9 9";
|
glowOffset = "9 9";
|
||||||
};
|
};
|
||||||
|
|
@ -138,12 +174,13 @@ new GuiControl(FilterEditDlg) {
|
||||||
profile = "ShellPopupProfile";
|
profile = "ShellPopupProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "150 99";
|
position = "83 99";
|
||||||
extent = "150 36";
|
extent = "160 36";
|
||||||
minExtent = "49 36";
|
minExtent = "49 36";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Any";
|
text = "Any";
|
||||||
|
maxLength = "255";
|
||||||
maxPopupHeight = "200";
|
maxPopupHeight = "200";
|
||||||
buttonBitmap = "gui/shll_pulldown";
|
buttonBitmap = "gui/shll_pulldown";
|
||||||
rolloverBarBitmap = "gui/shll_pulldownbar_rol";
|
rolloverBarBitmap = "gui/shll_pulldownbar_rol";
|
||||||
|
|
@ -154,15 +191,43 @@ new GuiControl(FilterEditDlg) {
|
||||||
profile = "NewTextEditNumericProfile";
|
profile = "NewTextEditNumericProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "428 100";
|
position = "341 100";
|
||||||
extent = "80 38";
|
extent = "80 38";
|
||||||
minExtent = "32 38";
|
minExtent = "32 38";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "255";
|
text = "255";
|
||||||
|
maxLength = "3";
|
||||||
validate = "FilterEditDlg.setMaxPlayers();";
|
validate = "FilterEditDlg.setMaxPlayers();";
|
||||||
historySize = "0";
|
historySize = "0";
|
||||||
maxLength = "3";
|
password = "0";
|
||||||
|
glowOffset = "9 9";
|
||||||
|
};
|
||||||
|
new GuiTextCtrl() {
|
||||||
|
profile = "ShellTextRightProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "422 108";
|
||||||
|
extent = "84 22";
|
||||||
|
minExtent = "8 8";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "Min CPU Speed:";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellTextEditCtrl(FilterEditMinCPU) {
|
||||||
|
profile = "NewTextEditNumericProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "502 100";
|
||||||
|
extent = "80 38";
|
||||||
|
minExtent = "32 38";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "0";
|
||||||
|
maxLength = "4";
|
||||||
|
validate = "FilterEditDlg.setMinCPU();";
|
||||||
|
historySize = "0";
|
||||||
password = "0";
|
password = "0";
|
||||||
glowOffset = "9 9";
|
glowOffset = "9 9";
|
||||||
};
|
};
|
||||||
|
|
@ -170,100 +235,143 @@ new GuiControl(FilterEditDlg) {
|
||||||
profile = "ShellRadioProfile";
|
profile = "ShellRadioProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "108 155";
|
position = "61 145";
|
||||||
extent = "165 27";
|
extent = "165 27";
|
||||||
minExtent = "26 27";
|
minExtent = "26 27";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "FILTER BY MAX PING";
|
text = "FILTER BY MAX PING";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellTextEditCtrl(FilterEditMaxPing) {
|
new ShellTextEditCtrl(FilterEditMaxPing) {
|
||||||
profile = "NewTextEditNumericProfile";
|
profile = "NewTextEditNumericProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "277 150";
|
position = "230 140";
|
||||||
extent = "80 38";
|
extent = "80 38";
|
||||||
minExtent = "32 38";
|
minExtent = "32 38";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "0";
|
text = "0";
|
||||||
|
maxLength = "3";
|
||||||
validate = "FilterEditDlg.setMaxPing();";
|
validate = "FilterEditDlg.setMaxPing();";
|
||||||
historySize = "0";
|
historySize = "0";
|
||||||
maxLength = "3";
|
|
||||||
password = "0";
|
password = "0";
|
||||||
glowOffset = "9 9";
|
glowOffset = "9 9";
|
||||||
};
|
};
|
||||||
|
new ShellToggleButton(FilterEditDedicatedTgl) {
|
||||||
|
profile = "ShellRadioProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "336 145";
|
||||||
|
extent = "165 27";
|
||||||
|
minExtent = "26 27";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "DEDICATED";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellToggleButton(FilterEditNoPwdTgl) {
|
||||||
|
profile = "ShellRadioProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "336 175";
|
||||||
|
extent = "165 27";
|
||||||
|
minExtent = "26 27";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "NOT PASSWORDED";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellToggleButton(FilterEditCurVersionTgl) {
|
||||||
|
profile = "ShellRadioProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "336 205";
|
||||||
|
extent = "165 27";
|
||||||
|
minExtent = "26 27";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "CURRENT VERSION";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
new ShellToggleButton(FilterEditLocMask0) {
|
new ShellToggleButton(FilterEditLocMask0) {
|
||||||
profile = "ShellRadioProfile";
|
profile = "ShellRadioProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "108 219";
|
position = "38 252";
|
||||||
extent = "165 27";
|
extent = "165 27";
|
||||||
minExtent = "26 27";
|
minExtent = "26 27";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
command = "FilterEditDlg.checkRegionMasks( 0 );";
|
command = "FilterEditDlg.checkRegionMasks( 0 );";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "NORTH AMERICA EAST";
|
text = "NORTH AMERICA EAST";
|
||||||
};
|
maxLength = "255";
|
||||||
new ShellToggleButton(FilterEditLocMask3) {
|
|
||||||
profile = "ShellRadioProfile";
|
|
||||||
horizSizing = "right";
|
|
||||||
vertSizing = "bottom";
|
|
||||||
position = "322 219";
|
|
||||||
extent = "165 27";
|
|
||||||
minExtent = "26 27";
|
|
||||||
visible = "1";
|
|
||||||
command = "FilterEditDlg.checkRegionMasks( 3 );";
|
|
||||||
helpTag = "0";
|
|
||||||
text = "AUSTRALIA";
|
|
||||||
};
|
|
||||||
new ShellToggleButton(FilterEditLocMask1) {
|
|
||||||
profile = "ShellRadioProfile";
|
|
||||||
horizSizing = "right";
|
|
||||||
vertSizing = "bottom";
|
|
||||||
position = "108 247";
|
|
||||||
extent = "165 27";
|
|
||||||
minExtent = "26 27";
|
|
||||||
visible = "1";
|
|
||||||
command = "FilterEditDlg.checkRegionMasks( 1 );";
|
|
||||||
helpTag = "0";
|
|
||||||
text = "NORTH AMERICA WEST";
|
|
||||||
};
|
|
||||||
new ShellToggleButton(FilterEditLocMask4) {
|
|
||||||
profile = "ShellRadioProfile";
|
|
||||||
horizSizing = "right";
|
|
||||||
vertSizing = "bottom";
|
|
||||||
position = "322 247";
|
|
||||||
extent = "165 27";
|
|
||||||
minExtent = "26 27";
|
|
||||||
visible = "1";
|
|
||||||
command = "FilterEditDlg.checkRegionMasks( 4 );";
|
|
||||||
helpTag = "0";
|
|
||||||
text = "ASIA";
|
|
||||||
};
|
};
|
||||||
new ShellToggleButton(FilterEditLocMask2) {
|
new ShellToggleButton(FilterEditLocMask2) {
|
||||||
profile = "ShellRadioProfile";
|
profile = "ShellRadioProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "108 275";
|
position = "217 252";
|
||||||
extent = "165 27";
|
extent = "165 27";
|
||||||
minExtent = "26 27";
|
minExtent = "26 27";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
command = "FilterEditDlg.checkRegionMasks( 2 );";
|
command = "FilterEditDlg.checkRegionMasks( 2 );";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "SOUTH AMERICA";
|
text = "SOUTH AMERICA";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellToggleButton(FilterEditLocMask3) {
|
||||||
|
profile = "ShellRadioProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "396 252";
|
||||||
|
extent = "165 27";
|
||||||
|
minExtent = "26 27";
|
||||||
|
visible = "1";
|
||||||
|
command = "FilterEditDlg.checkRegionMasks( 3 );";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "AUSTRALIA";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellToggleButton(FilterEditLocMask1) {
|
||||||
|
profile = "ShellRadioProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "38 280";
|
||||||
|
extent = "165 27";
|
||||||
|
minExtent = "26 27";
|
||||||
|
visible = "1";
|
||||||
|
command = "FilterEditDlg.checkRegionMasks( 1 );";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "NORTH AMERICA WEST";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellToggleButton(FilterEditLocMask5) {
|
new ShellToggleButton(FilterEditLocMask5) {
|
||||||
profile = "ShellRadioProfile";
|
profile = "ShellRadioProfile";
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "322 275";
|
position = "217 280";
|
||||||
extent = "165 27";
|
extent = "165 27";
|
||||||
minExtent = "26 27";
|
minExtent = "26 27";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
command = "FilterEditDlg.checkRegionMasks( 5 );";
|
command = "FilterEditDlg.checkRegionMasks( 5 );";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "EUROPE";
|
text = "EUROPE";
|
||||||
|
maxLength = "255";
|
||||||
|
};
|
||||||
|
new ShellToggleButton(FilterEditLocMask4) {
|
||||||
|
profile = "ShellRadioProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "396 280";
|
||||||
|
extent = "165 27";
|
||||||
|
minExtent = "26 27";
|
||||||
|
visible = "1";
|
||||||
|
command = "FilterEditDlg.checkRegionMasks( 4 );";
|
||||||
|
helpTag = "0";
|
||||||
|
text = "ASIA";
|
||||||
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellBitmapButton() {
|
new ShellBitmapButton() {
|
||||||
profile = "ShellButtonProfile";
|
profile = "ShellButtonProfile";
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ new GuiControl(JoinChatDlg) {
|
||||||
extent = "128 38";
|
extent = "128 38";
|
||||||
minExtent = "32 38";
|
minExtent = "32 38";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
command = "Canvas.popDialog(JoinChatDlg); LaunchTabView.viewTab(\"Chat\",ChatGui,0);";
|
command = "Canvas.popDialog(JoinChatDlg); LaunchTabView.viewTab(\"CHAT\",ChatGui,0);";
|
||||||
accelerator = "escape";
|
accelerator = "escape";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "CANCEL";
|
text = "CANCEL";
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ new GuiChunkedBitmapCtrl(LobbyGui) {
|
||||||
minExtent = "8 20";
|
minExtent = "8 20";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
startScrollRegion = "2 0";
|
startScrollRegion = "4 0";
|
||||||
headerBitmap = "gui/server_tabs";
|
headerBitmap = "gui/server_tabs";
|
||||||
sortArrowBitmap = "gui/shll_sortarrow";
|
sortArrowBitmap = "gui/shll_sortarrow";
|
||||||
fieldBase = "gui/shll_field";
|
fieldBase = "gui/shll_field";
|
||||||
|
|
|
||||||
|
|
@ -1365,7 +1365,7 @@ new GuiControl(OptionsDlg) {
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Voice Listen Quality:";
|
text = "Voice Listen Codec(s):";
|
||||||
maxLength = "255";
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellPopupMenu(OP_VoiceListenMenu) {
|
new ShellPopupMenu(OP_VoiceListenMenu) {
|
||||||
|
|
@ -1373,7 +1373,7 @@ new GuiControl(OptionsDlg) {
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "183 87";
|
position = "183 87";
|
||||||
extent = "169 36";
|
extent = "129 36";
|
||||||
minExtent = "49 36";
|
minExtent = "49 36";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
|
|
@ -1394,7 +1394,7 @@ new GuiControl(OptionsDlg) {
|
||||||
minExtent = "8 8";
|
minExtent = "8 8";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
text = "Voice Send Quality:";
|
text = "Voice Send Codec:";
|
||||||
maxLength = "255";
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
new ShellPopupMenu(OP_VoiceSendMenu) {
|
new ShellPopupMenu(OP_VoiceSendMenu) {
|
||||||
|
|
@ -1402,7 +1402,7 @@ new GuiControl(OptionsDlg) {
|
||||||
horizSizing = "right";
|
horizSizing = "right";
|
||||||
vertSizing = "bottom";
|
vertSizing = "bottom";
|
||||||
position = "183 117";
|
position = "183 117";
|
||||||
extent = "169 36";
|
extent = "129 36";
|
||||||
minExtent = "49 36";
|
minExtent = "49 36";
|
||||||
visible = "1";
|
visible = "1";
|
||||||
helpTag = "0";
|
helpTag = "0";
|
||||||
|
|
@ -1438,6 +1438,20 @@ new GuiControl(OptionsDlg) {
|
||||||
text = "Voice Send Quality:";
|
text = "Voice Send Quality:";
|
||||||
maxLength = "255";
|
maxLength = "255";
|
||||||
};
|
};
|
||||||
|
new GuiMLTextCtrl(OP_VoiceCodecInfo) {
|
||||||
|
profile = "GuiDefaultProfile";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
position = "25 159";
|
||||||
|
extent = "395 140";
|
||||||
|
minExtent = "8 140";
|
||||||
|
visible = "1";
|
||||||
|
helpTag = "0";
|
||||||
|
lineSpacing = "2";
|
||||||
|
allowColorChars = "0";
|
||||||
|
maxChars = "-1";
|
||||||
|
deniedSound = "InputDeniedSound";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
new ShellFieldCtrl(OP_ControlsPane) {
|
new ShellFieldCtrl(OP_ControlsPane) {
|
||||||
profile = "ShellFieldProfile";
|
profile = "ShellFieldProfile";
|
||||||
|
|
|
||||||
|
|
@ -1607,7 +1607,7 @@ new GuiControlProfile ("GuiChannelVectorProfile")
|
||||||
fontColors[6] = "77 253 95"; // team chat, spam protection message, client tasks
|
fontColors[6] = "77 253 95"; // team chat, spam protection message, client tasks
|
||||||
fontColors[7] = "40 231 240"; // global chat
|
fontColors[7] = "40 231 240"; // global chat
|
||||||
fontColors[8] = "200 200 50 200"; // used in single player game
|
fontColors[8] = "200 200 50 200"; // used in single player game
|
||||||
fontColors[9] = "0 255 255"; // action
|
fontColors[9] = "66 219 234";
|
||||||
autoSizeWidth = false;
|
autoSizeWidth = false;
|
||||||
autoSizeHeight = true;
|
autoSizeHeight = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Input log opened at Mon Apr 9 17:42:34 2001
|
Input log opened at Sun Apr 15 10:48:48 2001
|
||||||
|
|
||||||
Operating System:
|
Operating System:
|
||||||
WinNT version 5.0
|
WinNT version 5.0
|
||||||
|
|
|
||||||
|
|
@ -389,17 +389,6 @@ new SimGroup(MissionGroup) {
|
||||||
};
|
};
|
||||||
new SimGroup(IslandBase) {
|
new SimGroup(IslandBase) {
|
||||||
|
|
||||||
new WayPoint() {
|
|
||||||
position = "40.0495 -103.975 291.518";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Control Switch";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new StaticShape() {
|
new StaticShape() {
|
||||||
position = "40.0495 -103.975 291.518";
|
position = "40.0495 -103.975 291.518";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
|
|
@ -408,6 +397,7 @@ new SimGroup(MissionGroup) {
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "40 -104 277.557";
|
position = "40 -104 277.557";
|
||||||
|
|
|
||||||
|
|
@ -3225,7 +3225,7 @@ new SimGroup(MissionGroup) {
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
description = "AudioDefault3d";
|
description = "AudioDefault3d";
|
||||||
fileName = "fx/environment/cicadas.wav";
|
fileName = "fx/environment/crickets_drygrass.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ new SimGroup(MissionGroup) {
|
||||||
new SimGroup(Teams) {
|
new SimGroup(Teams) {
|
||||||
|
|
||||||
new SimGroup(Team1) {
|
new SimGroup(Team1) {
|
||||||
|
providesPower = true;
|
||||||
new SimGroup(WBase) {
|
new SimGroup(WBase) {
|
||||||
|
|
||||||
new StaticShape() {
|
new StaticShape() {
|
||||||
|
|
@ -200,6 +200,7 @@ new SimGroup(MissionGroup) {
|
||||||
scoutVehicle = "Removed";
|
scoutVehicle = "Removed";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
AssaultVehicle = "Removed";
|
AssaultVehicle = "Removed";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "-45.7829 -144.124 180.354";
|
position = "-45.7829 -144.124 180.354";
|
||||||
|
|
@ -210,16 +211,6 @@ new SimGroup(MissionGroup) {
|
||||||
AudioProfile = "Universal_Base_Pulse_2";
|
AudioProfile = "Universal_Base_Pulse_2";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
};
|
};
|
||||||
new StaticShape() {
|
|
||||||
position = "67.61 -48.218 -207.508";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "GeneratorLarge";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
Target = "37";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "-216.271 -235.459 148.4";
|
position = "-216.271 -235.459 148.4";
|
||||||
rotation = "0 0 1 63.0253";
|
rotation = "0 0 1 63.0253";
|
||||||
|
|
@ -265,18 +256,6 @@ new SimGroup(MissionGroup) {
|
||||||
locked = "true";
|
locked = "true";
|
||||||
originalBarrel = "PlasmaBarrelLarge";
|
originalBarrel = "PlasmaBarrelLarge";
|
||||||
};
|
};
|
||||||
new WayPoint() {
|
|
||||||
position = "-211.497 -233.586 151.337";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
nameTag = "Vehicle Pad";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Vehicle Pad";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
new SimGroup(spawnspheres) {
|
new SimGroup(spawnspheres) {
|
||||||
|
|
||||||
|
|
@ -388,18 +367,7 @@ new SimGroup(MissionGroup) {
|
||||||
locked = "true";
|
locked = "true";
|
||||||
name = "Tactical Generator";
|
name = "Tactical Generator";
|
||||||
scoreValue = "5";
|
scoreValue = "5";
|
||||||
};
|
needsObjectiveWaypoint = true;
|
||||||
new WayPoint() {
|
|
||||||
position = "172.84 20.1 219.825";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "0.1 0.1 0.1";
|
|
||||||
nameTag = "Tactical Generator";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Tactical Generator";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
new SimGroup(Stations) {
|
new SimGroup(Stations) {
|
||||||
|
|
@ -426,6 +394,7 @@ new SimGroup(MissionGroup) {
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
Target = "48";
|
Target = "48";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "210.961 -2.7616 219.719";
|
position = "210.961 -2.7616 219.719";
|
||||||
|
|
@ -448,18 +417,7 @@ new SimGroup(MissionGroup) {
|
||||||
locked = "true";
|
locked = "true";
|
||||||
name = "Primary Generator";
|
name = "Primary Generator";
|
||||||
scoreValue = "5";
|
scoreValue = "5";
|
||||||
};
|
needsObjectiveWaypoint = true;
|
||||||
new WayPoint() {
|
|
||||||
position = "268.3 20 219.8";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "0.1 0.1 0.1";
|
|
||||||
nameTag = "Primary Generator";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Primary Generator";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
};
|
||||||
new StaticShape() {
|
new StaticShape() {
|
||||||
position = "182.86 -5.01 219.7";
|
position = "182.86 -5.01 219.7";
|
||||||
|
|
|
||||||
|
|
@ -1657,7 +1657,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "641.802 118.866 134.47";
|
position = "641.802 118.866 134.47";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/cicadas.wav";
|
fileName = "fx/environment/crickets_drygrass.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1679,7 +1679,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "-201.563 -1.4155 139.489";
|
position = "-201.563 -1.4155 139.489";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/cicadas.wav";
|
fileName = "fx/environment/crickets_drygrass.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
|
||||||
|
|
@ -132,41 +132,45 @@ new SimGroup(MissionGroup) {
|
||||||
position = "114.695 -236.202 71.1529";
|
position = "114.695 -236.202 71.1529";
|
||||||
rotation = "0 0 1 89.5639";
|
rotation = "0 0 1 89.5639";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Bunker 1";
|
nameTag = "Bunker 1";
|
||||||
dataBlock = "GeneratorLarge";
|
dataBlock = "GeneratorLarge";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2generatorLarge2) {
|
new StaticShape(Team2generatorLarge2) {
|
||||||
position = "201.307 -171.776 53.1292";
|
position = "201.307 -171.776 53.1292";
|
||||||
rotation = "0 0 -1 89.9544";
|
rotation = "0 0 -1 89.9544";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Bunker 2";
|
nameTag = "Bunker 2";
|
||||||
dataBlock = "GeneratorLarge";
|
dataBlock = "GeneratorLarge";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2generatorLarge3) {
|
new StaticShape(Team2generatorLarge3) {
|
||||||
position = "220.274 -75.7459 47.4929";
|
position = "220.274 -75.7459 47.4929";
|
||||||
rotation = "0 0 -1 89.9544";
|
rotation = "0 0 -1 89.9544";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Bunker 3";
|
nameTag = "Bunker 3";
|
||||||
dataBlock = "GeneratorLarge";
|
dataBlock = "GeneratorLarge";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2generatorLarge4) {
|
new StaticShape(Team2generatorLarge4) {
|
||||||
position = "122.055 -68.2083 63.2656";
|
position = "122.055 -68.2083 63.2656";
|
||||||
rotation = "0 0 1 89.5639";
|
rotation = "0 0 1 89.5639";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Bunker 4";
|
nameTag = "Bunker 4";
|
||||||
dataBlock = "GeneratorLarge";
|
dataBlock = "GeneratorLarge";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new SimGroup(Bunker1) {
|
new SimGroup(Bunker1) {
|
||||||
|
|
||||||
|
|
@ -418,61 +422,7 @@ new SimGroup(MissionGroup) {
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
scoreValue = "5";
|
scoreValue = "5";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
};
|
needsObjectiveWaypoint = true;
|
||||||
new WayPoint() {
|
|
||||||
position = "199.172 -171.42 96.1636";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Bunker 2";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "116.693 -235.964 113.659";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Bunker 1";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "218.486 -75.1646 90.4386";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Bunker 3";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "123.951 -67.938 106.075";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Bunker 4";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "187.809 11.6775 32.3547";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Main Switch";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
};
|
||||||
new SimGroup(AIObjectives) {
|
new SimGroup(AIObjectives) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -187,6 +187,7 @@ new SimGroup(MissionGroup) {
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2generatorLarge2) {
|
new StaticShape(Team2generatorLarge2) {
|
||||||
position = "444.673 206.305 47.5003";
|
position = "444.673 206.305 47.5003";
|
||||||
|
|
@ -197,28 +198,7 @@ new SimGroup(MissionGroup) {
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
};
|
needsObjectiveWaypoint = true;
|
||||||
new WayPoint() {
|
|
||||||
position = "468.836 157.363 103.217";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Power Building";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "477.048 329.22 103.709";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Control Building";
|
|
||||||
team = "0";
|
|
||||||
locked = "true";
|
|
||||||
};
|
};
|
||||||
new StaticShape(Team2SensorLargePulse1) {
|
new StaticShape(Team2SensorLargePulse1) {
|
||||||
position = "412.455 189.482 168.46";
|
position = "412.455 189.482 168.46";
|
||||||
|
|
@ -242,6 +222,7 @@ new SimGroup(MissionGroup) {
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
scoreValue = "5";
|
scoreValue = "5";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new ForceFieldBare() {
|
new ForceFieldBare() {
|
||||||
position = "506.928 283.603 45.4741";
|
position = "506.928 283.603 45.4741";
|
||||||
|
|
|
||||||
|
|
@ -1024,28 +1024,6 @@ new SimGroup(MissionGroup) {
|
||||||
new SimGroup(defense) {
|
new SimGroup(defense) {
|
||||||
powerCount = "3";
|
powerCount = "3";
|
||||||
|
|
||||||
new WayPoint() {
|
|
||||||
position = "-5.4366 -45.1529 272.689";
|
|
||||||
rotation = "-0 0 -1 42.9718";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Holdfast Generators";
|
|
||||||
team = "2";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "15.7295 83.0713 296.738";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Stronghold Generator";
|
|
||||||
team = "2";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "-15.5504 -20.6638 284.652";
|
position = "-15.5504 -20.6638 284.652";
|
||||||
rotation = "-0 0 -1 89.9543";
|
rotation = "-0 0 -1 89.9543";
|
||||||
|
|
@ -1092,7 +1070,7 @@ new SimGroup(MissionGroup) {
|
||||||
Target = "42";
|
Target = "42";
|
||||||
team = "2";
|
team = "2";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
damageTimeMS = "694715";
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2generatorLarge2) {
|
new StaticShape(Team2generatorLarge2) {
|
||||||
position = "-6.7802 -43.0255 271.588";
|
position = "-6.7802 -43.0255 271.588";
|
||||||
|
|
@ -1106,7 +1084,7 @@ new SimGroup(MissionGroup) {
|
||||||
Target = "43";
|
Target = "43";
|
||||||
team = "2";
|
team = "2";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
damageTimeMS = "695007";
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new Item() {
|
new Item() {
|
||||||
position = "-14.7471 -32.7903 282.27";
|
position = "-14.7471 -32.7903 282.27";
|
||||||
|
|
@ -1230,6 +1208,7 @@ new SimGroup(MissionGroup) {
|
||||||
team = "2";
|
team = "2";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
damageTimeMS = "652863";
|
damageTimeMS = "652863";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new Item() {
|
new Item() {
|
||||||
position = "-11.0846 -30.0616 297.07";
|
position = "-11.0846 -30.0616 297.07";
|
||||||
|
|
@ -1249,7 +1228,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "-15.3318 -0.0208392 269.726";
|
position = "-15.3318 -0.0208392 269.726";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Control Switch";
|
nameTag = "Control";
|
||||||
dataBlock = "FlipFlop";
|
dataBlock = "FlipFlop";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
|
|
@ -1257,6 +1236,7 @@ new SimGroup(MissionGroup) {
|
||||||
team = "2";
|
team = "2";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
Projector = "0";
|
Projector = "0";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new ForceFieldBare() {
|
new ForceFieldBare() {
|
||||||
position = "-15.6484 -12.6499 269.508";
|
position = "-15.6484 -12.6499 269.508";
|
||||||
|
|
|
||||||
|
|
@ -1469,7 +1469,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "-123.276 28.4301 116.558";
|
position = "-123.276 28.4301 116.558";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/bird1.wav";
|
fileName = "fx/environment/bird_echo2.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1513,7 +1513,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "-288.977 118.926 110.287";
|
position = "-288.977 118.926 110.287";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/bird1.wav";
|
fileName = "fx/environment/bird_echo3.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1535,7 +1535,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "-464.766 -25.1102 114.665";
|
position = "-464.766 -25.1102 114.665";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/bird2.wav";
|
fileName = "fx/environment/bird_echo4.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1579,7 +1579,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "-464.866 108.756 106.983";
|
position = "-464.866 108.756 106.983";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/bird1.wav";
|
fileName = "fx/environment/bird_echo1.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "1";
|
outsideAmbient = "1";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
|
||||||
|
|
@ -410,7 +410,7 @@ new SimGroup(MissionGroup) {
|
||||||
powerCount = "0";
|
powerCount = "0";
|
||||||
|
|
||||||
new SimGroup(ObjAlpha) {
|
new SimGroup(ObjAlpha) {
|
||||||
powerCount = "1";
|
providesPower = true;
|
||||||
|
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "-202.509 -44.8018 107.6";
|
position = "-202.509 -44.8018 107.6";
|
||||||
|
|
@ -436,25 +436,11 @@ new SimGroup(MissionGroup) {
|
||||||
team = "2";
|
team = "2";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
};
|
};
|
||||||
new StaticShape(Team2generatorLarge1) {
|
|
||||||
position = "-208.471 -50.5374 91.9001";
|
|
||||||
rotation = "0 0 -1 89.9544";
|
|
||||||
scale = "1 1 1";
|
|
||||||
nameTag = "East Stronghold";
|
|
||||||
dataBlock = "GeneratorLarge";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "East Bunker Generator";
|
|
||||||
Target = "40";
|
|
||||||
team = "2";
|
|
||||||
scoreValue = "5";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new StaticShape(Team2FlipFlop1) {
|
new StaticShape(Team2FlipFlop1) {
|
||||||
position = "-202.729 -45.0803 97.5";
|
position = "-202.729 -45.0803 97.5";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Control Switch";
|
nameTag = "Control";
|
||||||
dataBlock = "FlipFlop";
|
dataBlock = "FlipFlop";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
|
|
@ -462,6 +448,7 @@ new SimGroup(MissionGroup) {
|
||||||
team = "2";
|
team = "2";
|
||||||
Projector = "0";
|
Projector = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
new SimGroup(ObjBeta) {
|
new SimGroup(ObjBeta) {
|
||||||
|
|
@ -490,6 +477,7 @@ new SimGroup(MissionGroup) {
|
||||||
team = "2";
|
team = "2";
|
||||||
scoreValue = "5";
|
scoreValue = "5";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2StationInventory1) {
|
new StaticShape(Team2StationInventory1) {
|
||||||
position = "-115.004 27.3879 132.533";
|
position = "-115.004 27.3879 132.533";
|
||||||
|
|
@ -553,6 +541,7 @@ new SimGroup(MissionGroup) {
|
||||||
team = "2";
|
team = "2";
|
||||||
scoreValue = "5";
|
scoreValue = "5";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape(Team2StationInventory3) {
|
new StaticShape(Team2StationInventory3) {
|
||||||
position = "-61.3169 -115.977 126.67";
|
position = "-61.3169 -115.977 126.67";
|
||||||
|
|
@ -590,39 +579,6 @@ new SimGroup(MissionGroup) {
|
||||||
locked = "true";
|
locked = "true";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
new WayPoint() {
|
|
||||||
position = "-64.5573 -106.805 125.669";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "South Base Generator";
|
|
||||||
team = "2";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "-104.34 26.2317 135.396";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "North Base Generator";
|
|
||||||
team = "2";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "-206.347 -48.8631 90.5829";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "West Tower";
|
|
||||||
team = "2";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
new SimGroup(AIObjectives) {
|
new SimGroup(AIObjectives) {
|
||||||
powerCount = "0";
|
powerCount = "0";
|
||||||
|
|
|
||||||
|
|
@ -1387,7 +1387,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "640.679 -507.778 104.063";
|
position = "640.679 -507.778 104.063";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/sandpatter2. wav";
|
fileName = "fx/environment/sandpatter1. wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "0";
|
outsideAmbient = "0";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1408,7 +1408,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "5.48026 2.36356 61.6817";
|
position = "5.48026 2.36356 61.6817";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/sandpatter2.wav";
|
fileName = "fx/environment/sandpatter1.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "0";
|
outsideAmbient = "0";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1450,7 +1450,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "335.214 -315.084 70.6655";
|
position = "335.214 -315.084 70.6655";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/sandpatter2.wav";
|
fileName = "fx/environment/sandpatter1.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "0";
|
outsideAmbient = "0";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
@ -1492,7 +1492,7 @@ new SimGroup(MissionGroup) {
|
||||||
position = "904.258 -618.315 111.262";
|
position = "904.258 -618.315 111.262";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
fileName = "fx/environment/sandpatter2.wav";
|
fileName = "fx/environment/sandpatter1.wav";
|
||||||
useProfileDescription = "0";
|
useProfileDescription = "0";
|
||||||
outsideAmbient = "0";
|
outsideAmbient = "0";
|
||||||
volume = "1";
|
volume = "1";
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@ new SimGroup(MissionGroup) {
|
||||||
name = "Sorth Entrance Generator";
|
name = "Sorth Entrance Generator";
|
||||||
Target = "33";
|
Target = "33";
|
||||||
team = "1";
|
team = "1";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape() {
|
new StaticShape() {
|
||||||
position = "40.62 -127.18 51.09";
|
position = "40.62 -127.18 51.09";
|
||||||
|
|
@ -120,6 +121,7 @@ new SimGroup(MissionGroup) {
|
||||||
name = "East Generator";
|
name = "East Generator";
|
||||||
Target = "34";
|
Target = "34";
|
||||||
team = "1";
|
team = "1";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new Turret() {
|
new Turret() {
|
||||||
position = "-1.6 -288.306 120.594";
|
position = "-1.6 -288.306 120.594";
|
||||||
|
|
@ -251,51 +253,20 @@ new SimGroup(MissionGroup) {
|
||||||
name = "Great Hall Generator";
|
name = "Great Hall Generator";
|
||||||
Target = "41";
|
Target = "41";
|
||||||
team = "1";
|
team = "1";
|
||||||
};
|
needsObjectiveWaypoint = true;
|
||||||
new WayPoint() {
|
|
||||||
position = "34.89 -165.434 71.8233";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "0.1 0.1 0.1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "Great Hall Generator";
|
|
||||||
team = "1";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "40.81 -129.263 50.1692";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "0.1 0.1 0.1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "East Generator";
|
|
||||||
team = "1";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new WayPoint() {
|
|
||||||
position = "40.03 -223.787 46.0142";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "0.1 0.1 0.1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "South Entrance Generator";
|
|
||||||
team = "1";
|
|
||||||
locked = "true";
|
|
||||||
};
|
};
|
||||||
new StaticShape() {
|
new StaticShape() {
|
||||||
position = "31.6522 -165.653 51.15";
|
position = "31.6522 -165.653 51.15";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
nameTag = "Control Switch";
|
nameTag = "Control";
|
||||||
dataBlock = "FlipFlop";
|
dataBlock = "FlipFlop";
|
||||||
lockCount = "0";
|
lockCount = "0";
|
||||||
homingCount = "0";
|
homingCount = "0";
|
||||||
locked = "true";
|
locked = "true";
|
||||||
Target = "42";
|
Target = "42";
|
||||||
team = "1";
|
team = "1";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new ForceFieldBare() {
|
new ForceFieldBare() {
|
||||||
position = "25.7162 -158.946 50.9885";
|
position = "25.7162 -158.946 50.9885";
|
||||||
|
|
@ -493,6 +464,7 @@ new SimGroup(MissionGroup) {
|
||||||
name = "NE Force Field Generator #1";
|
name = "NE Force Field Generator #1";
|
||||||
Target = "47";
|
Target = "47";
|
||||||
team = "1";
|
team = "1";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new StaticShape() {
|
new StaticShape() {
|
||||||
position = "243.46 232.45 166.9";
|
position = "243.46 232.45 166.9";
|
||||||
|
|
@ -506,6 +478,7 @@ new SimGroup(MissionGroup) {
|
||||||
name = "NE Force Field Generator #2";
|
name = "NE Force Field Generator #2";
|
||||||
Target = "48";
|
Target = "48";
|
||||||
team = "1";
|
team = "1";
|
||||||
|
needsObjectiveWaypoint = true;
|
||||||
};
|
};
|
||||||
new InteriorInstance() {
|
new InteriorInstance() {
|
||||||
position = "240.91 269.69 155.91";
|
position = "240.91 269.69 155.91";
|
||||||
|
|
@ -543,17 +516,6 @@ new SimGroup(MissionGroup) {
|
||||||
team = "1";
|
team = "1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
new WayPoint() {
|
|
||||||
position = "239.74 221.29 169.23";
|
|
||||||
rotation = "1 0 0 0";
|
|
||||||
scale = "1 1 1";
|
|
||||||
dataBlock = "WayPointMarker";
|
|
||||||
lockCount = "0";
|
|
||||||
homingCount = "0";
|
|
||||||
name = "North Force Field Generator Bunker";
|
|
||||||
team = "1";
|
|
||||||
locked = "true";
|
|
||||||
};
|
|
||||||
new Item() {
|
new Item() {
|
||||||
position = "250.45 216.71 144.22";
|
position = "250.45 216.71 144.22";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ $CHANNEL_NEW = 512;
|
||||||
// Default messages (if gui is left blank)
|
// Default messages (if gui is left blank)
|
||||||
$DefaultChatAwayMessage = "Don't be alarmed. I'm going to step away from my computer.";
|
$DefaultChatAwayMessage = "Don't be alarmed. I'm going to step away from my computer.";
|
||||||
$DefaultChatKickMessage = "Alright, you\'re outta here!";
|
$DefaultChatKickMessage = "Alright, you\'re outta here!";
|
||||||
$DefaultChatBanMessage = "You, and three generations of your offspring, are banned from this channel.";
|
$DefaultChatBanMessage = "Get out. And stay out!";
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
@ -145,6 +145,7 @@ function ChatTabView::onSelect(%this,%obj,%name)
|
||||||
if ($IRCClient::currentChannel == $IRCClient::attachedChannel)
|
if ($IRCClient::currentChannel == $IRCClient::attachedChannel)
|
||||||
ChatGuiMessageVector.detach();
|
ChatGuiMessageVector.detach();
|
||||||
ChatGuiMessageVector.attach(%obj);
|
ChatGuiMessageVector.attach(%obj);
|
||||||
|
ChatGuiMessageVector.scrollToBottom();
|
||||||
$IRCClient::attachedChannel = %obj;
|
$IRCClient::attachedChannel = %obj;
|
||||||
}
|
}
|
||||||
$IRCClient::currentChannel = %obj;
|
$IRCClient::currentChannel = %obj;
|
||||||
|
|
@ -786,7 +787,7 @@ function IRCClient::notify(%event)
|
||||||
case IDIRC_SORT:
|
case IDIRC_SORT:
|
||||||
%i = $IRCClient::currentChannel.findMember($IRCClient::people.getObject(0));
|
%i = $IRCClient::currentChannel.findMember($IRCClient::people.getObject(0));
|
||||||
ChatEditChannelBtn.setVisible($IRCClient::currentChannel.getFlags(%i) & $PERSON_OPERATOR);
|
ChatEditChannelBtn.setVisible($IRCClient::currentChannel.getFlags(%i) & $PERSON_OPERATOR);
|
||||||
ChatRoomMemberList_rebuild($IRCClient::currentChannel);
|
ChatRoomMemberList_refresh($IRCClient::currentChannel);
|
||||||
case IDIRC_PART:
|
case IDIRC_PART:
|
||||||
ChatRoomMemberList_refresh($IRCClient::currentChannel);
|
ChatRoomMemberList_refresh($IRCClient::currentChannel);
|
||||||
case IDIRC_KICK:
|
case IDIRC_KICK:
|
||||||
|
|
@ -824,6 +825,7 @@ function IRCClient::notify(%event)
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function IRCClient::statusMessage(%message)
|
function IRCClient::statusMessage(%message)
|
||||||
{
|
{
|
||||||
|
//error("IRCClient::statusMessage( "@%message@" )");
|
||||||
$IRCClient::channels.getObject(0).pushBackLine("[STATUS] " @ %message);
|
$IRCClient::channels.getObject(0).pushBackLine("[STATUS] " @ %message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1370,6 +1372,9 @@ function IRCClient::relogin()
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function IRCClient::send(%message)
|
function IRCClient::send(%message)
|
||||||
{
|
{
|
||||||
|
if($IRCEcho)
|
||||||
|
echo("IRC SEND:" @ %message);
|
||||||
|
|
||||||
$IRCClient::tcp.send(%message @ "\r\n");
|
$IRCClient::tcp.send(%message @ "\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1377,7 +1382,7 @@ function IRCClient::send(%message)
|
||||||
function IRCTCP::onLine(%this,%line)
|
function IRCTCP::onLine(%this,%line)
|
||||||
{
|
{
|
||||||
if($IRCEcho)
|
if($IRCEcho)
|
||||||
echo("IRC " @ %line);
|
echo("IRC RECV:" @ %line);
|
||||||
// HACK: Windows 2000 bug. We shouldn't need to do this!
|
// HACK: Windows 2000 bug. We shouldn't need to do this!
|
||||||
if ($IRCClient::state $= IDIRC_CONNECTING_SOCKET)
|
if ($IRCClient::state $= IDIRC_CONNECTING_SOCKET)
|
||||||
IRCTCP::onConnected(%this);
|
IRCTCP::onConnected(%this);
|
||||||
|
|
@ -1614,6 +1619,7 @@ function IRCClient::onJoin(%prefix,%params)
|
||||||
|
|
||||||
// this is a hack, the list isnt being rebuilt right away but it is if you give it a half second
|
// this is a hack, the list isnt being rebuilt right away but it is if you give it a half second
|
||||||
schedule(500, 0, chatRoomMemberList_rebuild);
|
schedule(500, 0, chatRoomMemberList_rebuild);
|
||||||
|
//error("rebuilt by onJoin");
|
||||||
}
|
}
|
||||||
IRCClient::connected();
|
IRCClient::connected();
|
||||||
}
|
}
|
||||||
|
|
@ -1942,7 +1948,7 @@ function IRCClient::onKick(%prefix,%params)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
IRCClient::newMessage($IRCClient::currentChannel,"Host " @ %host @ " kicks " @ IRCClient::taggedNick(%p) @ " out of the chat room, saying \"" @ %params @ "\"");
|
IRCClient::newMessage(%c, "Host " @ %host @ " kicks " @ IRCClient::taggedNick(%p) @ " out of the chat room, saying \"" @ %params @ "\"");
|
||||||
IRCClient::notify(IDIRC_PART);
|
IRCClient::notify(IDIRC_PART);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2199,7 +2205,7 @@ function IRCClient::censor(%str)
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function IRCClient::onList(%prefix,%params)
|
function IRCClient::onList(%prefix,%params)
|
||||||
{
|
{
|
||||||
//error("IRCClient::onList( "@ %prefix @", "@ %params @")");
|
//error("IRCClient::onList( "@ %prefix @", "@ %params @")");
|
||||||
//EXAMPLE: :StLouis.MO.US.UnderNet.org 322 homer128 #bmx 9 :BMX Rules!
|
//EXAMPLE: :StLouis.MO.US.UnderNet.org 322 homer128 #bmx 9 :BMX Rules!
|
||||||
|
|
||||||
%params = nextToken(%params,nick," ");
|
%params = nextToken(%params,nick," ");
|
||||||
|
|
@ -2309,6 +2315,7 @@ function IRCClient::onAway(%prefix,%params)
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function IRCClient::onAction(%prefix,%params)
|
function IRCClient::onAction(%prefix,%params)
|
||||||
{
|
{
|
||||||
|
//error("IRCClient::onAction( "@ %prefix @", "@ %params @")");
|
||||||
%msg = nextToken(%params,ch," :");
|
%msg = nextToken(%params,ch," :");
|
||||||
%c = IRCClient::findChannel(%ch,true);
|
%c = IRCClient::findChannel(%ch,true);
|
||||||
|
|
||||||
|
|
@ -2436,7 +2443,8 @@ function IRCClient::onChannelBanned(%prefix,%params)
|
||||||
nextToken(%channel,channel," ");
|
nextToken(%channel,channel," ");
|
||||||
|
|
||||||
IRCClient::connected();
|
IRCClient::connected();
|
||||||
IRCClient::statusMessage("Cannot join " @ %channel @ ": you have been banned.");
|
//IRCClient::statusMessage("Cannot join " @ %channel @ ": you have been banned.");
|
||||||
|
MessageBoxOk("Banned", "Cannot join " @ IRCClient::displayChannel(%channel) @ ". You have been banned.");
|
||||||
IRCClient::notify(IDIRC_BANNED_CH);
|
IRCClient::notify(IDIRC_BANNED_CH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2446,6 +2454,7 @@ function IRCClient::onServerBanned(%prefix,%params)
|
||||||
$IRCClient::state = $IDIRC_DISCONNECTED;
|
$IRCClient::state = $IDIRC_DISCONNECTED;
|
||||||
|
|
||||||
IRCClient::statusMessage("You have been banned from this server.");
|
IRCClient::statusMessage("You have been banned from this server.");
|
||||||
|
MessageBoxOk("Server Ban", "You have been banned from this server.");
|
||||||
// IRCClient::notify(IDIRC_BANNED_SERVER);
|
// IRCClient::notify(IDIRC_BANNED_SERVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2830,6 +2839,7 @@ function IRCClient::setSpectator(%nick)
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function IRCClient::kick(%p,%msg)
|
function IRCClient::kick(%p,%msg)
|
||||||
{
|
{
|
||||||
|
//error("IRCClient::kick( "@ %p @", "@ %msg@" )");
|
||||||
IRCClient::send("KICK" SPC $IRCClient::currentChannel.getName() SPC %p.displayName @ " :" @ %msg);
|
IRCClient::send("KICK" SPC $IRCClient::currentChannel.getName() SPC %p.displayName @ " :" @ %msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2968,19 +2978,29 @@ function IRCClient::onJoinServer(%mission,%server,%address,%mayprequire,%prequir
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function IRCClient::onJoinGame(%address,%desc)
|
function IRCClient::onJoinGame(%address,%desc)
|
||||||
{
|
{
|
||||||
|
//error("IRCClient::onJoinGame( "@ %address @", "@ %desc @" )");
|
||||||
|
IRCClient::away("joined a game.");
|
||||||
|
|
||||||
|
%me = $IRCClient::people.getObject(0);
|
||||||
|
if(%address $= %me.lastAddress)
|
||||||
|
return;
|
||||||
|
|
||||||
|
%me.lastAddress = %address;
|
||||||
|
|
||||||
if (%address $= "")
|
if (%address $= "")
|
||||||
%msg = $pref::IRCClient::hostMsg;
|
%msg = $pref::IRCClient::hostMsg;
|
||||||
else
|
else
|
||||||
%msg = "launched into <t2server:" @ %address @ ">" @ %desc @ "</t2server>.";
|
%msg = "launched into <t2server:" @ %address @ ">" @ %desc @ "</t2server>.";
|
||||||
IRCClient::away(%msg);
|
|
||||||
|
//IRCClient::sendAction(%msg);
|
||||||
|
|
||||||
for (%i = 1; %i < $IRCClient::channels.getCount(); %i++)
|
for (%i = 1; %i < $IRCClient::channels.getCount(); %i++)
|
||||||
{
|
{
|
||||||
%c = $IRCClient::channels.getObject(%i);
|
%c = $IRCClient::channels.getObject(%i);
|
||||||
if (!%c.private)
|
if (!%c.private)
|
||||||
//IRCClient::send2(%msg,%c.getName());
|
IRCClient::send("PRIVMSG " @ %c.getName() @ " :\x01ACTION " @ %msg @ "\x01");
|
||||||
IRCClient::send("PRIVMSG " @ %c.getName() @ ":\x01ACTION " @ %msg @ "\x01");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,11 +64,28 @@ function ChooseFilterDlg::editFilter( %this )
|
||||||
%rowText = CF_FilterList.getRowTextById( %rowId );
|
%rowText = CF_FilterList.getRowTextById( %rowId );
|
||||||
%filterName = getField( %rowText, 0 );
|
%filterName = getField( %rowText, 0 );
|
||||||
%gameType = getField( %rowText, 1 );
|
%gameType = getField( %rowText, 1 );
|
||||||
|
if ( %gameType $= "" )
|
||||||
|
%gameType = "Any";
|
||||||
%misType = getField( %rowText, 2 );
|
%misType = getField( %rowText, 2 );
|
||||||
|
if ( %misType $= "" )
|
||||||
|
%misType = "Any";
|
||||||
%minPlayers = getField( %rowText, 3 );
|
%minPlayers = getField( %rowText, 3 );
|
||||||
|
if ( %minPlayers $= "" )
|
||||||
|
%minPlayers = 0;
|
||||||
%maxPlayers = getField( %rowText, 4 );
|
%maxPlayers = getField( %rowText, 4 );
|
||||||
|
if ( %maxPlayers $= "" )
|
||||||
|
%maxPlayers = 255;
|
||||||
%regionCode = getField( %rowText, 5 );
|
%regionCode = getField( %rowText, 5 );
|
||||||
|
if ( %regionCode $= "" )
|
||||||
|
%regionCode = 4294967295;
|
||||||
%maxPing = getField( %rowText, 6 );
|
%maxPing = getField( %rowText, 6 );
|
||||||
|
%maxBots = getField( %rowText, 7 );
|
||||||
|
if ( %maxBots $= "" )
|
||||||
|
%maxBots = 16;
|
||||||
|
%minCPU = getField( %rowText, 8 );
|
||||||
|
if ( %minCPU $= "" )
|
||||||
|
%minCPU = 0;
|
||||||
|
%flags = getField( %rowText, 9 );
|
||||||
|
|
||||||
FilterEditName.setValue( %filterName );
|
FilterEditName.setValue( %filterName );
|
||||||
FilterEditMinPlayers.setValue( %minPlayers );
|
FilterEditMinPlayers.setValue( %minPlayers );
|
||||||
|
|
@ -96,6 +113,12 @@ function ChooseFilterDlg::editFilter( %this )
|
||||||
FilterEditMaxPing.setVisible( true );
|
FilterEditMaxPing.setVisible( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FilterEditMaxBots.setValue( %maxBots );
|
||||||
|
FilterEditMinCPU.setValue( %minCPU );
|
||||||
|
FilterEditDedicatedTgl.setValue( %flags & 1 );
|
||||||
|
FilterEditNoPwdTgl.setValue( %flags & 2 );
|
||||||
|
FilterEditCurVersionTgl.setValue( %flags & 128 );
|
||||||
|
|
||||||
%this.editFilterIndex = %rowId;
|
%this.editFilterIndex = %rowId;
|
||||||
Canvas.pushDialog( FilterEditDlg );
|
Canvas.pushDialog( FilterEditDlg );
|
||||||
}
|
}
|
||||||
|
|
@ -115,8 +138,14 @@ function ChooseFilterDlg::saveFilter( %this )
|
||||||
%regionCode |= ( 1 << %i );
|
%regionCode |= ( 1 << %i );
|
||||||
}
|
}
|
||||||
%maxPing = FilterEditUsePingTgl.getValue() ? FilterEditMaxPing.getValue() : 0;
|
%maxPing = FilterEditUsePingTgl.getValue() ? FilterEditMaxPing.getValue() : 0;
|
||||||
|
%maxBots = FilterEditMaxBots.getValue();
|
||||||
|
%minCPU = FilterEditMinCPU.getValue();
|
||||||
|
%flags = FilterEditDedicatedTgl.getValue()
|
||||||
|
| ( FilterEditNoPwdTgl.getValue() << 1 )
|
||||||
|
| ( FilterEditCurVersionTgl.getValue() << 7 );
|
||||||
%row = %filterName TAB %gameType TAB %misType
|
%row = %filterName TAB %gameType TAB %misType
|
||||||
TAB %minPlayers TAB %maxPlayers TAB %regionCode TAB %maxPing;
|
TAB %minPlayers TAB %maxPlayers TAB %regionCode
|
||||||
|
TAB %maxPing TAB %maxBots TAB %minCPU TAB %flags;
|
||||||
|
|
||||||
CF_FilterList.setRowById( %this.editFilterIndex, %row );
|
CF_FilterList.setRowById( %this.editFilterIndex, %row );
|
||||||
CF_FilterList.setSelectedById( %this.editFilterIndex );
|
CF_FilterList.setSelectedById( %this.editFilterIndex );
|
||||||
|
|
@ -209,7 +238,7 @@ function FilterEditDlg::setMaxPlayers( %this )
|
||||||
%newMax = 1;
|
%newMax = 1;
|
||||||
FilterEditMaxPlayers.setValue( %newMax );
|
FilterEditMaxPlayers.setValue( %newMax );
|
||||||
}
|
}
|
||||||
if ( %newMax > 255 )
|
else if ( %newMax > 255 )
|
||||||
{
|
{
|
||||||
%newMax = 255;
|
%newMax = 255;
|
||||||
FilterEditMaxPlayers.setValue( %newMax );
|
FilterEditMaxPlayers.setValue( %newMax );
|
||||||
|
|
@ -223,6 +252,22 @@ function FilterEditDlg::setMaxPlayers( %this )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
function FilterEditDlg::setMaxBots( %this )
|
||||||
|
{
|
||||||
|
%newMax = FilterEditMaxBots.getValue();
|
||||||
|
if ( %newMax < 0 )
|
||||||
|
{
|
||||||
|
%newMax = 0;
|
||||||
|
FilterEditMaxBots.setValue( %newMax );
|
||||||
|
}
|
||||||
|
else if ( %newMax > 16 )
|
||||||
|
{
|
||||||
|
%newMax = 16;
|
||||||
|
FilterEditMaxBots.setValue( %newMax );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function FilterEditUsePingTgl::onAction( %this )
|
function FilterEditUsePingTgl::onAction( %this )
|
||||||
{
|
{
|
||||||
|
|
@ -240,6 +285,17 @@ function FilterEditDlg::setMaxPing( %this )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
function FilterEditDlg::setMinCPU( %this )
|
||||||
|
{
|
||||||
|
%newMin = FilterEditMinCPU.getValue();
|
||||||
|
if ( %newMin < 0 )
|
||||||
|
{
|
||||||
|
%newMin = 0;
|
||||||
|
FilterEditMinCPU.setValue( %newMin );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function clearGameTypes()
|
function clearGameTypes()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -383,7 +383,7 @@ function CnHGame::genOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgGenRepaired', '\c0%1 repaired the %2 Generator!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgGenRepaired', '\c0%1 repaired the %2 Generator!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -392,7 +392,7 @@ function CnHGame::stationOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgStationRepaired', '\c0%1 repaired the %2 Inventory Station!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgStationRepaired', '\c0%1 repaired the %2 Inventory Station!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -401,16 +401,16 @@ function CnHGame::sensorOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgSensorRepaired', '\c0%1 repaired the %2 Pulse Sensor!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgSensorRepaired', '\c0%1 repaired the %2 Pulse Sensor!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function CnHGame::turretOnRepaired(%game, %obj, %objName)
|
function CnHGame::turretOnRepaired(%game, %obj, %objName)
|
||||||
{
|
{
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 Turret!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 Turret!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -419,7 +419,7 @@ function CnHGame::vStationOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 Vehicle Station!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 Vehicle Station!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -277,15 +277,34 @@ function GMJ_Browser::runQuery( %this )
|
||||||
{
|
{
|
||||||
%filter = $pref::ServerBrowser::Filter[%filterIndex];
|
%filter = $pref::ServerBrowser::Filter[%filterIndex];
|
||||||
GMJ_FilterText.setText( getField( %filter, 0 ) );
|
GMJ_FilterText.setText( getField( %filter, 0 ) );
|
||||||
|
%rulesSet = getField( %filter, 1 );
|
||||||
|
if ( %rulesSet $= "" )
|
||||||
|
%rulesSet = "any";
|
||||||
|
%missionType = getField( %filter, 2 );
|
||||||
|
if ( %missionType $= "" )
|
||||||
|
%missionType = "any";
|
||||||
|
%maxPlayers = getField( %filter, 4 );
|
||||||
|
if ( %maxPlayers $= "" )
|
||||||
|
%maxPlayers = 255;
|
||||||
|
%maxBots = getField( %filter, 7 );
|
||||||
|
if ( %maxBots $= "" )
|
||||||
|
%maxBots = 16;
|
||||||
|
%regionMask = getField( %filter, 5 );
|
||||||
|
if ( %regionMask $= "" )
|
||||||
|
%regionMask = 4294967295;
|
||||||
|
|
||||||
queryMasterServer(
|
queryMasterServer(
|
||||||
$JoinGamePort,
|
$JoinGamePort,
|
||||||
0, // Flags
|
0, // Flags
|
||||||
getField( %filter, 1 ), // Rules Set
|
%rulesSet, // Rules Set
|
||||||
getField( %filter, 2 ), // Mission Type
|
%missionType, // Mission Type
|
||||||
getField( %filter, 3 ), // Min Players
|
getField( %filter, 3 ), // Min Players
|
||||||
getField( %filter, 4 ), // Max Players
|
%maxPlayers, // Max Players
|
||||||
getField( %filter, 5 ), // Region Mask
|
%maxBots, // Max Bots
|
||||||
getField( %filter, 6 ) ); // Max Ping
|
%regionMask, // Region Mask
|
||||||
|
getField( %filter, 6 ), // Max Ping
|
||||||
|
getField( %filter, 8 ), // Min CPU Speed
|
||||||
|
getField( %filter, 9 ) ); // Filter flags
|
||||||
GMJ_StopBtn.setActive( true );
|
GMJ_StopBtn.setActive( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -329,7 +348,7 @@ function GMJ_Browser::onDatabaseRow( %this, %row, %isLastRow, %key )
|
||||||
if ( %isLastRow )
|
if ( %isLastRow )
|
||||||
{
|
{
|
||||||
GMJ_StatusText.setValue( "Querying the master server..." );
|
GMJ_StatusText.setValue( "Querying the master server..." );
|
||||||
queryMasterServer( $JoinGamePort, 0, "Any", "Any", 0, 255, 0xFFFFFFFF, 0, %this.buddyList );
|
queryMasterServer( $JoinGamePort, 0, "Any", "Any", 0, 255, 16, 0xFFFFFFFF, 0, 0, %this.buddyList );
|
||||||
GMJ_StopBtn.setActive( true );
|
GMJ_StopBtn.setActive( true );
|
||||||
%this.buddyList = "";
|
%this.buddyList = "";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,21 @@ function OptionsDlg::onWake( %this )
|
||||||
OP_AudioBitRateMenu.init();
|
OP_AudioBitRateMenu.init();
|
||||||
OP_AudioChannelsMenu.init();
|
OP_AudioChannelsMenu.init();
|
||||||
|
|
||||||
|
// don't allow changing of of mixer settings while in a game...
|
||||||
|
%active = !isObject(ServerConnection);
|
||||||
|
OP_AudioFrequencyMenu.setActive(%active);
|
||||||
|
// Changing these audio settings doesn't help Linux performance
|
||||||
|
if ( $platform $= "linux" ) {
|
||||||
|
OP_AudioBitRateMenu.setActive(false);
|
||||||
|
OP_AudioChannelsMenu.setActive(false);
|
||||||
|
} else {
|
||||||
|
OP_AudioBitRateMenu.setActive(%active);
|
||||||
|
OP_AudioChannelsMenu.setActive(%active);
|
||||||
|
}
|
||||||
|
OP_AudioProviderMenu.setActive(%active);
|
||||||
|
OP_AudioEnvironmentTgl.setActive(%active);
|
||||||
|
OP_AudioSpeakerMenu.setActive(%active);
|
||||||
|
|
||||||
OP_MasterVolumeSlider.setValue( $pref::Audio::masterVolume );
|
OP_MasterVolumeSlider.setValue( $pref::Audio::masterVolume );
|
||||||
OP_EffectsVolumeSlider.setValue( $pref::Audio::effectsVolume );
|
OP_EffectsVolumeSlider.setValue( $pref::Audio::effectsVolume );
|
||||||
OP_VoiceBindVolumeSlider.setValue( $pref::Audio::radioVolume );
|
OP_VoiceBindVolumeSlider.setValue( $pref::Audio::radioVolume );
|
||||||
|
|
@ -128,6 +143,7 @@ function OptionsDlg::onWake( %this )
|
||||||
OP_InputBoostSlider.setValue( $pref::Audio::captureGainScale );
|
OP_InputBoostSlider.setValue( $pref::Audio::captureGainScale );
|
||||||
OP_VoiceListenMenu.init();
|
OP_VoiceListenMenu.init();
|
||||||
OP_VoiceSendMenu.init();
|
OP_VoiceSendMenu.init();
|
||||||
|
OP_VoiceCodecInfo.init();
|
||||||
updateInputBoost();
|
updateInputBoost();
|
||||||
|
|
||||||
// Initialize the Control Options controls:
|
// Initialize the Control Options controls:
|
||||||
|
|
@ -272,6 +288,12 @@ function OptionsDlg::onSleep( %this )
|
||||||
audioSetDriver( "none" );
|
audioSetDriver( "none" );
|
||||||
audioSetDriver( $pref::Audio::activeDriver );
|
audioSetDriver( $pref::Audio::activeDriver );
|
||||||
%this.resetAudio = "";
|
%this.resetAudio = "";
|
||||||
|
|
||||||
|
// Play the shell hum: (all sources are gone)
|
||||||
|
if($HudHandle['shellScreen'] $= "")
|
||||||
|
alxStop($HudHandle['shellScreen']);
|
||||||
|
|
||||||
|
$HudHandle['shellScreen'] = alxPlay(ShellScreenHumSound, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isObject( ServerConnection ) && isTextureFlushRequired() )
|
if ( isObject( ServerConnection ) && isTextureFlushRequired() )
|
||||||
|
|
@ -1127,13 +1149,16 @@ function localCaptureStop( %method )
|
||||||
function OP_VoiceListenMenu::init( %this )
|
function OP_VoiceListenMenu::init( %this )
|
||||||
{
|
{
|
||||||
%this.clear();
|
%this.clear();
|
||||||
%this.add( "Low", 1 );
|
%this.add( "<NONE>", 0 );
|
||||||
%this.add( "Medium", 3 );
|
%this.add( ".v12", 1 );
|
||||||
%this.add( "High", 7 );
|
%this.add( ".v12 - .v24", 3 );
|
||||||
|
%this.add( ".v12 - .v29", 7 );
|
||||||
|
// %this.add( ".v12 - .gsm", 15 );
|
||||||
|
|
||||||
switch ( $pref::Audio::decodingMask )
|
switch ( $pref::Audio::decodingMask )
|
||||||
{
|
{
|
||||||
case 3 or 7:
|
// case 0 or 3 or 7 or 15:
|
||||||
|
case 0 or 3 or 7:
|
||||||
%this.setSelected( $pref::Audio::decodingMask );
|
%this.setSelected( $pref::Audio::decodingMask );
|
||||||
default:
|
default:
|
||||||
%this.setSelected( 1 );
|
%this.setSelected( 1 );
|
||||||
|
|
@ -1144,17 +1169,31 @@ function OP_VoiceListenMenu::init( %this )
|
||||||
function OP_VoiceSendMenu::init( %this )
|
function OP_VoiceSendMenu::init( %this )
|
||||||
{
|
{
|
||||||
%this.clear();
|
%this.clear();
|
||||||
%this.add( "Low", 0 );
|
%this.add( ".v12", 0 );
|
||||||
%this.add( "Medium", 1 );
|
%this.add( ".v24", 1 );
|
||||||
%this.add( "High", 2 );
|
%this.add( ".v29", 2 );
|
||||||
|
// %this.add( ".gsm", 3 );
|
||||||
|
|
||||||
switch ( $pref::Audio::encodingLevel )
|
%this.setSelected($pref::Audio::encodingLevel);
|
||||||
{
|
}
|
||||||
case 1 or 2:
|
|
||||||
%this.setSelected( $pref::Audio::encodingLevel );
|
function OP_VoiceCodecInfo::init( %this )
|
||||||
default:
|
{
|
||||||
%this.setSelected( 0 );
|
%headerStyle = "<font:" @ $ShellLabelFont @ ":" @ $ShellFontSize @ "><color:00DC00>";
|
||||||
}
|
%displayText = "<spush>" @ %headerStyle @ "Voice Codec Information:<spop>" NL
|
||||||
|
"\n" @
|
||||||
|
" .v12: variable bitrate codec (~1.2 kbits/sec win)" NL
|
||||||
|
" .v24: fixed bitrate codec (2.4 kbits/sec win)" NL
|
||||||
|
" .v29: fixed bitrate codec (2.9 kbits/sec win)" NL
|
||||||
|
// " .gsm: fixed bitrate codec (6.6 kbits/sec win/linux)" NL
|
||||||
|
"\n" @
|
||||||
|
"<bitmap:bullet_2><lmargin:24>" @
|
||||||
|
"Setting your codec levels too high can have adverse" @
|
||||||
|
" affects on network performance." @
|
||||||
|
"<lmargin:0>";
|
||||||
|
|
||||||
|
%this.setText(%displayText);
|
||||||
|
%this.setActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,22 @@ function FlipFlop::playerTouch(%data, %flipflop, %player)
|
||||||
Game.allObjectivesCompleted();
|
Game.allObjectivesCompleted();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
function StaticShapeData::onDisabled(%data, %obj, %prevState)
|
||||||
|
{
|
||||||
|
Parent::onDisabled(%data, %obj, %prevState);
|
||||||
|
|
||||||
|
if(%obj.waypoint)
|
||||||
|
game.switchWaypoint(%obj.waypoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
function StaticShapeData::onEnabled(%data, %obj, %prevState)
|
||||||
|
{
|
||||||
|
if(%obj.waypoint)
|
||||||
|
game.switchWaypoint(%obj.waypoint);
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//--------- Siege SCORING INIT ------------------
|
//--------- Siege SCORING INIT ------------------
|
||||||
|
|
@ -137,6 +153,9 @@ function SiegeGame::missionLoadDone(%game)
|
||||||
// save off turret bases' original barrels
|
// save off turret bases' original barrels
|
||||||
%game.checkTurretBases();
|
%game.checkTurretBases();
|
||||||
|
|
||||||
|
// add objective waypoints
|
||||||
|
%game.findObjectiveWaypoints();
|
||||||
|
|
||||||
MissionGroup.setupPositionMarkers(true);
|
MissionGroup.setupPositionMarkers(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -388,6 +407,9 @@ function SiegeGame::halftime(%game, %reason)
|
||||||
|
|
||||||
// start the mission again (release players)
|
// start the mission again (release players)
|
||||||
%game.halfTimeCountDown($Host::warmupTime);
|
%game.halfTimeCountDown($Host::warmupTime);
|
||||||
|
|
||||||
|
//redo the objective waypoints
|
||||||
|
%game.findObjectiveWaypoints();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -658,6 +680,68 @@ function ForceFieldBare::objectRestore(%this)
|
||||||
// avoid console error spam
|
// avoid console error spam
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// Waypoint managing
|
||||||
|
|
||||||
|
function siegeGame::findObjectiveWaypoints(%game, %group)
|
||||||
|
{
|
||||||
|
if(!%group)
|
||||||
|
%group = nameToId("MissionGroup/Teams");
|
||||||
|
|
||||||
|
for (%i = 0; %i < %group.getCount(); %i++)
|
||||||
|
{
|
||||||
|
%obj = %group.getObject(%i);
|
||||||
|
if(%obj.getClassName() $= SimGroup)
|
||||||
|
{
|
||||||
|
%game.findObjectiveWaypoints(%obj);
|
||||||
|
}
|
||||||
|
else if(%obj.needsObjectiveWaypoint)
|
||||||
|
{
|
||||||
|
%game.initializeWaypointAtObjective(%obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function siegeGame::initializeWaypointAtObjective(%game, %object)
|
||||||
|
{
|
||||||
|
// out with the old...jic
|
||||||
|
if(%object.waypoint)
|
||||||
|
%object.waypoint.delete();
|
||||||
|
|
||||||
|
if(%object.team == %game.offenseTeam)
|
||||||
|
%team = %game.offenseTeam;
|
||||||
|
else
|
||||||
|
%team = (%game.offenseTeam == 1 ? 2 : 1);
|
||||||
|
|
||||||
|
// to make the waypoint look a little prettier we are using the z from
|
||||||
|
// position and the x and y from worldBoxCenter
|
||||||
|
%posX = getWord(%object.getWorldBoxCenter(), 0);
|
||||||
|
%posY = getWord(%object.getWorldBoxCenter(), 1);
|
||||||
|
%posZ = getWord(%object.position, 2);
|
||||||
|
|
||||||
|
%append = getTaggedString(%object.getDataBlock().targetTypeTag);
|
||||||
|
|
||||||
|
%object.waypoint = new WayPoint() {
|
||||||
|
position = %posX SPC %posY SPC %posZ;
|
||||||
|
rotation = "1 0 0 0";
|
||||||
|
scale = "1 1 1";
|
||||||
|
dataBlock = "WayPointMarker";
|
||||||
|
team = %team;
|
||||||
|
name = %object.nameTag SPC %append;
|
||||||
|
};
|
||||||
|
MissionCleanup.add(%object.waypoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
function siegeGame::switchWaypoint(%game, %waypoint)
|
||||||
|
{
|
||||||
|
%team = %waypoint.team;
|
||||||
|
%newTeam = (%team == 1 ? 2 : 1);
|
||||||
|
|
||||||
|
%waypoint.team = %newTeam;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function SiegeGame::gameOver(%game)
|
function SiegeGame::gameOver(%game)
|
||||||
{
|
{
|
||||||
//call the default
|
//call the default
|
||||||
|
|
@ -866,8 +950,8 @@ function SiegeGame::genOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgGenRepaired', '\c0%1 repaired the %2 generator!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgGenRepaired', '\c0%1 repaired the %2 generator!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function SiegeGame::stationOnRepaired(%game, %obj, %objName)
|
function SiegeGame::stationOnRepaired(%game, %obj, %objName)
|
||||||
|
|
@ -875,7 +959,7 @@ function SiegeGame::stationOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgStationRepaired', '\c0%1 repaired the %2 inventory station!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgStationRepaired', '\c0%1 repaired the %2 inventory station!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -884,7 +968,7 @@ function SiegeGame::sensorOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgSensorRepaired', '\c0%1 repaired the %2 pulse sensor!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgSensorRepaired', '\c0%1 repaired the %2 pulse sensor!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -893,7 +977,7 @@ function SiegeGame::turretOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 turret!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 turret!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -902,7 +986,7 @@ function SiegeGame::vStationOnRepaired(%game, %obj, %objName)
|
||||||
if (%game.testValidRepair(%obj))
|
if (%game.testValidRepair(%obj))
|
||||||
{
|
{
|
||||||
%repairman = %obj.repairedBy;
|
%repairman = %obj.repairedBy;
|
||||||
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 vehicle station!', %repairman.name, %objName);
|
messageTeam(%repairman.team, 'msgTurretRepaired', '\c0%1 repaired the %2 vehicle station!', %repairman.name, %obj.nameTag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -555,15 +555,7 @@ function singlePlayerGame::gameOver(%game)
|
||||||
//disable the AI system
|
//disable the AI system
|
||||||
AISystemEnabled(false);
|
AISystemEnabled(false);
|
||||||
|
|
||||||
//Deactivate packages...gotta catch'm all
|
game.deactivatePackages();
|
||||||
//deactivatepackage(SinglePlayer);
|
|
||||||
deactivatepackage(Training1);
|
|
||||||
deactivatepackage(Training2);
|
|
||||||
deactivatepackage(Training3);
|
|
||||||
deactivatepackage(Training4);
|
|
||||||
deactivatepackage(Training5);
|
|
||||||
deactivatepackage(Training6);
|
|
||||||
deactivatePackage(singlePlayerMissionAreaEnforce);
|
|
||||||
|
|
||||||
if(isObject( $player.currentWaypoint ))
|
if(isObject( $player.currentWaypoint ))
|
||||||
$player.currentWaypoint.delete();
|
$player.currentWaypoint.delete();
|
||||||
|
|
@ -579,6 +571,22 @@ function singlePlayerGame::gameOver(%game)
|
||||||
DefaultGame::GameOver(%game);
|
DefaultGame::GameOver(%game);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function singlePlayerGame::deactivatePackages(%game)
|
||||||
|
{
|
||||||
|
error("singlePlayerGame packages deactivated");
|
||||||
|
//Deactivate packages...gotta catch'm all
|
||||||
|
//deactivatepackage(SinglePlayer);
|
||||||
|
deactivatepackage(Training1);
|
||||||
|
deactivatepackage(Training2);
|
||||||
|
deactivatepackage(Training3);
|
||||||
|
deactivatepackage(Training4);
|
||||||
|
deactivatepackage(Training5);
|
||||||
|
deactivatepackage(Training6);
|
||||||
|
deactivatePackage(singlePlayerMissionAreaEnforce);
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
// Voice line, text, function and audio parsing
|
// Voice line, text, function and audio parsing
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// this is how we handle ALL the voice distribition and playing
|
// this is how we handle ALL the voice distribition and playing
|
||||||
|
|
|
||||||
|
|
@ -824,42 +824,42 @@ function flashObjective()
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function playCinematicSound(%sound)
|
// function playCinematicSound(%sound)
|
||||||
{
|
// {
|
||||||
switch$(%sound)
|
// switch$(%sound)
|
||||||
{
|
// {
|
||||||
case "MissileLock":
|
// case "MissileLock":
|
||||||
%file = "fx/weapons/missile_launcher_lock.wav";
|
// %file = "fx/weapons/missile_launcher_lock.wav";
|
||||||
%looping = true;
|
// %looping = true;
|
||||||
|
//
|
||||||
case "Heartbeat":
|
// case "Heartbeat":
|
||||||
%file = "fx/misc/heartbeat.wav";
|
// %file = "fx/misc/heartbeat.wav";
|
||||||
%looping = false;
|
// %looping = false;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
%audiosound = new AudioEmitter() {
|
// %audiosound = new AudioEmitter() {
|
||||||
filename = %flie;
|
// filename = %flie;
|
||||||
position = $player.player;
|
// position = $player.player;
|
||||||
volume = "1";
|
// volume = "1";
|
||||||
isLooping = %looping;
|
// isLooping = %looping;
|
||||||
is3D = false;
|
// is3D = false;
|
||||||
type = "EffectAudioType";
|
// type = "EffectAudioType";
|
||||||
};
|
// };
|
||||||
$player.currentSound = %audiosound;
|
// $player.currentSound = %audiosound;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
function playCinematicMissileLockSound()
|
// function playCinematicMissileLockSound()
|
||||||
{
|
// {
|
||||||
%audiosound = new AudioEmitter() {
|
// %audiosound = new AudioEmitter() {
|
||||||
filename = "fx/weapons/missile_launcher_lock.wav";
|
// filename = "fx/weapons/missile_launcher_lock.wav";
|
||||||
position = $player.player;
|
// position = $player.player;
|
||||||
volume = "1";
|
// volume = "1";
|
||||||
isLooping = "1";
|
// isLooping = "1";
|
||||||
is3D = false;
|
// is3D = false;
|
||||||
type = "EffectAudioType";
|
// type = "EffectAudioType";
|
||||||
};
|
// };
|
||||||
$player.missileSound = %audiosound;
|
// $player.missileSound = %audiosound;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
@ -1079,7 +1079,7 @@ function AITraining1Pilot::monitor(%task, %client)
|
||||||
|
|
||||||
if (VectorDist(%dest2D, %pos2D) < 20)
|
if (VectorDist(%dest2D, %pos2D) < 20)
|
||||||
{
|
{
|
||||||
if(%group.getCount() > %task.locationIndex) {
|
if(%group.getCount() > %task.locationIndex + 1) {
|
||||||
%task.locationIndex++;
|
%task.locationIndex++;
|
||||||
cinematicEvent(%task.locationIndex);
|
cinematicEvent(%task.locationIndex);
|
||||||
}
|
}
|
||||||
|
|
@ -1130,7 +1130,7 @@ function cinematicEvent(%num)
|
||||||
moveMap.push();
|
moveMap.push();
|
||||||
TrainingPacifistMap.push();
|
TrainingPacifistMap.push();
|
||||||
hideHudHack(true);
|
hideHudHack(true);
|
||||||
playCinematicSound("MissileLock");
|
// playCinematicSound("MissileLock");
|
||||||
schedule(5700, 0, forcedCinematicPlayerDismount);
|
schedule(5700, 0, forcedCinematicPlayerDismount);
|
||||||
schedule( 6100, game, cleanUpFlyer);
|
schedule( 6100, game, cleanUpFlyer);
|
||||||
//schedule( 8000, game, trainingIntroFlightEnd);
|
//schedule( 8000, game, trainingIntroFlightEnd);
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
$JoinGamePort = 28000;
|
$JoinGamePort = 28000;
|
||||||
$pref::Audio::activeDriver = "default";
|
$pref::Audio::activeDriver = "default";
|
||||||
$pref::Audio::drivers = "Miles";
|
if ( $platform $= "linux" ) {
|
||||||
|
$pref::Audio::drivers = "OpenAL";
|
||||||
|
} else {
|
||||||
|
$pref::Audio::drivers = "Miles";
|
||||||
|
}
|
||||||
$pref::Audio::frequency = 22100;
|
$pref::Audio::frequency = 22100;
|
||||||
$pref::Audio::sampleBits = 16;
|
$pref::Audio::sampleBits = 16;
|
||||||
$pref::Audio::channels = 2;
|
$pref::Audio::channels = 2;
|
||||||
$pref::Audio::enableVoiceCapture = 1;
|
$pref::Audio::enableVoiceCapture = 1;
|
||||||
$pref::Audio::voiceChannels = 2;
|
$pref::Audio::voiceChannels = 1;
|
||||||
$pref::Audio::encodingLevel = 0;
|
$pref::Audio::encodingLevel = 0;
|
||||||
$pref::Audio::decodingMask = 1;
|
$pref::Audio::decodingMask = 1;
|
||||||
$pref::Audio::forceMaxDistanceUpdate = 0;
|
$pref::Audio::forceMaxDistanceUpdate = 0;
|
||||||
$pref::Audio::environmentEnabled = 0;
|
$pref::Audio::environmentEnabled = 0;
|
||||||
|
|
@ -77,7 +81,7 @@ $pref::Input::KeyboardTurnSpeed = 0.1;
|
||||||
$pref::Interior::TexturedFog = 0;
|
$pref::Interior::TexturedFog = 0;
|
||||||
$pref::IRCClient::autoreconnect = 1;
|
$pref::IRCClient::autoreconnect = 1;
|
||||||
$pref::IRCClient::awaymsg = "Don't be alarmed. I'm going to step away from my computer.";
|
$pref::IRCClient::awaymsg = "Don't be alarmed. I'm going to step away from my computer.";
|
||||||
$pref::IRCClient::banmsg = "You, and three generations of your offspring, are banned from this channel.";
|
$pref::IRCClient::banmsg = "Get out. And stay out!";
|
||||||
$pref::IRCClient::kickmsg = "Alright, you're outta here!";
|
$pref::IRCClient::kickmsg = "Alright, you're outta here!";
|
||||||
$pref::IRCClient::hostmsg = "left to host a game.";
|
$pref::IRCClient::hostmsg = "left to host a game.";
|
||||||
$pref::IRCClient::showJoin = true;
|
$pref::IRCClient::showJoin = true;
|
||||||
|
|
|
||||||
|
|
@ -96,9 +96,16 @@ addCreditsLine("<spush><font:Univers condensed:22><spush><color:18A27B>Motion Ca
|
||||||
addCreditsLine("Technical Director: Troy McFarland");
|
addCreditsLine("Technical Director: Troy McFarland");
|
||||||
addCreditsLine("Performer: Cosmo Hom");
|
addCreditsLine("Performer: Cosmo Hom");
|
||||||
addCreditsLine("");
|
addCreditsLine("");
|
||||||
|
addCreditsLine("<spush><font:Univers condensed:22><spush><color:18A27B>Digital Video Support Team<spop><spop>");
|
||||||
|
addCreditsLine("Director: Jim\"zootboy\" Carey");
|
||||||
|
addCreditsLine("Sage \"3Dkid\" Freeman");
|
||||||
|
addCreditsLine("Steve \"opticNerve\" Bradford");
|
||||||
|
addCreditsLine("Tonya \"Agentmoody\" Stumphauzer");
|
||||||
|
addCreditsLine("Troy \"cann n fodder\" McFarland");
|
||||||
|
addCreditsLine("Kate \"reelBoss\" Alley");
|
||||||
|
addCreditsLine("");
|
||||||
addCreditsLine("<spush><font:Univers condensed:22><spush><color:18A27B>Movie Intro<spop><spop>");
|
addCreditsLine("<spush><font:Univers condensed:22><spush><color:18A27B>Movie Intro<spop><spop>");
|
||||||
addCreditsLine("Robert Borth");
|
addCreditsLine("PBDigital, Inc.");
|
||||||
addCreditsLine("Mike Price");
|
|
||||||
addCreditsLine("");
|
addCreditsLine("");
|
||||||
addCreditsLine("<spush><font:Univers condensed:22><spush><color:18A27B>Installer<spop><spop>");
|
addCreditsLine("<spush><font:Univers condensed:22><spush><color:18A27B>Installer<spop><spop>");
|
||||||
addCreditsLine("Chris Mahnken");
|
addCreditsLine("Chris Mahnken");
|
||||||
|
|
|
||||||
|
|
@ -752,7 +752,7 @@ function ShapeBaseImageData::testInvalidDeployConditions(%item, %plyr, %slot)
|
||||||
%disqualified = $NotDeployableReason::TurretTooClose;
|
%disqualified = $NotDeployableReason::TurretTooClose;
|
||||||
else if (%item.testTurretSaturation())
|
else if (%item.testTurretSaturation())
|
||||||
%disqualified = $NotDeployableReason::TurretSaturation;
|
%disqualified = $NotDeployableReason::TurretSaturation;
|
||||||
else
|
else if (%disqualified == $NotDeployableReason::None)
|
||||||
{
|
{
|
||||||
// Test that there are no objstructing objects that this object
|
// Test that there are no objstructing objects that this object
|
||||||
// will intersect with
|
// will intersect with
|
||||||
|
|
|
||||||
|
|
@ -61,14 +61,14 @@ function serverCmdThrowPack(%client,%data)
|
||||||
|
|
||||||
function serverCmdTogglePack(%client,%data)
|
function serverCmdTogglePack(%client,%data)
|
||||||
{
|
{
|
||||||
// this function is apparently never called
|
// this function is apparently never called
|
||||||
%client.getControlObject().togglePack();
|
%client.getControlObject().togglePack();
|
||||||
}
|
}
|
||||||
|
|
||||||
function serverCmdThrowFlag(%client)
|
function serverCmdThrowFlag(%client)
|
||||||
{
|
{
|
||||||
//Game.playerDroppedFlag(%client.player);
|
//Game.playerDroppedFlag(%client.player);
|
||||||
Game.dropFlag(%client.player);
|
Game.dropFlag(%client.player);
|
||||||
}
|
}
|
||||||
|
|
||||||
function serverCmdSelectWeaponSlot( %client, %data )
|
function serverCmdSelectWeaponSlot( %client, %data )
|
||||||
|
|
@ -83,37 +83,37 @@ function serverCmdCycleWeapon( %client, %data )
|
||||||
|
|
||||||
function serverCmdStartThrowCount(%client, %data)
|
function serverCmdStartThrowCount(%client, %data)
|
||||||
{
|
{
|
||||||
%client.player.throwStart = getSimTime();
|
%client.player.throwStart = getSimTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
function serverCmdEndThrowCount(%client, %data)
|
function serverCmdEndThrowCount(%client, %data)
|
||||||
{
|
{
|
||||||
if(%client.player.throwStart == 0)
|
if(%client.player.throwStart == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// throwStrength will be how many seconds the key was held
|
// throwStrength will be how many seconds the key was held
|
||||||
%throwStrength = (getSimTime() - %client.player.throwStart) / 300;
|
%throwStrength = (getSimTime() - %client.player.throwStart) / 300;
|
||||||
// trim the time to fit between 0.5 and 1.5
|
// trim the time to fit between 0.5 and 1.5
|
||||||
if(%throwStrength > 1.5)
|
if(%throwStrength > 1.5)
|
||||||
%throwStrength = 1.5;
|
%throwStrength = 1.5;
|
||||||
else if(%throwStrength < 0.5)
|
else if(%throwStrength < 0.5)
|
||||||
%throwStrength = 0.5;
|
%throwStrength = 0.5;
|
||||||
|
|
||||||
%throwScale = %throwStrength / 2;
|
%throwScale = %throwStrength / 2;
|
||||||
%client.player.throwStrength = %throwScale;
|
%client.player.throwStrength = %throwScale;
|
||||||
|
|
||||||
%client.player.throwStart = 0;
|
%client.player.throwStart = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
function ShapeBase::throwWeapon(%this)
|
function ShapeBase::throwWeapon(%this)
|
||||||
{
|
{
|
||||||
if(Game.shapeThrowWeapon(%this)) {
|
if(Game.shapeThrowWeapon(%this)) {
|
||||||
%image = %this.getMountedImage($WeaponSlot);
|
%image = %this.getMountedImage($WeaponSlot);
|
||||||
%this.throw(%image.item);
|
%this.throw(%image.item);
|
||||||
%this.client.setWeaponsHudItem(%image.item, 0, 0);
|
%this.client.setWeaponsHudItem(%image.item, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ShapeBase::throwPack(%this)
|
function ShapeBase::throwPack(%this)
|
||||||
|
|
@ -139,12 +139,12 @@ function ShapeBase::throw(%this,%data)
|
||||||
|
|
||||||
function ShapeBase::use(%this, %data)
|
function ShapeBase::use(%this, %data)
|
||||||
{
|
{
|
||||||
//if(%data.class $= "Weapon") {
|
//if(%data.class $= "Weapon") {
|
||||||
// error("ShapeBase::use " @ %data);
|
// error("ShapeBase::use " @ %data);
|
||||||
//}
|
//}
|
||||||
if(%data $= Grenade)
|
if(%data $= Grenade)
|
||||||
{
|
{
|
||||||
// figure out which grenade type you're using
|
// figure out which grenade type you're using
|
||||||
for(%x = 0; $InvGrenade[%x] !$= ""; %x++) {
|
for(%x = 0; $InvGrenade[%x] !$= ""; %x++) {
|
||||||
if(%this.inv[$NameToInv[$InvGrenade[%x]]] > 0)
|
if(%this.inv[$NameToInv[$InvGrenade[%x]]] > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -153,23 +153,25 @@ function ShapeBase::use(%this, %data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(%data $= "Backpack") {
|
else if(%data $= "Backpack") {
|
||||||
%pack = %this.getMountedImage($BackpackSlot);
|
%pack = %this.getMountedImage($BackpackSlot);
|
||||||
// if you don't have a pack but have placed a satchel charge, detonate it
|
// if you don't have a pack but have placed a satchel charge, detonate it
|
||||||
if(!%pack && (%this.thrownChargeId > 0) && %this.thrownChargeId.armed )
|
if(!%pack && (%this.thrownChargeId > 0) && %this.thrownChargeId.armed )
|
||||||
{
|
{
|
||||||
%this.playAudio( 0, SatchelChargeExplosionSound );
|
%this.playAudio( 0, SatchelChargeExplosionSound );
|
||||||
schedule( 800, %this, "detonateSatchelCharge", %this );
|
schedule( 800, %this, "detonateSatchelCharge", %this );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
return false;
|
||||||
else if(%data $= Beacon)
|
}
|
||||||
|
else if(%data $= Beacon)
|
||||||
{
|
{
|
||||||
%data.onUse(%this);
|
%data.onUse(%this);
|
||||||
if (%this.inv[%data.getName()] > 0)
|
if (%this.inv[%data.getName()] > 0)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// default case
|
|
||||||
|
// default case
|
||||||
if (%this.inv[%data.getName()] > 0) {
|
if (%this.inv[%data.getName()] > 0) {
|
||||||
%data.onUse(%this);
|
%data.onUse(%this);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -188,7 +190,7 @@ function ShapeBase::pickup(%this,%obj,%amount)
|
||||||
|
|
||||||
function ShapeBase::hasInventory(%this, %data)
|
function ShapeBase::hasInventory(%this, %data)
|
||||||
{
|
{
|
||||||
// changed because it was preventing weapons cycling correctly (MES)
|
// changed because it was preventing weapons cycling correctly (MES)
|
||||||
return (%this.inv[%data] > 0);
|
return (%this.inv[%data] > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -230,12 +232,12 @@ function ShapeBase::decInventory(%this,%data,%amount)
|
||||||
|
|
||||||
function SimObject::decCatagory(%this)
|
function SimObject::decCatagory(%this)
|
||||||
{
|
{
|
||||||
//function was added to reduce console err msg spam
|
//function was added to reduce console err msg spam
|
||||||
}
|
}
|
||||||
|
|
||||||
function SimObject::incCatagory(%this)
|
function SimObject::incCatagory(%this)
|
||||||
{
|
{
|
||||||
//function was added to reduce console err msg spam
|
//function was added to reduce console err msg spam
|
||||||
}
|
}
|
||||||
|
|
||||||
function ShapeBase::setInventory(%this,%data,%value,%force)
|
function ShapeBase::setInventory(%this,%data,%value,%force)
|
||||||
|
|
@ -320,7 +322,7 @@ function ShapeBase::hasAmmo( %this, %weapon )
|
||||||
case GrenadeLauncher:
|
case GrenadeLauncher:
|
||||||
return( %this.getInventory( GrenadeLauncherAmmo ) > 0 );
|
return( %this.getInventory( GrenadeLauncherAmmo ) > 0 );
|
||||||
case SniperRifle:
|
case SniperRifle:
|
||||||
return( %this.getInventory( EnergyPack ) );
|
return( %this.getInventory( EnergyPack ) );
|
||||||
case ELFGun:
|
case ELFGun:
|
||||||
return( true );
|
return( true );
|
||||||
case Mortar:
|
case Mortar:
|
||||||
|
|
@ -340,7 +342,7 @@ function ShapeBase::hasAmmo( %this, %weapon )
|
||||||
|
|
||||||
function SimObject::onInventory(%this, %obj)
|
function SimObject::onInventory(%this, %obj)
|
||||||
{
|
{
|
||||||
//function was added to reduce console error msg spam
|
//function was added to reduce console error msg spam
|
||||||
}
|
}
|
||||||
|
|
||||||
function ShapeBase::throwItem(%this,%data)
|
function ShapeBase::throwItem(%this,%data)
|
||||||
|
|
@ -358,7 +360,7 @@ function ShapeBase::throwObject(%this,%obj)
|
||||||
//if the object is being thrown by a corpse, use a random vector
|
//if the object is being thrown by a corpse, use a random vector
|
||||||
if (%this.getState() $= "Dead")
|
if (%this.getState() $= "Dead")
|
||||||
{
|
{
|
||||||
%vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom();
|
%vec = (-1.0 + getRandom() * 2.0) SPC (-1.0 + getRandom() * 2.0) SPC getRandom();
|
||||||
%vec = vectorScale(%vec, 10);
|
%vec = vectorScale(%vec, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -379,10 +381,10 @@ function ShapeBase::throwObject(%this,%obj)
|
||||||
%vec = vectorAdd(%vec,%this.getVelocity());
|
%vec = vectorAdd(%vec,%this.getVelocity());
|
||||||
%pos = getBoxCenter(%this.getWorldBox());
|
%pos = getBoxCenter(%this.getWorldBox());
|
||||||
|
|
||||||
//since flags have a huge mass (so when you shoot them, they don't bounce too far)
|
//since flags have a huge mass (so when you shoot them, they don't bounce too far)
|
||||||
//we need to up the %vec so that you can still throw them...
|
//we need to up the %vec so that you can still throw them...
|
||||||
if (%obj.getDataBlock().getName() $= "Flag")
|
if (%obj.getDataBlock().getName() $= "Flag")
|
||||||
%vec = vectorScale(%vec, 40);
|
%vec = vectorScale(%vec, 40);
|
||||||
|
|
||||||
//
|
//
|
||||||
%obj.setTransform(%pos);
|
%obj.setTransform(%pos);
|
||||||
|
|
@ -391,8 +393,8 @@ function ShapeBase::throwObject(%this,%obj)
|
||||||
%data = %obj.getDatablock();
|
%data = %obj.getDatablock();
|
||||||
%data.onThrow(%obj,%this);
|
%data.onThrow(%obj,%this);
|
||||||
|
|
||||||
//call the AI hook
|
//call the AI hook
|
||||||
AIThrowObject(%obj);
|
AIThrowObject(%obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ShapeBase::clearInventory(%this)
|
function ShapeBase::clearInventory(%this)
|
||||||
|
|
@ -408,7 +410,7 @@ function ShapeBase::clearInventory(%this)
|
||||||
%this.setInventory(FlashGrenade,0);
|
%this.setInventory(FlashGrenade,0);
|
||||||
%this.setInventory(ConcussionGrenade,0);
|
%this.setInventory(ConcussionGrenade,0);
|
||||||
%this.setInventory(FlareGrenade,0);
|
%this.setInventory(FlareGrenade,0);
|
||||||
%this.setInventory(CameraGrenade, 0);
|
%this.setInventory(CameraGrenade, 0);
|
||||||
|
|
||||||
%this.setInventory(Blaster,0);
|
%this.setInventory(Blaster,0);
|
||||||
%this.setInventory(Plasma,0);
|
%this.setInventory(Plasma,0);
|
||||||
|
|
@ -428,12 +430,12 @@ function ShapeBase::clearInventory(%this)
|
||||||
%this.setInventory(GrenadeLauncherAmmo, 0);
|
%this.setInventory(GrenadeLauncherAmmo, 0);
|
||||||
%this.setInventory(MissileLauncherAmmo, 0);
|
%this.setInventory(MissileLauncherAmmo, 0);
|
||||||
%this.setInventory(MortarAmmo, 0);
|
%this.setInventory(MortarAmmo, 0);
|
||||||
%this.setInventory(Beacon, 0);
|
%this.setInventory(Beacon, 0);
|
||||||
|
|
||||||
// take away any pack the player has
|
// take away any pack the player has
|
||||||
%curPack = %this.getMountedImage($BackpackSlot);
|
%curPack = %this.getMountedImage($BackpackSlot);
|
||||||
if(%curPack > 0)
|
if(%curPack > 0)
|
||||||
%this.setInventory(%curPack.item, 0);
|
%this.setInventory(%curPack.item, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -488,7 +490,7 @@ function ShapeBase::cycleWeapon( %this, %data )
|
||||||
&& %this.hasInventory( %this.weaponSlot[%i] )
|
&& %this.hasInventory( %this.weaponSlot[%i] )
|
||||||
&& %this.hasAmmo( %this.weaponSlot[%i] ) )
|
&& %this.hasAmmo( %this.weaponSlot[%i] ) )
|
||||||
{
|
{
|
||||||
// player has this weapon and it has ammo or doesn't need ammo
|
// player has this weapon and it has ammo or doesn't need ammo
|
||||||
%newSlot = %i;
|
%newSlot = %i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -539,7 +541,7 @@ function serverCmdGiveAll(%client)
|
||||||
%player.setInventory(FlashGrenade,999);
|
%player.setInventory(FlashGrenade,999);
|
||||||
%player.setInventory(FlareGrenade,999);
|
%player.setInventory(FlareGrenade,999);
|
||||||
%player.setInventory(ConcussionGrenade,999);
|
%player.setInventory(ConcussionGrenade,999);
|
||||||
%player.setInventory(CameraGrenade, 999);
|
%player.setInventory(CameraGrenade, 999);
|
||||||
%player.setInventory(Blaster,1);
|
%player.setInventory(Blaster,1);
|
||||||
%player.setInventory(Plasma,1);
|
%player.setInventory(Plasma,1);
|
||||||
%player.setInventory(Chaingun, 1);
|
%player.setInventory(Chaingun, 1);
|
||||||
|
|
@ -557,6 +559,6 @@ function serverCmdGiveAll(%client)
|
||||||
%player.setInventory(PlasmaAmmo,999);
|
%player.setInventory(PlasmaAmmo,999);
|
||||||
%player.setInventory(ChaingunAmmo, 999);
|
%player.setInventory(ChaingunAmmo, 999);
|
||||||
%player.setInventory(DiscAmmo, 999);
|
%player.setInventory(DiscAmmo, 999);
|
||||||
%player.setInventory(Beacon, 999);
|
%player.setInventory(Beacon, 999);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -788,7 +788,7 @@ function addQuickPackFavorite( %pack, %item )
|
||||||
if(%item $= "")
|
if(%item $= "")
|
||||||
%item = "Pack";
|
%item = "Pack";
|
||||||
%packFailMsg = "You cannot use that equipment with your selected loadout.";
|
%packFailMsg = "You cannot use that equipment with your selected loadout.";
|
||||||
if ( $Hud['inventoryScreen'].staticData[1, 1].getValue() $= "" )
|
if ( !isObject($Hud['inventoryScreen'].staticData[1, 1]) || $Hud['inventoryScreen'].staticData[1, 1].getValue() $= "" )
|
||||||
{
|
{
|
||||||
//if the player hasnt brought up the inv screen we use his current fav
|
//if the player hasnt brought up the inv screen we use his current fav
|
||||||
%currentFav = $pref::Favorite[$pref::FavCurrentSelect];
|
%currentFav = $pref::Favorite[$pref::FavCurrentSelect];
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,7 @@ function RepairPackImage::onActivate(%data, %obj, %slot)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%obj.getMountedImage($WeaponSlot).getName() !$= "RepairGunImage")
|
if(!isObject(%obj.getMountedImage($WeaponSlot)) || %obj.getMountedImage($WeaponSlot).getName() !$= "RepairGunImage")
|
||||||
{
|
{
|
||||||
messageClient(%obj.client, 'MsgRepairPackOn', '\c2Repair pack activated.');
|
messageClient(%obj.client, 'MsgRepairPackOn', '\c2Repair pack activated.');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ datablock AudioProfile(SatchelChargeActivateSound)
|
||||||
{
|
{
|
||||||
filename = "fx/packs/satchel_pack_activate.wav";
|
filename = "fx/packs/satchel_pack_activate.wav";
|
||||||
description = AudioClose3d;
|
description = AudioClose3d;
|
||||||
preload = true;
|
preload = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
datablock AudioProfile(SatchelChargeExplosionSound)
|
datablock AudioProfile(SatchelChargeExplosionSound)
|
||||||
|
|
@ -21,6 +21,20 @@ datablock AudioProfile(SatchelChargeExplosionSound)
|
||||||
preload = true;
|
preload = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
datablock AudioProfile(SatchelChargePreExplosionSound)
|
||||||
|
{
|
||||||
|
filename = "fx/explosions/explosion.xpl03.wav";
|
||||||
|
description = AudioBIGExplosion3d;
|
||||||
|
preload = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock AudioProfile(UnderwaterSatchelChargeExplosionSound)
|
||||||
|
{
|
||||||
|
filename = "fx/weapons/mortar_explode_UW.wav";
|
||||||
|
description = AudioBIGExplosion3d;
|
||||||
|
preload = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Satchel Debris
|
// Satchel Debris
|
||||||
|
|
@ -80,6 +94,48 @@ datablock DebrisData( SatchelDebris )
|
||||||
lifetimeVariance = 0.02;
|
lifetimeVariance = 0.02;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Bubbles
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
datablock ParticleData(SatchelBubbleParticle)
|
||||||
|
{
|
||||||
|
dragCoefficient = 0.0;
|
||||||
|
gravityCoefficient = -0.25;
|
||||||
|
inheritedVelFactor = 0.0;
|
||||||
|
constantAcceleration = 0.0;
|
||||||
|
lifetimeMS = 1500;
|
||||||
|
lifetimeVarianceMS = 600;
|
||||||
|
useInvAlpha = false;
|
||||||
|
textureName = "special/bubbles";
|
||||||
|
|
||||||
|
spinRandomMin = -100.0;
|
||||||
|
spinRandomMax = 100.0;
|
||||||
|
|
||||||
|
colors[0] = "0.7 0.8 1.0 0.0";
|
||||||
|
colors[1] = "0.7 0.8 1.0 0.4";
|
||||||
|
colors[2] = "0.7 0.8 1.0 0.0";
|
||||||
|
sizes[0] = 2.0;
|
||||||
|
sizes[1] = 2.0;
|
||||||
|
sizes[2] = 2.0;
|
||||||
|
times[0] = 0.0;
|
||||||
|
times[1] = 0.8;
|
||||||
|
times[2] = 1.0;
|
||||||
|
};
|
||||||
|
datablock ParticleEmitterData(SatchelBubbleEmitter)
|
||||||
|
{
|
||||||
|
ejectionPeriodMS = 10;
|
||||||
|
periodVarianceMS = 0;
|
||||||
|
ejectionVelocity = 1.0;
|
||||||
|
ejectionOffset = 7.0;
|
||||||
|
velocityVariance = 0.5;
|
||||||
|
thetaMin = 0;
|
||||||
|
thetaMax = 80;
|
||||||
|
phiReferenceVel = 0;
|
||||||
|
phiVariance = 360;
|
||||||
|
overrideAdvances = false;
|
||||||
|
particles = "MortarExplosionBubbleParticle";
|
||||||
|
};
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
// Satchel Explosion Particle effects
|
// Satchel Explosion Particle effects
|
||||||
//--------------------------------------
|
//--------------------------------------
|
||||||
|
|
@ -128,6 +184,52 @@ datablock ParticleEmitterData(SatchelExplosionSmokeEmitter)
|
||||||
particles = "SatchelExplosionSmoke";
|
particles = "SatchelExplosionSmoke";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
datablock ParticleData(UnderwaterSatchelExplosionSmoke)
|
||||||
|
{
|
||||||
|
dragCoeffiecient = 105.0;
|
||||||
|
gravityCoefficient = -0.0;
|
||||||
|
inheritedVelFactor = 0.025;
|
||||||
|
|
||||||
|
constantAcceleration = -1.0;
|
||||||
|
|
||||||
|
lifetimeMS = 1500;
|
||||||
|
lifetimeVarianceMS = 0;
|
||||||
|
|
||||||
|
textureName = "particleTest";
|
||||||
|
|
||||||
|
useInvAlpha = false;
|
||||||
|
spinRandomMin = -200.0;
|
||||||
|
spinRandomMax = 200.0;
|
||||||
|
|
||||||
|
textureName = "special/Smoke/smoke_001";
|
||||||
|
|
||||||
|
colors[0] = "0.4 0.4 1.0 1.0";
|
||||||
|
colors[1] = "0.4 0.4 1.0 0.5";
|
||||||
|
colors[2] = "0.0 0.0 0.0 0.0";
|
||||||
|
sizes[0] = 7.0;
|
||||||
|
sizes[1] = 17.0;
|
||||||
|
sizes[2] = 2.0;
|
||||||
|
times[0] = 0.0;
|
||||||
|
times[1] = 0.2;
|
||||||
|
times[2] = 1.0;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ParticleEmitterData(UnderwaterSatchelExplosionSmokeEmitter)
|
||||||
|
{
|
||||||
|
ejectionPeriodMS = 10;
|
||||||
|
periodVarianceMS = 0;
|
||||||
|
|
||||||
|
ejectionVelocity = 14.25;
|
||||||
|
velocityVariance = 2.25;
|
||||||
|
|
||||||
|
thetaMin = 0.0;
|
||||||
|
thetaMax = 180.0;
|
||||||
|
|
||||||
|
lifetimeMS = 200;
|
||||||
|
|
||||||
|
particles = "UnderwaterSatchelExplosionSmoke";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
datablock ParticleData(SatchelSparks)
|
datablock ParticleData(SatchelSparks)
|
||||||
|
|
@ -168,6 +270,43 @@ datablock ParticleEmitterData(SatchelSparksEmitter)
|
||||||
particles = "SatchelSparks";
|
particles = "SatchelSparks";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
datablock ParticleData(UnderwaterSatchelSparks)
|
||||||
|
{
|
||||||
|
dragCoefficient = 1;
|
||||||
|
gravityCoefficient = 0.0;
|
||||||
|
inheritedVelFactor = 0.2;
|
||||||
|
constantAcceleration = 0.0;
|
||||||
|
lifetimeMS = 500;
|
||||||
|
lifetimeVarianceMS = 350;
|
||||||
|
textureName = "special/underwaterSpark";
|
||||||
|
colors[0] = "0.6 0.6 1.0 1.0";
|
||||||
|
colors[1] = "0.6 0.6 1.0 1.0";
|
||||||
|
colors[2] = "0.6 0.6 1.0 0.0";
|
||||||
|
sizes[0] = 0.5;
|
||||||
|
sizes[1] = 0.5;
|
||||||
|
sizes[2] = 0.75;
|
||||||
|
times[0] = 0.0;
|
||||||
|
times[1] = 0.5;
|
||||||
|
times[2] = 1.0;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ParticleEmitterData(UnderwaterSatchelSparksEmitter)
|
||||||
|
{
|
||||||
|
ejectionPeriodMS = 2;
|
||||||
|
periodVarianceMS = 0;
|
||||||
|
ejectionVelocity = 30;
|
||||||
|
velocityVariance = 5.0;
|
||||||
|
ejectionOffset = 0.0;
|
||||||
|
thetaMin = 0;
|
||||||
|
thetaMax = 70;
|
||||||
|
phiReferenceVel = 0;
|
||||||
|
phiVariance = 360;
|
||||||
|
overrideAdvances = false;
|
||||||
|
orientParticles = true;
|
||||||
|
lifetimeMS = 100;
|
||||||
|
particles = "UnderwaterSatchelSparks";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
@ -263,11 +402,103 @@ datablock ExplosionData(SatchelSubExplosion3)
|
||||||
|
|
||||||
datablock ExplosionData(SatchelMainExplosion)
|
datablock ExplosionData(SatchelMainExplosion)
|
||||||
{
|
{
|
||||||
|
soundProfile = SatchelChargePreExplosionSound;
|
||||||
|
|
||||||
subExplosion[0] = SatchelSubExplosion;
|
subExplosion[0] = SatchelSubExplosion;
|
||||||
subExplosion[1] = SatchelSubExplosion2;
|
subExplosion[1] = SatchelSubExplosion2;
|
||||||
subExplosion[2] = SatchelSubExplosion3;
|
subExplosion[2] = SatchelSubExplosion3;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// Underwater Explosion
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
datablock ExplosionData(UnderwaterSatchelSubExplosion)
|
||||||
|
{
|
||||||
|
explosionShape = "disc_explosion.dts";
|
||||||
|
faceViewer = true;
|
||||||
|
explosionScale = "0.5 0.5 0.5";
|
||||||
|
|
||||||
|
|
||||||
|
lifetimeMS = 1000;
|
||||||
|
delayMS = 0;
|
||||||
|
|
||||||
|
emitter[0] = UnderwaterSatchelExplosionSmokeEmitter;
|
||||||
|
emitter[1] = UnderwaterSatchelSparksEmitter;
|
||||||
|
emitter[2] = SatchelBubbleEmitter;
|
||||||
|
|
||||||
|
offset = 0.0;
|
||||||
|
|
||||||
|
playSpeed = 0.75;
|
||||||
|
|
||||||
|
sizes[0] = "1.5 1.5 1.5";
|
||||||
|
sizes[1] = "2.5 2.5 2.5";
|
||||||
|
sizes[2] = "2.0 2.0 2.0";
|
||||||
|
times[0] = 0.0;
|
||||||
|
times[1] = 0.5;
|
||||||
|
times[2] = 1.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ExplosionData(UnderwaterSatchelSubExplosion2)
|
||||||
|
{
|
||||||
|
explosionShape = "disc_explosion.dts";
|
||||||
|
faceViewer = true;
|
||||||
|
explosionScale = "0.7 0.7 0.7";
|
||||||
|
|
||||||
|
|
||||||
|
lifetimeMS = 1000;
|
||||||
|
delayMS = 50;
|
||||||
|
|
||||||
|
emitter[0] = UnderwaterSatchelExplosionSmokeEmitter;
|
||||||
|
emitter[1] = UnderwaterSatchelSparksEmitter;
|
||||||
|
emitter[2] = SatchelBubbleEmitter;
|
||||||
|
|
||||||
|
offset = 9.0;
|
||||||
|
|
||||||
|
playSpeed = 0.75;
|
||||||
|
|
||||||
|
sizes[0] = "1.5 1.5 1.5";
|
||||||
|
sizes[1] = "1.0 1.0 1.0";
|
||||||
|
sizes[2] = "0.75 0.75 0.75";
|
||||||
|
times[0] = 0.0;
|
||||||
|
times[1] = 0.5;
|
||||||
|
times[2] = 1.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ExplosionData(UnderwaterSatchelSubExplosion3)
|
||||||
|
{
|
||||||
|
explosionShape = "disc_explosion.dts";
|
||||||
|
faceViewer = true;
|
||||||
|
explosionScale = "1.0 1.0 1.0";
|
||||||
|
|
||||||
|
|
||||||
|
lifetimeMS = 2000;
|
||||||
|
delayMS = 100;
|
||||||
|
|
||||||
|
emitter[0] = UnderwaterSatchelExplosionSmokeEmitter;
|
||||||
|
emitter[1] = UnderwaterSatchelSparksEmitter;
|
||||||
|
emitter[2] = SatchelBubbleEmitter;
|
||||||
|
|
||||||
|
offset = 9.0;
|
||||||
|
|
||||||
|
playSpeed = 1.25;
|
||||||
|
|
||||||
|
sizes[0] = "1.0 1.0 1.0";
|
||||||
|
sizes[1] = "1.0 1.0 1.0";
|
||||||
|
sizes[2] = "0.5 0.5 0.5";
|
||||||
|
times[0] = 0.0;
|
||||||
|
times[1] = 0.5;
|
||||||
|
times[2] = 1.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
datablock ExplosionData(UnderwaterSatchelMainExplosion)
|
||||||
|
{
|
||||||
|
soundProfile = UnderwaterSatchelChargeExplosionSound;
|
||||||
|
|
||||||
|
subExplosion[0] = UnderwaterSatchelSubExplosion;
|
||||||
|
subExplosion[1] = UnderwaterSatchelSubExplosion2;
|
||||||
|
subExplosion[2] = UnderwaterSatchelSubExplosion3;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
|
|
@ -295,7 +526,7 @@ datablock ItemData(SatchelCharge)
|
||||||
friction = 0.6;
|
friction = 0.6;
|
||||||
pickupRadius = 2;
|
pickupRadius = 2;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
pickUpName = "a satchel charge pack";
|
pickUpName = "a satchel charge pack";
|
||||||
|
|
||||||
computeCRC = true;
|
computeCRC = true;
|
||||||
};
|
};
|
||||||
|
|
@ -304,13 +535,14 @@ datablock ItemData(SatchelChargeThrown)
|
||||||
{
|
{
|
||||||
shapeFile = "pack_upgrade_satchel.dts";
|
shapeFile = "pack_upgrade_satchel.dts";
|
||||||
explosion = SatchelMainExplosion;
|
explosion = SatchelMainExplosion;
|
||||||
|
underwaterExplosion = UnderwaterSatchelMainExplosion;
|
||||||
mass = 1.2;
|
mass = 1.2;
|
||||||
elasticity = 0.1;
|
elasticity = 0.1;
|
||||||
friction = 0.9;
|
friction = 0.9;
|
||||||
rotate = false;
|
rotate = false;
|
||||||
pickupRadius = 0;
|
pickupRadius = 0;
|
||||||
noTimeout = true;
|
noTimeout = true;
|
||||||
armDelay = 3000;
|
armDelay = 3000;
|
||||||
maxDamage = 0.6;
|
maxDamage = 0.6;
|
||||||
|
|
||||||
kickBackStrength = 4000;
|
kickBackStrength = 4000;
|
||||||
|
|
@ -327,45 +559,51 @@ function SatchelCharge::onUse(%this, %obj)
|
||||||
rotation = "0 0 1 " @ (getRandom() * 360);
|
rotation = "0 0 1 " @ (getRandom() * 360);
|
||||||
};
|
};
|
||||||
MissionCleanup.add(%item);
|
MissionCleanup.add(%item);
|
||||||
// take pack out of inventory and unmount image
|
// take pack out of inventory and unmount image
|
||||||
%obj.decInventory(SatchelCharge, 1);
|
%obj.decInventory(SatchelCharge, 1);
|
||||||
%obj.throwObject(%item);
|
%obj.throwObject(%item);
|
||||||
//error("throwing satchel charge #" @ %item);
|
//error("throwing satchel charge #" @ %item);
|
||||||
%obj.thrownChargeId = %item;
|
%obj.thrownChargeId = %item;
|
||||||
%item.sourceObject = %obj;
|
%item.sourceObject = %obj;
|
||||||
%item.armed = false;
|
%item.armed = false;
|
||||||
%item.damaged = 0.0;
|
%item.damaged = 0.0;
|
||||||
%item.thwart = false;
|
%item.thwart = false;
|
||||||
// arm itself 3 seconds after being thrown
|
// arm itself 3 seconds after being thrown
|
||||||
schedule(%item.getDatablock().armDelay, %item, "armSatchelCharge", %item);
|
schedule(%item.getDatablock().armDelay, %item, "initArmSatchelCharge", %item);
|
||||||
messageClient(%obj.client, 'MsgSatchelChargePlaced', "\c2Satchel charge deployed.");
|
messageClient(%obj.client, 'MsgSatchelChargePlaced', "\c2Satchel charge deployed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function initArmSatchelCharge(%satchel)
|
||||||
|
{
|
||||||
|
// "deet deet deet" sound
|
||||||
|
%satchel.playAudio(1, SatchelChargeActivateSound);
|
||||||
|
// also need to play "antenna extending" animation
|
||||||
|
%satchel.playThread(0, "deploy");
|
||||||
|
%satchel.playThread(1, "activate");
|
||||||
|
|
||||||
|
// delay the actual arming until after sound is done playing
|
||||||
|
schedule( 2200, 0, "armSatchelCharge", %satchel );
|
||||||
|
}
|
||||||
|
|
||||||
function armSatchelCharge(%satchel)
|
function armSatchelCharge(%satchel)
|
||||||
{
|
{
|
||||||
//error("satchel charge #" @ %satchel @ " armed!");
|
%satchel.armed = true;
|
||||||
%satchel.armed = true;
|
|
||||||
// "deet deet deet" sound
|
|
||||||
%satchel.playAudio(1, SatchelChargeActivateSound);
|
|
||||||
// also need to play "antenna extending" animation
|
|
||||||
%satchel.playThread(0, "deploy");
|
|
||||||
%satchel.playThread(1, "activate");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function detonateSatchelCharge(%player)
|
function detonateSatchelCharge(%player)
|
||||||
{
|
{
|
||||||
%satchelCharge = %player.thrownChargeId;
|
%satchelCharge = %player.thrownChargeId;
|
||||||
// can't detonate the satchel charge if it isn't armed
|
// can't detonate the satchel charge if it isn't armed
|
||||||
if(!%satchelCharge.armed)
|
if(!%satchelCharge.armed)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//error("Detonating satchel charge #" @ %satchelCharge @ " for player #" @ %player);
|
//error("Detonating satchel charge #" @ %satchelCharge @ " for player #" @ %player);
|
||||||
|
|
||||||
if(%satchelCharge.getDamageState() !$= Destroyed)
|
if(%satchelCharge.getDamageState() !$= Destroyed)
|
||||||
%satchelCharge.setDamageState(Destroyed);
|
%satchelCharge.setDamageState(Destroyed);
|
||||||
|
|
||||||
if(isObject(%player))
|
if(isObject(%player))
|
||||||
%player.thrownChargeId = 0;
|
%player.thrownChargeId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function SatchelChargeThrown::onEnterLiquid(%data, %obj, %coverage, %type)
|
function SatchelChargeThrown::onEnterLiquid(%data, %obj, %coverage, %type)
|
||||||
|
|
@ -391,7 +629,7 @@ function SatchelChargeThrown::onEnterLiquid(%data, %obj, %coverage, %type)
|
||||||
|
|
||||||
function SatchelChargeImage::onMount(%data, %obj, %node)
|
function SatchelChargeImage::onMount(%data, %obj, %node)
|
||||||
{
|
{
|
||||||
%obj.thrownChargeId = 0;
|
%obj.thrownChargeId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function SatchelChargeImage::onUnmount(%data, %obj, %node)
|
function SatchelChargeImage::onUnmount(%data, %obj, %node)
|
||||||
|
|
@ -400,34 +638,35 @@ function SatchelChargeImage::onUnmount(%data, %obj, %node)
|
||||||
|
|
||||||
function SatchelChargeThrown::onDestroyed(%this, %object, %lastState)
|
function SatchelChargeThrown::onDestroyed(%this, %object, %lastState)
|
||||||
{
|
{
|
||||||
if(%object.kaboom)
|
if(%object.kaboom)
|
||||||
return;
|
return;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%object.kaboom = true;
|
%object.kaboom = true;
|
||||||
|
|
||||||
// the "thwart" flag is set if the charge is destroyed with weapons rather
|
// the "thwart" flag is set if the charge is destroyed with weapons rather
|
||||||
// than detonated. A less damaging explosion, but visually the same scale.
|
// than detonated. A less damaging explosion, but visually the same scale.
|
||||||
if(%object.thwart)
|
if(%object.thwart)
|
||||||
{
|
{
|
||||||
%dmgRadius = 10;
|
%dmgRadius = 10;
|
||||||
%dmgMod = 0.3;
|
%dmgMod = 0.3;
|
||||||
%expImpulse = 1000;
|
%expImpulse = 1000;
|
||||||
%dmgType = $DamageType::Explosion;
|
%dmgType = $DamageType::Explosion;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
messageClient(%object.sourceObject.client, 'msgSatchelChargeDetonate', "\c2Satchel charge detonated!");
|
messageClient(%object.sourceObject.client, 'msgSatchelChargeDetonate', "\c2Satchel charge detonated!");
|
||||||
%dmgRadius = 20;
|
%dmgRadius = 20;
|
||||||
%dmgMod = 1.0;
|
%dmgMod = 1.0;
|
||||||
%expImpulse = 2500;
|
%expImpulse = 2500;
|
||||||
%dmgType = $DamageType::SatchelCharge;
|
%dmgType = $DamageType::SatchelCharge;
|
||||||
}
|
}
|
||||||
|
|
||||||
RadiusExplosion(%object, %object.getPosition(), %dmgRadius, %dmgMod, %expImpulse, %object.sourceObject, %dmgType);
|
%object.blowingUp = true;
|
||||||
|
RadiusExplosion(%object, %object.getPosition(), %dmgRadius, %dmgMod, %expImpulse, %object.sourceObject, %dmgType);
|
||||||
|
|
||||||
%object.schedule(500, "delete");
|
%object.schedule(500, "delete");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function SatchelChargeThrown::onCollision(%data,%obj,%col)
|
function SatchelChargeThrown::onCollision(%data,%obj,%col)
|
||||||
|
|
@ -436,17 +675,20 @@ function SatchelChargeThrown::onCollision(%data,%obj,%col)
|
||||||
|
|
||||||
function SatchelChargeThrown::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType)
|
function SatchelChargeThrown::damageObject(%data, %targetObject, %sourceObject, %position, %amount, %damageType)
|
||||||
{
|
{
|
||||||
%targetObject.damaged += %amount;
|
if (!%object.blowingUp)
|
||||||
|
|
||||||
if(%targetObject.damaged >= %targetObject.getDataBlock().maxDamage &&
|
|
||||||
%satchelCharge.getDamageState() !$= Destroyed)
|
|
||||||
{
|
{
|
||||||
%targetObject.thwart = true;
|
%targetObject.damaged += %amount;
|
||||||
%targetObject.setDamageState(Destroyed);
|
|
||||||
}
|
if(%targetObject.damaged >= %targetObject.getDataBlock().maxDamage &&
|
||||||
|
%targetObject.getDamageState() !$= Destroyed)
|
||||||
|
{
|
||||||
|
%targetObject.thwart = true;
|
||||||
|
%targetObject.setDamageState(Destroyed);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function SatchelCharge::onPickup(%this, %obj, %shape, %amount)
|
function SatchelCharge::onPickup(%this, %obj, %shape, %amount)
|
||||||
{
|
{
|
||||||
// created to prevent console errors
|
// created to prevent console errors
|
||||||
}
|
}
|
||||||
|
|
@ -460,9 +460,7 @@ function RadiusExplosion(%explosionSource, %position, %radius, %damage, %impulse
|
||||||
{
|
{
|
||||||
InitContainerRadiusSearch(%position, %radius, $TypeMasks::PlayerObjectType |
|
InitContainerRadiusSearch(%position, %radius, $TypeMasks::PlayerObjectType |
|
||||||
$TypeMasks::VehicleObjectType |
|
$TypeMasks::VehicleObjectType |
|
||||||
$TypeMasks::MoveableObjectType |
|
|
||||||
$TypeMasks::StaticShapeObjectType |
|
$TypeMasks::StaticShapeObjectType |
|
||||||
$TypeMasks::ForceFieldObjectType |
|
|
||||||
$TypeMasks::TurretObjectType |
|
$TypeMasks::TurretObjectType |
|
||||||
$TypeMasks::ItemObjectType);
|
$TypeMasks::ItemObjectType);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ $SB::DFDec = 0.02; // damageFlash
|
||||||
function VerifyCDCheck(%func)
|
function VerifyCDCheck(%func)
|
||||||
{
|
{
|
||||||
if (!cdFileCheck())
|
if (!cdFileCheck())
|
||||||
messageBoxOkCancel("Tribes 2 CD Check", "You must have the Tribes 2 CD in the CD-ROM drive while playing offline. Please insert the CD.", "schedule(0, 0, VerifyCDCheck, " @ %func @ ");", "quit();");
|
messageBoxOkCancel("TRIBES 2 CD CHECK", "You must have the Tribes 2 CD in the CD-ROM drive while playing Tribes 2. Please insert the CD.", "schedule(0, 0, VerifyCDCheck, " @ %func @ ");", "quit();");
|
||||||
else
|
else
|
||||||
call(%func);
|
call(%func);
|
||||||
}
|
}
|
||||||
|
|
@ -165,11 +165,13 @@ function DestroyServer()
|
||||||
$missionRunning = false;
|
$missionRunning = false;
|
||||||
allowConnections(false);
|
allowConnections(false);
|
||||||
stopHeartbeat();
|
stopHeartbeat();
|
||||||
%game = game.class;
|
|
||||||
MissionGroup.delete();
|
MissionGroup.delete();
|
||||||
MissionCleanup.delete();
|
MissionCleanup.delete();
|
||||||
%game.deactivatePackages();
|
if(isObject(game))
|
||||||
%game.delete();
|
{
|
||||||
|
game.deactivatePackages();
|
||||||
|
game.delete();
|
||||||
|
}
|
||||||
if(isObject($ServerGroup))
|
if(isObject($ServerGroup))
|
||||||
$ServerGroup.delete();
|
$ServerGroup.delete();
|
||||||
|
|
||||||
|
|
@ -1472,12 +1474,30 @@ function isOnSuperAdminList(%client)
|
||||||
|
|
||||||
function addToAdminList( %client )
|
function addToAdminList( %client )
|
||||||
{
|
{
|
||||||
|
%count = getRecordCount( $Host::AdminList );
|
||||||
|
|
||||||
|
for ( %i = 0; %i < %count; %i++ )
|
||||||
|
{
|
||||||
|
%id = getRecord( $Host::AdminList, %i );
|
||||||
|
if ( %id == %client.guid )
|
||||||
|
return; // They're already there!
|
||||||
|
}
|
||||||
|
|
||||||
|
$Host::AdminList = $Host::AdminList NL %client.guid;
|
||||||
}
|
}
|
||||||
|
|
||||||
function addToSuperAdminList( %client )
|
function addToSuperAdminList( %client )
|
||||||
{
|
{
|
||||||
|
%count = getRecordCount( $Host::SuperAdminList );
|
||||||
|
|
||||||
|
for ( %i = 0; %i < %count; %i++ )
|
||||||
|
{
|
||||||
|
%id = getRecord( $Host::SuperAdminList, %i );
|
||||||
|
if ( %id == %client.guid )
|
||||||
|
return; // They're already there!
|
||||||
|
}
|
||||||
|
|
||||||
|
$Host::SuperAdminList = $Host::SuperAdminList NL %client.guid;
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetTournamentPlayers()
|
function resetTournamentPlayers()
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,8 @@ $Host::MaxMessageLen = 120;
|
||||||
$MasterServerAddress = "IP:198.74.40.152:28000";
|
$MasterServerAddress = "IP:198.74.40.152:28000";
|
||||||
|
|
||||||
// 0: .v12 (1.2 kbits/sec), 1: .v24 (2.4 kbits/sec), 2: .v29 (2.9kbits/sec)
|
// 0: .v12 (1.2 kbits/sec), 1: .v24 (2.4 kbits/sec), 2: .v29 (2.9kbits/sec)
|
||||||
|
// 3: gsm (6.6 kbits/sec)
|
||||||
|
// GSM: $Audio::maxEncodingLevel = 3;
|
||||||
$Audio::maxEncodingLevel = 2;
|
$Audio::maxEncodingLevel = 2;
|
||||||
$Audio::maxVoiceChannels = 2;
|
$Audio::maxVoiceChannels = 2;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1226,7 +1226,7 @@ function checkSpawnPos(%MPB, %radius)
|
||||||
|
|
||||||
%terrHeight = getTerrainHeight(%posX @ " " @ %posY);
|
%terrHeight = getTerrainHeight(%posX @ " " @ %posY);
|
||||||
|
|
||||||
if(abs(%terrHeight - %pPosZ) < %radius )
|
if(mAbs(%terrHeight - %pPosZ) < %radius )
|
||||||
{
|
{
|
||||||
%mask = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType |
|
%mask = $TypeMasks::VehicleObjectType | $TypeMasks::MoveableObjectType |
|
||||||
$TypeMasks::StaticShapeObjectType | $TypeMasks::StaticTSObjectType |
|
$TypeMasks::StaticShapeObjectType | $TypeMasks::StaticTSObjectType |
|
||||||
|
|
|
||||||
|
|
@ -496,9 +496,12 @@ function MobileBaseVehicle::deleteAllMounted(%data, %obj)
|
||||||
if(isObject(%obj.shield))
|
if(isObject(%obj.shield))
|
||||||
%obj.shield.delete();
|
%obj.shield.delete();
|
||||||
|
|
||||||
%obj.teleporter.setThreadDir($ActivateThread, FALSE);
|
if (isObject(%obj.teleporter))
|
||||||
%obj.teleporter.playThread($ActivateThread,"activate");
|
{
|
||||||
%obj.teleporter.playAudio($ActivateSound, StationTeleportDeacitvateSound);
|
%obj.teleporter.setThreadDir($ActivateThread, FALSE);
|
||||||
|
%obj.teleporter.playThread($ActivateThread,"activate");
|
||||||
|
%obj.teleporter.playAudio($ActivateSound, StationTeleportDeacitvateSound);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//**************************************************************
|
//**************************************************************
|
||||||
|
|
|
||||||
|
|
@ -124,12 +124,12 @@ datablock WheeledVehicleData(MobileBaseVehicle) : MPBDamageProfile
|
||||||
hardImpactSpeed = 25; // Play HardImpact Sound
|
hardImpactSpeed = 25; // Play HardImpact Sound
|
||||||
|
|
||||||
// Ground Impact Damage (uses DamageType::Ground)
|
// Ground Impact Damage (uses DamageType::Ground)
|
||||||
minImpactSpeed = 25;
|
minImpactSpeed = 12;
|
||||||
speedDamageScale = 0.220;
|
speedDamageScale = 0.060;
|
||||||
|
|
||||||
// Object Impact Damage (uses DamageType::Impact)
|
// Object Impact Damage (uses DamageType::Impact)
|
||||||
collDamageThresholdVel = 28;
|
collDamageThresholdVel = 12;
|
||||||
collDamageMultiplier = 0.040;
|
collDamageMultiplier = 0.080;
|
||||||
|
|
||||||
// Engine
|
// Engine
|
||||||
engineTorque = 7.0 * 745;
|
engineTorque = 7.0 * 745;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ $numTalking = 0;
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function clientCmdPlayerStartTalking(%client, %success)
|
function clientCmdPlayerStartTalking(%client, %success)
|
||||||
{
|
{
|
||||||
//error("Client " @ %client @ " start talking, success = " @ %success);
|
|
||||||
// if more people are talking than we can handle, don't bother with names
|
// if more people are talking than we can handle, don't bother with names
|
||||||
if($numTalking > $voiceLines)
|
if($numTalking > $voiceLines)
|
||||||
return;
|
return;
|
||||||
|
|
@ -45,8 +44,6 @@ function clientCmdPlayerStoppedTalking(%client, %success)
|
||||||
}
|
}
|
||||||
if(%doneLine != -1)
|
if(%doneLine != -1)
|
||||||
%rmSuccess = removeVoiceLine(%doneLine);
|
%rmSuccess = removeVoiceLine(%doneLine);
|
||||||
//else
|
|
||||||
// error("Did not find voice line for client " @ %client);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
@ -233,9 +230,10 @@ function voiceCapStart()
|
||||||
{
|
{
|
||||||
switch($Audio::serverEncodingLevel)
|
switch($Audio::serverEncodingLevel)
|
||||||
{
|
{
|
||||||
case 0: %level = "Low";
|
case 0: %level = "Codec .v12";
|
||||||
case 1: %level = "Medium";
|
case 1: %level = "Codec .v24";
|
||||||
default: %level = "High";
|
case 2: %level = "Codec .v29";
|
||||||
|
default: %level = "Codec GSM";
|
||||||
}
|
}
|
||||||
|
|
||||||
addMessageHudLine("\c2System:\cr server has voice level capped at [\c1" @ %level @ "\cr].");
|
addMessageHudLine("\c2System:\cr server has voice level capped at [\c1" @ %level @ "\cr].");
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ function BrowserStartSearch()
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
function ExecuteSearch(%id)
|
function ExecuteSearch(%id)
|
||||||
{
|
{
|
||||||
DatabaseQueryArray(BrowserSearchPane.query,0,trim($BrowserSearchField) TAB 0 TAB 100 TAB 0, BrowserSearchPane, BrowserSearchPane.key);
|
DatabaseQueryArray(BrowserSearchPane.query,0,trim($BrowserSearchField) TAB 0 TAB 100 TAB 0, BrowserSearchPane, BrowserSearchPane.key, true);
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
function getTribeMember(%tribeName)
|
function getTribeMember(%tribeName)
|
||||||
|
|
@ -1372,12 +1372,12 @@ function TribePane::ButtonClick( %this, %senderid )
|
||||||
MemberList.addColumn( 0, "MEMBER", 92, 0, 100,"left");
|
MemberList.addColumn( 0, "MEMBER", 92, 0, 100,"left");
|
||||||
MemberList.addColumn( 1, "TITLE", 90, 0, 100,"left");
|
MemberList.addColumn( 1, "TITLE", 90, 0, 100,"left");
|
||||||
MemberList.addColumn( 2, "RNK", 30, 0, 40, "numeric center" );
|
MemberList.addColumn( 2, "RNK", 30, 0, 40, "numeric center" );
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,6,0,%tribeName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,6,0,%tribeName,%this,%this.key, true);
|
||||||
case 2: //NEWS BUTTON
|
case 2: //NEWS BUTTON
|
||||||
%this.key = LaunchGui.key++;
|
%this.key = LaunchGui.key++;
|
||||||
%this.state = "getTribeNews";
|
%this.state = "getTribeNews";
|
||||||
%this.tstate = "NEWS";
|
%this.tstate = "NEWS";
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,10,20,%tribeName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,10,20,%tribeName,%this,%this.key,true);
|
||||||
case 3: //INVITE BUTTON
|
case 3: //INVITE BUTTON
|
||||||
MemberList.Clear();
|
MemberList.Clear();
|
||||||
MemberList.ClearColumns();
|
MemberList.ClearColumns();
|
||||||
|
|
@ -1388,7 +1388,7 @@ function TribePane::ButtonClick( %this, %senderid )
|
||||||
%this.tstate = "INVITES";
|
%this.tstate = "INVITES";
|
||||||
MemberList.addColumn( 0, "PLAYER", 100, 0, 350,"left" );
|
MemberList.addColumn( 0, "PLAYER", 100, 0, 350,"left" );
|
||||||
MemberList.addColumn( 1, "INVITED", 112, 0, 300, "left" );
|
MemberList.addColumn( 1, "INVITED", 112, 0, 300, "left" );
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,11,0,%tribeName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500, 0, DatabaseQueryArray,11,0,%tribeName,%this,%this.key,true);
|
||||||
case 4: //Admin Tribe
|
case 4: //Admin Tribe
|
||||||
if(trim(TWBText.getText()) !$= "")
|
if(trim(TWBText.getText()) !$= "")
|
||||||
{
|
{
|
||||||
|
|
@ -1673,7 +1673,7 @@ function PlayerPane::ButtonClick( %this, %senderid )
|
||||||
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
||||||
%callId = 3;
|
%callId = 3;
|
||||||
|
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,12,0,%playerName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,12,0,%playerName,%this,%this.key,true);
|
||||||
case 2: //TribeList
|
case 2: //TribeList
|
||||||
W_MemberList.Clear();
|
W_MemberList.Clear();
|
||||||
W_MemberList.ClearColumns();
|
W_MemberList.ClearColumns();
|
||||||
|
|
@ -1684,7 +1684,7 @@ function PlayerPane::ButtonClick( %this, %senderid )
|
||||||
W_MemberList.addColumn( 1, "TITLE", 80, 0, 300 );
|
W_MemberList.addColumn( 1, "TITLE", 80, 0, 300 );
|
||||||
W_MemberList.addColumn( 2, "RNK", 38, 0, 50, "numeric center" );
|
W_MemberList.addColumn( 2, "RNK", 38, 0, 50, "numeric center" );
|
||||||
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,13,0,%playerName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,13,0,%playerName,%this,%this.key,true);
|
||||||
case 3: //Player Buddylist
|
case 3: //Player Buddylist
|
||||||
W_MemberList.Clear();
|
W_MemberList.Clear();
|
||||||
W_MemberList.ClearColumns();
|
W_MemberList.ClearColumns();
|
||||||
|
|
@ -1695,14 +1695,14 @@ function PlayerPane::ButtonClick( %this, %senderid )
|
||||||
%this.key = LaunchGui.key++;
|
%this.key = LaunchGui.key++;
|
||||||
%this.state = "getWarriorBuddyList";
|
%this.state = "getWarriorBuddyList";
|
||||||
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,5,0,%playerName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQueryArray,5,0,%playerName,%this,%this.key,true);
|
||||||
case 4: //Visitor Options
|
case 4: //Visitor Options
|
||||||
W_Text.setValue("");
|
W_Text.setValue("");
|
||||||
%this.state = "getVisitorOptions";
|
%this.state = "getVisitorOptions";
|
||||||
%owner = getField(getRecord(WonGetAuthInfo(),0),0);
|
%owner = getField(getRecord(WonGetAuthInfo(),0),0);
|
||||||
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
%playerName = TWBTabView.getTabText(TWBTabView.GetSelectedID());
|
||||||
TWBTitle.OldText = TWBTitle.name;
|
TWBTitle.OldText = TWBTitle.name;
|
||||||
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQuery,23,%playerName,%this,%this.key);
|
TribeAndWarriorBrowserGui.eid = schedule(500,0,DatabaseQuery,23,%playerName,%this,%this.key,true);
|
||||||
case 5: //Admin Options
|
case 5: //Admin Options
|
||||||
if(trim(w_text.getText()) !$= "")
|
if(trim(w_text.getText()) !$= "")
|
||||||
{
|
{
|
||||||
|
|
@ -1828,8 +1828,6 @@ function WarriorPopup::onSelect( %this, %id, %text )
|
||||||
{
|
{
|
||||||
case "T2 ADMINISTRATION":
|
case "T2 ADMINISTRATION":
|
||||||
%tribe = "Game Feedback";
|
%tribe = "Game Feedback";
|
||||||
case "T2 PRESSCORPS":
|
|
||||||
%tribe = "PRESSCORPS-Submissions";
|
|
||||||
}
|
}
|
||||||
ForumsThreadPane.setVisible(false);
|
ForumsThreadPane.setVisible(false);
|
||||||
ForumsTopicsPane.setVisible(true);
|
ForumsTopicsPane.setVisible(true);
|
||||||
|
|
|
||||||
|
|
@ -374,6 +374,8 @@ function CheckEmail(%calledFromSched)
|
||||||
EmailGui.checkSchedule = "";
|
EmailGui.checkSchedule = "";
|
||||||
EMailGui.key = LaunchGui.key++;
|
EMailGui.key = LaunchGui.key++;
|
||||||
EmailGui.state = "getMail";
|
EmailGui.state = "getMail";
|
||||||
|
EM_Browser.clear();
|
||||||
|
EmailGui.LoadCache();
|
||||||
DatabaseQueryArray(1,0,$EmailNextSeq, EMailGui, EMailGui.key);
|
DatabaseQueryArray(1,0,$EmailNextSeq, EMailGui, EMailGui.key);
|
||||||
EmailGui.checkingEmail = true;
|
EmailGui.checkingEmail = true;
|
||||||
}
|
}
|
||||||
|
|
@ -765,7 +767,7 @@ function AddressDlg::GoSearch(%this)
|
||||||
%this.key = LaunchGui.key++;
|
%this.key = LaunchGui.key++;
|
||||||
%this.state = "goSearch";
|
%this.state = "goSearch";
|
||||||
%this.lbstate = "errorcheck";
|
%this.lbstate = "errorcheck";
|
||||||
DatabaseQueryArray(3,100,trim(LC_Search.getValue()) TAB 0 TAB 100 TAB 1 ,%this, %this.key);
|
DatabaseQueryArray(3,100,trim(LC_Search.getValue()) TAB 0 TAB 100 TAB 1 ,%this, %this.key,true);
|
||||||
LC_BuddyListBtn.direction = 0;
|
LC_BuddyListBtn.direction = 0;
|
||||||
LC_BuddyListBtn.text = "ADD TO BUDDYLIST";
|
LC_BuddyListBtn.text = "ADD TO BUDDYLIST";
|
||||||
LC_ListBox.setSelected(0);
|
LC_ListBox.setSelected(0);
|
||||||
|
|
@ -792,7 +794,7 @@ function AddressDlg::GoList(%this)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
%this.state = "getTribeMembers";
|
%this.state = "getTribeMembers";
|
||||||
DatabaseQueryArray(6,0,LC_ListBox.getValue(),%this,%this.key);
|
DatabaseQueryArray(6,0,LC_ListBox.getValue(),%this,%this.key,true);
|
||||||
LC_BuddyListBtn.direction = 0;
|
LC_BuddyListBtn.direction = 0;
|
||||||
LC_BuddyListBtn.text = "ADD TO BUDDYLIST";
|
LC_BuddyListBtn.text = "ADD TO BUDDYLIST";
|
||||||
}
|
}
|
||||||
|
|
@ -932,7 +934,7 @@ function EmailGui::onWake(%this)
|
||||||
|
|
||||||
if(!%this.cacheFile)
|
if(!%this.cacheFile)
|
||||||
{
|
{
|
||||||
%this.cacheFile = "email0";
|
%this.cacheFile = "email1";
|
||||||
EmailGui.getCache();
|
EmailGui.getCache();
|
||||||
}
|
}
|
||||||
if ( !EmailGui.cacheLoaded || EM_Browser.rowCount() == 0 )
|
if ( !EmailGui.cacheLoaded || EM_Browser.rowCount() == 0 )
|
||||||
|
|
@ -969,7 +971,7 @@ function EmailGui::ButtonClick(%this,%ord)
|
||||||
EmailInboxBodyText.setText("");
|
EmailInboxBodyText.setText("");
|
||||||
EMailGui.state = "getDeletedMail";
|
EMailGui.state = "getDeletedMail";
|
||||||
EmailGui.key = LaunchGui.key++;
|
EmailGui.key = LaunchGui.key++;
|
||||||
DatabaseQueryArray(14,100,EmailGui.state,EMailGui,EMailGui.key);
|
DatabaseQueryArray(14,100,EmailGui.state,EMailGui,EMailGui.key,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
@ -997,10 +999,8 @@ function EMailGui::onDatabaseQueryResult(%this, %status, %RowCount_Result, %key)
|
||||||
EMailGui.getCache();
|
EMailGui.getCache();
|
||||||
EMailGui.outputVector();
|
EMailGui.outputVector();
|
||||||
if(EMailGui.btnClicked)
|
if(EMailGui.btnClicked)
|
||||||
{
|
|
||||||
MessageBoxOK("NOTICE","No New Mail");
|
|
||||||
EmailGui.btnClicked = false;
|
EmailGui.btnClicked = false;
|
||||||
}
|
|
||||||
%this.checkingEmail = false;
|
%this.checkingEmail = false;
|
||||||
%this.checkSchedule = schedule(1000 * 60 * 5, 0, CheckEmail, true);
|
%this.checkSchedule = schedule(1000 * 60 * 5, 0, CheckEmail, true);
|
||||||
// echo("scheduling Email check " @ %this.checkSchedule @ " in 5 minutes");
|
// echo("scheduling Email check " @ %this.checkSchedule @ " in 5 minutes");
|
||||||
|
|
@ -1121,7 +1121,7 @@ function EmailGui::getCache(%this)
|
||||||
EM_Browser.clear();
|
EM_Browser.clear();
|
||||||
EMailMessageVector.clear();
|
EMailMessageVector.clear();
|
||||||
EmailInboxBodyText.setText("");
|
EmailInboxBodyText.setText("");
|
||||||
%fileName = $EmailCachePath @ "email0";
|
%fileName = $EmailCachePath @ "email1";
|
||||||
%file = new FileObject();
|
%file = new FileObject();
|
||||||
if ( %this.cacheFile $= "" )
|
if ( %this.cacheFile $= "" )
|
||||||
{
|
{
|
||||||
|
|
@ -1131,7 +1131,7 @@ function EmailGui::getCache(%this)
|
||||||
if ( %guid $= getField( WonGetAuthInfo(), 3 ) )
|
if ( %guid $= getField( WonGetAuthInfo(), 3 ) )
|
||||||
{
|
{
|
||||||
// This is the right one!
|
// This is the right one!
|
||||||
%this.cacheFile = "email0";
|
%this.cacheFile = "email1";
|
||||||
%this.messageCount = %file.readLine();
|
%this.messageCount = %file.readLine();
|
||||||
while( !%file.isEOF() )
|
while( !%file.isEOF() )
|
||||||
{
|
{
|
||||||
|
|
@ -1176,7 +1176,7 @@ function EmailGui::loadCache( %this )
|
||||||
EM_Browser.clear();
|
EM_Browser.clear();
|
||||||
EMailMessageVector.clear();
|
EMailMessageVector.clear();
|
||||||
EMailInboxBodyText.setText("");
|
EMailInboxBodyText.setText("");
|
||||||
%fileName = $EmailCachePath @ "email0";
|
%fileName = $EmailCachePath @ "email1";
|
||||||
%file = new FileObject();
|
%file = new FileObject();
|
||||||
if ( %this.cacheFile $= "" )
|
if ( %this.cacheFile $= "" )
|
||||||
{
|
{
|
||||||
|
|
@ -1186,7 +1186,7 @@ function EmailGui::loadCache( %this )
|
||||||
if ( %guid $= getField( WonGetAuthInfo(), 3 ) )
|
if ( %guid $= getField( WonGetAuthInfo(), 3 ) )
|
||||||
{
|
{
|
||||||
// This is the right one!
|
// This is the right one!
|
||||||
%this.cacheFile = "email0";
|
%this.cacheFile = "email1";
|
||||||
%this.messageCount = %file.readLine();
|
%this.messageCount = %file.readLine();
|
||||||
while( !%file.isEOF() )
|
while( !%file.isEOF() )
|
||||||
{
|
{
|
||||||
|
|
@ -1219,7 +1219,7 @@ function EmailGui::loadCache( %this )
|
||||||
function EmailGui::dumpCache( %this )
|
function EmailGui::dumpCache( %this )
|
||||||
{
|
{
|
||||||
%guid = getField( WONGetAuthInfo(), 3 );
|
%guid = getField( WONGetAuthInfo(), 3 );
|
||||||
if ( %this.cacheFile $= "" ) %this.cacheFile = "email0";
|
if ( %this.cacheFile $= "" ) %this.cacheFile = "email1";
|
||||||
EmailMessageVector.dump( $EmailCachePath @ %this.cacheFile, %guid );
|
EmailMessageVector.dump( $EmailCachePath @ %this.cacheFile, %guid );
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,17 @@ function DateStrCompare(%date1,%date2)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
function IsPostAuthor(%author)
|
||||||
|
{
|
||||||
|
// %ai = wonGetAuthInfo();
|
||||||
|
// %pid = getField(GetRecord(%ai,0),
|
||||||
|
// for(%east=0;%east<getField(getRecord(%ai,1),0);%east++)
|
||||||
|
// {
|
||||||
|
// %wonTribe = getRecord(%ai,2+%east);
|
||||||
|
// ForumsList.addRow(getField(%wonTribe,3)*-1,getField(%wonTribe,0) TAB getField(%wonTribe,4) TAB getField(%wonTribe,2));
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
function BackToTopics()
|
function BackToTopics()
|
||||||
{
|
{
|
||||||
CacheForumTopic();
|
CacheForumTopic();
|
||||||
|
|
@ -351,16 +362,7 @@ function ForumsPost()
|
||||||
|
|
||||||
TextCheck($ForumsSubject,ForumsGui);
|
TextCheck($ForumsSubject,ForumsGui);
|
||||||
if(!ForumsGui.textCheck)
|
if(!ForumsGui.textCheck)
|
||||||
{
|
{
|
||||||
// if(ForumsComposeDlg.action !$= "Post" || ForumsComposeDlg.parentPost != 0)
|
|
||||||
// {
|
|
||||||
// %proxy = ForumsMessageList;
|
|
||||||
// %newGroup = TopicsListGroup.getObject(ForumsTopicsList.getSelectedRow());
|
|
||||||
// %proxy.lastId = %newGroup.updateid;
|
|
||||||
// %proxy.highestUpdate = %proxy.lastId;
|
|
||||||
// %proxy.state = "updateCheck";
|
|
||||||
// }
|
|
||||||
|
|
||||||
ForumsTopicsList.refreshFlag = 1;
|
ForumsTopicsList.refreshFlag = 1;
|
||||||
if(ForumsComposeDlg.parentPost == 0) //this is a new topic request
|
if(ForumsComposeDlg.parentPost == 0) //this is a new topic request
|
||||||
{
|
{
|
||||||
|
|
@ -375,6 +377,7 @@ function ForumsPost()
|
||||||
ForumsComposeDlg.parentPost TAB
|
ForumsComposeDlg.parentPost TAB
|
||||||
$ForumsSubject TAB
|
$ForumsSubject TAB
|
||||||
ForumsBodyText.getValue();
|
ForumsBodyText.getValue();
|
||||||
|
error("RT:" TAB ForumsComposeDlg.forum TAB ForumsComposeDlg.topic TAB ForumsComposeDlg.parentPost);
|
||||||
}
|
}
|
||||||
else if(ForumsComposeDlg.action $="News")
|
else if(ForumsComposeDlg.action $="News")
|
||||||
{
|
{
|
||||||
|
|
@ -397,6 +400,7 @@ function ForumsPost()
|
||||||
ForumsComposeDlg.parentPost TAB
|
ForumsComposeDlg.parentPost TAB
|
||||||
$ForumsSubject TAB
|
$ForumsSubject TAB
|
||||||
ForumsBodyText.getValue();
|
ForumsBodyText.getValue();
|
||||||
|
// error("RT:" TAB ForumsComposeDlg.forum TAB ForumsComposeDlg.topic TAB ForumsComposeDlg.parentPost);
|
||||||
}
|
}
|
||||||
else if(ForumsComposeDlg.action $="Edit")
|
else if(ForumsComposeDlg.action $="Edit")
|
||||||
{
|
{
|
||||||
|
|
@ -502,7 +506,7 @@ function GetTopicsList()
|
||||||
canvas.SetCursor(ArrowWaitCursor);
|
canvas.SetCursor(ArrowWaitCursor);
|
||||||
ForumsTopicsList.clearList();
|
ForumsTopicsList.clearList();
|
||||||
// error("DQA:" @ 8 TAB ForumsComposeDlg.forum);
|
// error("DQA:" @ 8 TAB ForumsComposeDlg.forum);
|
||||||
DatabaseQueryArray(8,80,ForumsComposeDlg.forum,ForumsGui,ForumsGui.key);
|
DatabaseQueryArray(8,80,ForumsComposeDlg.forum,ForumsGui,ForumsGui.key,true);
|
||||||
ForumsTopicsList.refreshFlag = 0;
|
ForumsTopicsList.refreshFlag = 0;
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
@ -528,7 +532,7 @@ function GetTopicPosts()
|
||||||
ForumsMessageList.clear();
|
ForumsMessageList.clear();
|
||||||
}
|
}
|
||||||
// error("DQA:" @ 8 TAB ForumsComposeDlg.topic);
|
// error("DQA:" @ 8 TAB ForumsComposeDlg.topic);
|
||||||
DatabaseQueryArray(9,0,ForumsComposeDlg.Topic TAB ForumsMessageList.lastID,ForumsGui,ForumsGui.key);
|
DatabaseQueryArray(9,0,ForumsComposeDlg.Topic TAB ForumsMessageList.lastID,ForumsGui,ForumsGui.key,true);
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//-- ForumsGui ---------------------------------------------------------------
|
//-- ForumsGui ---------------------------------------------------------------
|
||||||
|
|
@ -715,7 +719,7 @@ function ForumsGui::onDatabaseRow(%this,%row,%isLastRow,%key)
|
||||||
{
|
{
|
||||||
if(%this.key != %key)
|
if(%this.key != %key)
|
||||||
return;
|
return;
|
||||||
// echo("RECV: " @ %row);
|
echo("RECV: " @ %row);
|
||||||
%forumTID = getField(ForumsList.getRowTextbyId(ForumsList.getSelectedID()),2);
|
%forumTID = getField(ForumsList.getRowTextbyId(ForumsList.getSelectedID()),2);
|
||||||
switch$(%this.state)
|
switch$(%this.state)
|
||||||
{
|
{
|
||||||
|
|
@ -747,8 +751,8 @@ function ForumsGui::onDatabaseRow(%this,%row,%isLastRow,%key)
|
||||||
%hasDeletes = getField(%row,12);
|
%hasDeletes = getField(%row,12);
|
||||||
%slevel = getField(%row,13);
|
%slevel = getField(%row,13);
|
||||||
%maxUpdateId = getField(%row,14);
|
%maxUpdateId = getField(%row,14);
|
||||||
ForumsTopicsList.addRow( %id, %topic TAB %postCount TAB %name TAB %date TAB %hasDeletes);
|
|
||||||
ForumsTopicsList.addTopic( %id, %topic, %date, %maxUpdateID, %slevel, %row);
|
ForumsTopicsList.addTopic( %id, %topic, %date, %maxUpdateID, %slevel, %row);
|
||||||
|
ForumsTopicsList.addRow( %id, %topic TAB %postCount TAB %name TAB %date TAB %hasDeletes);
|
||||||
if ( %isLastRow ) //is last line
|
if ( %isLastRow ) //is last line
|
||||||
{
|
{
|
||||||
%this.state = "done";
|
%this.state = "done";
|
||||||
|
|
@ -762,6 +766,8 @@ function ForumsGui::onDatabaseRow(%this,%row,%isLastRow,%key)
|
||||||
}
|
}
|
||||||
else if( ForumsMessageVector.tid !$= "" )
|
else if( ForumsMessageVector.tid !$= "" )
|
||||||
ForumsTopicsList.setSelectedbyId(ForumsMessageVector.tid);
|
ForumsTopicsList.setSelectedbyId(ForumsMessageVector.tid);
|
||||||
|
else
|
||||||
|
ForumsTopicsList.setSelectedRow(0);
|
||||||
}
|
}
|
||||||
case "PostList":
|
case "PostList":
|
||||||
%isAuthor = getField(%row,0);
|
%isAuthor = getField(%row,0);
|
||||||
|
|
@ -770,6 +776,7 @@ function ForumsGui::onDatabaseRow(%this,%row,%isLastRow,%key)
|
||||||
%high = getField(%row,4);
|
%high = getField(%row,4);
|
||||||
%poster = getFields(%row,5,8);
|
%poster = getFields(%row,5,8);
|
||||||
%date = getField(%row,10);
|
%date = getField(%row,10);
|
||||||
|
%isDeleted = getField(%row,12);
|
||||||
%topic = getField(%row,13);
|
%topic = getField(%row,13);
|
||||||
%body = getFields(%row,14);
|
%body = getFields(%row,14);
|
||||||
if ( %high > ForumsMessageList.highestUpdate )
|
if ( %high > ForumsMessageList.highestUpdate )
|
||||||
|
|
@ -793,7 +800,9 @@ function ForumsGui::onDatabaseRow(%this,%row,%isLastRow,%key)
|
||||||
if(ForumsMessageList.allRead && DateStrCompare(ForumsMessageList.lastDate,%date))
|
if(ForumsMessageList.allRead && DateStrCompare(ForumsMessageList.lastDate,%date))
|
||||||
%text = setRecord( %text, 0, "1" );
|
%text = setRecord( %text, 0, "1" );
|
||||||
|
|
||||||
ForumsMessageVector.pushBackLine(%text, %postId);
|
if(!%isDeleted)
|
||||||
|
ForumsMessageVector.pushBackLine(%text, %postId);
|
||||||
|
|
||||||
if(%isLastRow)
|
if(%isLastRow)
|
||||||
{
|
{
|
||||||
ForumsMessageVector.tid = ForumsTopicsList.getSelectedID();
|
ForumsMessageVector.tid = ForumsTopicsList.getSelectedID();
|
||||||
|
|
@ -1381,4 +1390,4 @@ function ForumsMessagelist::onDatabaseQueryResult(%this,%status,%resultString,%k
|
||||||
MessageBoxOK("ERROR",getFields(%status,1));
|
MessageBoxOK("ERROR",getFields(%status,1));
|
||||||
}
|
}
|
||||||
canvas.SetCursor(DefaultCursor);
|
canvas.SetCursor(DefaultCursor);
|
||||||
}
|
}
|
||||||
|
|
@ -4,22 +4,27 @@ addWebLink( "5 Assed Monkey", "www.5assedmonkey.com" );
|
||||||
addWebLink( "BarrysWorld", "www.barrysworld.com" );
|
addWebLink( "BarrysWorld", "www.barrysworld.com" );
|
||||||
addWebLink( "Clan Happytyme", "www.happytyme.com" );
|
addWebLink( "Clan Happytyme", "www.happytyme.com" );
|
||||||
addWebLink( "ClanBase", "www.clanbase.com" );
|
addWebLink( "ClanBase", "www.clanbase.com" );
|
||||||
|
addWebLink( "ClanServ", "www.clanserv.com" );
|
||||||
addWebLink( "Dopplegangers", "www.dopplegangers.com" );
|
addWebLink( "Dopplegangers", "www.dopplegangers.com" );
|
||||||
addWebLink( "Dutchbat Homeworld", "www.dutchbat-homeworld.com" );
|
addWebLink( "Dutchbat Homeworld", "www.dutchbat-homeworld.com" );
|
||||||
addWebLink( "Euro Tribesplayers", "www.euro-tribesplayers.com" );
|
addWebLink( "Euro Tribesplayers", "www.euro-tribesplayers.com" );
|
||||||
addWebLink( "eXtreme-Players", "www.eXtreme-players.de" );
|
addWebLink( "eXtreme-Players", "www.eXtreme-players.de" );
|
||||||
|
addWebLink( "IanStorm", "www.ianstorm.com" );
|
||||||
addWebLink( "Long Dongles", "www.longdongles.com" );
|
addWebLink( "Long Dongles", "www.longdongles.com" );
|
||||||
addWebLink( "MaxBaud.Net", "www.maxbaud.net" );
|
addWebLink( "MaxBaud.Net", "www.maxbaud.net" );
|
||||||
|
addWebLink( "MoreGaming", "www.moregaming.com" );
|
||||||
addWebLink( "NetGames UK", "www.nguk.net" );
|
addWebLink( "NetGames UK", "www.nguk.net" );
|
||||||
addWebLink( "PlanetTribes", "www.planettribes.com" );
|
addWebLink( "PlanetTribes", "www.planettribes.com" );
|
||||||
addWebLink( "Rogue Disciples", "www.roguedisciples.com" );
|
addWebLink( "Rogue Disciples", "www.roguedisciples.com" );
|
||||||
addWebLink( "StrikeForce", "www.strikeforcecenter.com" );
|
addWebLink( "StrikeForce", "www.strikeforcecenter.com" );
|
||||||
addWebLink( "TeamSound", "www.teamsound.com" );
|
addWebLink( "TeamSound", "www.teamsound.com" );
|
||||||
addWebLink( "Telepresence Heavy Assault Team", "www.that.co.nz" );
|
addWebLink( "Telepresence Heavy Assault Team", "www.that.co.nz" );
|
||||||
addWebLink( "TribalWar", "www.tribalwar.com" );
|
addWebLink( "Tribes2 Database", "www.tribes2database.com" );
|
||||||
addWebLink( "TribesMaps", "www.tribesmaps.com" );
|
addWebLink( "TribesMaps", "www.tribesmaps.com" );
|
||||||
|
addWebLink( "TribalWar", "www.tribalwar.com" );
|
||||||
addWebLink( "Tribes-Universe", "www.tribes-universe.com" );
|
addWebLink( "Tribes-Universe", "www.tribes-universe.com" );
|
||||||
addWebLink( "WirePlay", "www.wireplay.com.au" );
|
addWebLink( "WirePlay", "www.wireplay.com.au" );
|
||||||
addWebLink( "IanStorm", "www.ianstorm.com" );
|
addWebLink( "ClanServ", "www.clanserv.com" );
|
||||||
addWebLink( "Tribes2 Database", "www.tribes2database.com" );
|
//addWebLink( "Z Free", "games13.clear.net.nz" );
|
||||||
//addWebLink( "Z Free", "games13.clear.net.nz" );
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,16 @@ function NewsGui::rebuildText(%this)
|
||||||
for(%i = 0; %i < %this.articleCount; %i++)
|
for(%i = 0; %i < %this.articleCount; %i++)
|
||||||
{
|
{
|
||||||
%article = %this.article[%i];
|
%article = %this.article[%i];
|
||||||
if(getField(%article,0)==1 || %this.acl > 2)
|
|
||||||
%editable = 1;
|
%ai = wonGetAuthInfo();
|
||||||
else
|
%isMem = 0;
|
||||||
%editable = 0;
|
for(%east=0;%east<getField(getRecord(%ai,1),0);%east++)
|
||||||
|
{
|
||||||
|
%tpv = GetRecord(%ai,2+%east);
|
||||||
|
if(getField(%tpv,3)==1401 || getField(%tpv,3)==1402)
|
||||||
|
%isMem = 1;
|
||||||
|
}
|
||||||
|
%editable = %isMem;
|
||||||
|
|
||||||
%topicid = getField(%article,1);
|
%topicid = getField(%article,1);
|
||||||
%articleid = getField(%article, 2);
|
%articleid = getField(%article, 2);
|
||||||
|
|
@ -333,9 +339,17 @@ function NewsMOTDText::onDatabaseQueryResult(%this, %status, %RowCount_Result, %
|
||||||
if(%key != %this.key)
|
if(%key != %this.key)
|
||||||
return;
|
return;
|
||||||
// echo("RECV: " @ %status);
|
// echo("RECV: " @ %status);
|
||||||
|
%ai = wonGetAuthInfo();
|
||||||
|
%isMem = 0;
|
||||||
if(getField(%status,0)==0)
|
if(getField(%status,0)==0)
|
||||||
{
|
{
|
||||||
NewsEditMOTDBtn.setVisible( getField(%status,2));
|
for(%east=0;%east<getField(getRecord(%ai,1),0);%east++)
|
||||||
|
{
|
||||||
|
%tpv = GetRecord(%ai,2+%east);
|
||||||
|
if(getField(%tpv,3)==1401 || getField(%tpv,3)==1402)
|
||||||
|
%isMem = 1;
|
||||||
|
}
|
||||||
|
NewsEditMOTDBtn.setVisible(%isMem);
|
||||||
%this.setText( %RowCount_Result );
|
%this.setText( %RowCount_Result );
|
||||||
}
|
}
|
||||||
else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061")
|
else if (getSubStr(getField(%status,1),0,9) $= "ORA-04061")
|
||||||
|
|
@ -348,6 +362,7 @@ function NewsMOTDText::onDatabaseQueryResult(%this, %status, %RowCount_Result, %
|
||||||
%this.state = "halt";
|
%this.state = "halt";
|
||||||
MessageBoxOK("NOTICE",getField(%status,1));
|
MessageBoxOK("NOTICE",getField(%status,1));
|
||||||
}
|
}
|
||||||
|
canvas.repaint();
|
||||||
Canvas.setCursor(defaultCursor);
|
Canvas.setCursor(defaultCursor);
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
@ -383,9 +398,18 @@ function NewsEditMotdDlg::OnDatabaseQueryResult(%this, %status, %RowCount_Result
|
||||||
switch$(%this.state)
|
switch$(%this.state)
|
||||||
{
|
{
|
||||||
case "proceed":
|
case "proceed":
|
||||||
NewsEditMOTDBtn.setVisible( getField(%status,2));
|
%ai = wonGetAuthInfo();
|
||||||
|
%isMem = 0;
|
||||||
|
for(%east=0;%east<getField(getRecord(%ai,1),0);%east++)
|
||||||
|
{
|
||||||
|
%tpv = GetRecord(%ai,2+%east);
|
||||||
|
if(getField(%tpv,3)==1401 || getField(%tpv,3)==1402)
|
||||||
|
%isMem = 1;
|
||||||
|
}
|
||||||
|
NewsEditMOTDBtn.setVisible(%isMem);
|
||||||
MessageBoxOK("NOTICE",getField(%status,1));
|
MessageBoxOK("NOTICE",getField(%status,1));
|
||||||
NewsMOTDText.setText( NewsEditMOTDText.getText() );
|
NewsMOTDText.setText( NewsEditMOTDText.getText() );
|
||||||
|
canvas.repaint();
|
||||||
Canvas.PopDialog(NewsEditMOTDDlg);
|
Canvas.PopDialog(NewsEditMOTDDlg);
|
||||||
case "error":
|
case "error":
|
||||||
MessageBoxOK("NOTICE",getField(%status,1));
|
MessageBoxOK("NOTICE",getField(%status,1));
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ function HandleDatabaseProxyResponse(%prefix, %params)
|
||||||
{
|
{
|
||||||
// erase the query from the array:
|
// erase the query from the array:
|
||||||
if(getWord($DBQueries[%qc], 1) == 0)
|
if(getWord($DBQueries[%qc], 1) == 0)
|
||||||
warnf("Error in database query response - not enough data.");
|
warn("Error in database query response - not enough data.");
|
||||||
for(%i = %qc; %i < $DBQueryCount; %i++)
|
for(%i = %qc; %i < $DBQueryCount; %i++)
|
||||||
{
|
{
|
||||||
$DBQueries[%i] = $DBQueries[%i+1];
|
$DBQueries[%i] = $DBQueries[%i+1];
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
buildVersion.setValue( "APR 9, 2001, 5:34 PM (dmoore)" );
|
buildVersion.setValue( "APR 15, 2001, 10:42 AM (dmoore)" );
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,8 @@ for($i = 1; $i < $Game::argc ; $i++)
|
||||||
else if ($arg $= "-nologin")
|
else if ($arg $= "-nologin")
|
||||||
{
|
{
|
||||||
$SkipLogin = true;
|
$SkipLogin = true;
|
||||||
$LaunchMode = "Offline";
|
if ($LaunchMode !$= "DedicatedServer")
|
||||||
|
$LaunchMode = "Offline";
|
||||||
}
|
}
|
||||||
else if ( $arg $= "-online" )
|
else if ( $arg $= "-online" )
|
||||||
$fromLauncher = true;
|
$fromLauncher = true;
|
||||||
|
|
@ -289,8 +290,7 @@ for($i = 1; $i < $Game::argc ; $i++)
|
||||||
|
|
||||||
if($arg $= "--nosound" || $arg $= "-s")
|
if($arg $= "--nosound" || $arg $= "-s")
|
||||||
{
|
{
|
||||||
// This is a Linux null audio device specifier
|
$noloadAudio = 1;
|
||||||
$pref::OpenAL::driver = "'( ( devices '( null )))";
|
|
||||||
}
|
}
|
||||||
else if($arg $= "--fullscreen" || $arg $= "-f")
|
else if($arg $= "--fullscreen" || $arg $= "-f")
|
||||||
{
|
{
|
||||||
|
|
@ -491,6 +491,7 @@ function StartupGui::checkLoginDone( %this, %editAcct,%emailCheck )
|
||||||
%code = getField( %result, 1 );
|
%code = getField( %result, 1 );
|
||||||
%codeText = getField(%result, 2);
|
%codeText = getField(%result, 2);
|
||||||
%status = getField( %result, 0 );
|
%status = getField( %result, 0 );
|
||||||
|
%errorString = getField( %result, 3);
|
||||||
|
|
||||||
if ( %status $= "Waiting" )
|
if ( %status $= "Waiting" )
|
||||||
{
|
{
|
||||||
|
|
@ -544,6 +545,10 @@ function StartupGui::checkLoginDone( %this, %editAcct,%emailCheck )
|
||||||
else
|
else
|
||||||
%msg = "Account Creation Failed - That warrior name is already in use. Please choose another warrior name and try again. Code = " @ %code;
|
%msg = "Account Creation Failed - That warrior name is already in use. Please choose another warrior name and try again. Code = " @ %code;
|
||||||
}
|
}
|
||||||
|
else if(%errorString !$= "")
|
||||||
|
{
|
||||||
|
%msg = "Error - " @ %errorString;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
%msg = "Login Failed - Your internet connection may be having problems or the servers may be temporarily unavailable. (Error code: " @ %codeText @ ")";
|
%msg = "Login Failed - Your internet connection may be having problems or the servers may be temporarily unavailable. (Error code: " @ %codeText @ ")";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue