mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-03-24 22:59:20 +00:00
Initial Commit
This commit is contained in:
commit
bd51490b14
316 changed files with 150033 additions and 0 deletions
117
scripts/solitudeBlock.cs
Normal file
117
scripts/solitudeBlock.cs
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
function stopBlock(%client,%size,%type) {
|
||||
%plyr = %client.player;
|
||||
%pos = pos(%plyr);
|
||||
%maxRange = 500;
|
||||
|
||||
%className = "ForceFieldBare";
|
||||
|
||||
if (!%type)
|
||||
%type = 8;
|
||||
if (!%size)
|
||||
%size = 500;
|
||||
|
||||
%planeSize = %size * 2;
|
||||
|
||||
%pieces = mCeil(%planeSize / %maxRange);
|
||||
%pieceSize = %planeSize / %pieces ;
|
||||
|
||||
%point1 = vectorAdd(%pos, %size SPC %size SPC %size);
|
||||
%point2 = vectorAdd(%pos, vectorScale(%size SPC %size SPC %size,-1));
|
||||
// echo(%pos);
|
||||
// echo(%point1);
|
||||
// echo(%point2);
|
||||
|
||||
for (%x =0; %x < %pieces;%x++) {
|
||||
for (%y =0; %y < %pieces; %y++) {
|
||||
%topWall = new (%className)() {
|
||||
dataBlock = DeployedForceField @ %type;
|
||||
scale = %pieceSize SPC %pieceSize SPC 0.5;
|
||||
};
|
||||
%bottomWall = new (%className)() {
|
||||
dataBlock = DeployedForceField @ %type;
|
||||
scale = %pieceSize SPC %pieceSize SPC 0.5;
|
||||
};
|
||||
%eastWall = new (%className)() {
|
||||
dataBlock = DeployedForceField @ %type;
|
||||
scale = %pieceSize SPC 0.5 SPC %pieceSize;
|
||||
};
|
||||
%westWall = new (%className)() {
|
||||
dataBlock = DeployedForceField @ %type;
|
||||
scale = %pieceSize SPC 0.5 SPC %pieceSize;
|
||||
};
|
||||
%northWall = new (%className)() {
|
||||
dataBlock = DeployedForceField @ %type;
|
||||
scale = 0.5 SPC %pieceSize SPC %pieceSize;
|
||||
};
|
||||
%southWall = new (%className)() {
|
||||
dataBlock = DeployedForceField @ %type;
|
||||
scale = 0.5 SPC %pieceSize SPC %pieceSize;
|
||||
};
|
||||
%topWall.setTransform(vectorAdd(%point1,-1 * %x * %pieceSize SPC -1 * %y * %pieceSize SPC "0") SPC "0 0 1 3.14");
|
||||
%eastWall.setTransform(vectorAdd(%point1,-1 * %x * %pieceSize SPC "0" SPC -1 * %y * %pieceSize) SPC "0 1 0 3.14");
|
||||
%northWall.setTransform(vectorAdd(%point1,"0" SPC -1 * %x * %pieceSize SPC -1 * %y * %pieceSize) SPC "1 0 0 3.14");
|
||||
%bottomWall.setTransform(vectorAdd(%point2,%x * %pieceSize SPC %y * %pieceSize SPC "0") SPC "0 0 1 0");
|
||||
%westWall.setTransform(vectorAdd(%point2,%x * %pieceSize SPC "0" SPC %y * %pieceSize) SPC "0 1 0 0");
|
||||
%southWall.setTransform(vectorAdd(%point2,"0" SPC %x * %pieceSize SPC %y * %pieceSize) SPC "1 0 0 0");
|
||||
|
||||
%topWall.team = %plyr.client.team;
|
||||
%topWall.setOwner(%plyr);
|
||||
%topWall.pzone.delete();
|
||||
%topWall.addToBlockGroup();
|
||||
$TeamDeployedCount[%plyr.team,ForceFieldDeployable]++;
|
||||
|
||||
%eastWall.team = %plyr.client.team;
|
||||
%eastWall.setOwner(%plyr);
|
||||
%eastWall.pzone.delete();
|
||||
%eastWall.addToBlockGroup();
|
||||
$TeamDeployedCount[%plyr.team,ForceFieldDeployable]++;
|
||||
|
||||
%northWall.team = %plyr.client.team;
|
||||
%northWall.setOwner(%plyr);
|
||||
%northWall.pzone.delete();
|
||||
%northWall.addToBlockGroup();
|
||||
$TeamDeployedCount[%plyr.team,ForceFieldDeployable]++;
|
||||
|
||||
%bottomWall.team = %plyr.client.team;
|
||||
%bottomWall.setOwner(%plyr);
|
||||
%bottomWall.pzone.delete();
|
||||
%bottomWall.addToBlockGroup();
|
||||
$TeamDeployedCount[%plyr.team,ForceFieldDeployable]++;
|
||||
|
||||
%westWall.team = %plyr.client.team;
|
||||
%westWall.setOwner(%plyr);
|
||||
%westWall.pzone.delete();
|
||||
%westWall.addToBlockGroup();
|
||||
$TeamDeployedCount[%plyr.team,ForceFieldDeployable]++;
|
||||
|
||||
%southWall.team = %plyr.client.team;
|
||||
%southWall.setOwner(%plyr);
|
||||
%southWall.pzone.delete();
|
||||
%southWall.addToBlockGroup();
|
||||
$TeamDeployedCount[%plyr.team,ForceFieldDeployable]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ForceFieldBare::addToBlockGroup(%obj) {
|
||||
%group = nameToID("MissionCleanup/BlockGroup");
|
||||
if (%group <= 0) {
|
||||
%group = new SimGroup("BlockGroup");
|
||||
MissionCleanup.add(%group);
|
||||
}
|
||||
%group.add(%obj);
|
||||
}
|
||||
|
||||
function removeBlock() {
|
||||
%group = nameToID("MissionCleanup/BlockGroup");
|
||||
if (!(%group <= 0)) {
|
||||
%count = %group.getCount();
|
||||
for(%i=0;%i<%count;%i++) {
|
||||
%obj = %group.getObject(%i);
|
||||
if (%obj) {
|
||||
$TeamDeployedCount[%obj.team,ForceFieldDeployable]--;
|
||||
}
|
||||
}
|
||||
%group.delete();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue