mirror of
https://github.com/PhantomGamesDevelopment/TWM2.git
synced 2026-06-18 11:24:04 +00:00
Initial Commit
This commit is contained in:
commit
bd51490b14
316 changed files with 150033 additions and 0 deletions
22
.gitattributes
vendored
Normal file
22
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
# Custom for Visual Studio
|
||||
*.cs diff=csharp
|
||||
*.sln merge=union
|
||||
*.csproj merge=union
|
||||
*.vbproj merge=union
|
||||
*.fsproj merge=union
|
||||
*.dbproj merge=union
|
||||
|
||||
# Standard to msysgit
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
215
.gitignore
vendored
Normal file
215
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,215 @@
|
|||
#################
|
||||
## Eclipse
|
||||
#################
|
||||
|
||||
*.pydevproject
|
||||
.project
|
||||
.metadata
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.classpath
|
||||
.settings/
|
||||
.loadpath
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
|
||||
#################
|
||||
## Visual Studio
|
||||
#################
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
build/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.log
|
||||
*.scc
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
*.ncrunch*
|
||||
.*crunch*.local.xml
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.Publish.xml
|
||||
*.pubxml
|
||||
|
||||
# NuGet Packages Directory
|
||||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
||||
#packages/
|
||||
|
||||
# Windows Azure Build Output
|
||||
csx
|
||||
*.build.csdef
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
|
||||
# Others
|
||||
sql/
|
||||
*.Cache
|
||||
ClientBin/
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.[Pp]ublish.xml
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
App_Data/*.mdf
|
||||
App_Data/*.ldf
|
||||
|
||||
#############
|
||||
## Windows detritus
|
||||
#############
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Mac crap
|
||||
.DS_Store
|
||||
|
||||
|
||||
#############
|
||||
## Python
|
||||
#############
|
||||
|
||||
*.py[co]
|
||||
|
||||
# Packages
|
||||
*.egg
|
||||
*.egg-info
|
||||
dist/
|
||||
build/
|
||||
eggs/
|
||||
parts/
|
||||
var/
|
||||
sdist/
|
||||
develop-eggs/
|
||||
.installed.cfg
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
.coverage
|
||||
.tox
|
||||
|
||||
#Translations
|
||||
*.mo
|
||||
|
||||
#Mr Developer
|
||||
.mr.developer.cfg
|
||||
7
ConstructionPreferences.cs
Normal file
7
ConstructionPreferences.cs
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
//Construction 0.70 Server Configuration File
|
||||
|
||||
//Logging:
|
||||
$Construction::Logging::EchoChat = 1;
|
||||
$Construction::Logging::LogConnects = 1; //disconnects too
|
||||
$Construction::Logging::LogChat = 1;
|
||||
|
||||
56
Credits.txt
Normal file
56
Credits.txt
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
Don't forget to add yourself to this list.. :D
|
||||
|
||||
**JackTL**
|
||||
For:
|
||||
Maintaining mod from v50a.
|
||||
|
||||
**Construct**
|
||||
For:
|
||||
providing main idea.
|
||||
still providing great ideas to keep the mod going.
|
||||
Testing and tweacking.
|
||||
lot's of additions and coding help.
|
||||
The neat installer.
|
||||
|
||||
**Tutorial makers**
|
||||
For:
|
||||
Making tutorials.. duh..
|
||||
|
||||
**Lucid**
|
||||
For:
|
||||
Helping me with the code.
|
||||
providing me with a great decontruct gun.
|
||||
the neat looking loadscreen.
|
||||
For being willing to help me with lots of stuff
|
||||
|
||||
**Badshot**
|
||||
For:
|
||||
Taking the time to help me with some nasty bugs.
|
||||
Knowing alot for tribes2 stuff.. and being willing to share it.
|
||||
Helping all those other modders.
|
||||
|
||||
**DynaBlade**
|
||||
For:
|
||||
His Awesome function librarys
|
||||
|
||||
**T2CC**
|
||||
For:
|
||||
Their great forum and putting all that coding power at your very fingertips.
|
||||
|
||||
**Child_Killer**
|
||||
For:
|
||||
Providing code that was posted before my time and being a great help so far.
|
||||
|
||||
**All those who I fogot to mention sofar**
|
||||
For:
|
||||
Whatever they did to help this mod.
|
||||
|
||||
**All those who wanted to help but couldn't**
|
||||
Remember, it's the thought that counts ;)
|
||||
|
||||
|
||||
**By**
|
||||
Mostlikely,
|
||||
|
||||
I don't need any credit for this mod, it was created for the people who want to play it (which includes me)
|
||||
Feel free to use any stuff from this mod or ask me about it if you can't extract it somehow.
|
||||
14
Launch TWM2 Dedicated Server.bat
Normal file
14
Launch TWM2 Dedicated Server.bat
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
@echo off
|
||||
|
||||
echo Removing DSO files...
|
||||
echo;
|
||||
|
||||
cd ..
|
||||
del /s /q *.dso
|
||||
cls
|
||||
|
||||
cd /d %~dp0
|
||||
cd ../
|
||||
start Tribes2.exe -online -dedicated -mod TWM2
|
||||
cls
|
||||
exit
|
||||
14
Launch TWM2 Online.bat
Normal file
14
Launch TWM2 Online.bat
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
@echo off
|
||||
|
||||
echo Removing DSO files...
|
||||
echo;
|
||||
|
||||
cd ..
|
||||
del /s /q *.dso
|
||||
cls
|
||||
|
||||
cd /d %~dp0
|
||||
cd ../
|
||||
start Tribes2.exe -online -nopure -mod TWM2
|
||||
cls
|
||||
exit
|
||||
22
MergeToolTemp.txt
Normal file
22
MergeToolTemp.txt
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
//--- OBJECT WRITE BEGIN ---
|
||||
new StaticShape() {
|
||||
position = "-255.386 25.9074 130.262";
|
||||
rotation = "0.578703 -0.576669 0.576676 119.883";
|
||||
scale = "1.05982 0.166667 157.998";
|
||||
dataBlock = "DeployedSpine";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
depTime = "5512069";
|
||||
grounded = "0";
|
||||
lastState = "0";
|
||||
needsFit = "1";
|
||||
Ownerguid = "2744981";
|
||||
powerFreq = "8";
|
||||
team = "1";
|
||||
Target = "-1";
|
||||
owner = "3818";
|
||||
powerCount = "0";
|
||||
dObj = "6820";
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
497
README.md
Normal file
497
README.md
Normal file
|
|
@ -0,0 +1,497 @@
|
|||
Total Warfare Mod 2
|
||||
====
|
||||
|
||||
Total Warfare Mod 2 for Tribes 2, Conversion mod built on a base mix of Construction .69a and CCM. Tribes 2 is a pre 1.0 game of the Torque Game Engine.
|
||||
|
||||
Web Sites/Pages:
|
||||
* https://github.com/Phantom139/TWM2/ : Official Git Repostitory
|
||||
* http://www.phantomdev.net - http://www.tacticaluprising.phantomdev.net - OFFICIAL SITES
|
||||
* http://www.moddb.com/mods/total-warfare-mod-2-advanced-warfare
|
||||
* http://www.moddb.com/groups/twm-development-team
|
||||
|
||||
Current Version: 3.9 (alpha)
|
||||
|
||||
Credits:
|
||||
* Phantom139 (Lead Coder / Mod Developer, Official Host)
|
||||
* DarknessOfLight (Lead Map Maker / Mod Tester (CoDev))
|
||||
* Dark Dragon DX (Asset Functions / CoDev)
|
||||
* Signal360 (Many functions and improvements/ CoDev)
|
||||
* Dondelium_X (Various CCM Functions)
|
||||
* Castiger (Official Secondary Host, Bug Finding, Mod Tester)
|
||||
* Mostlikely, Construct, JackTL (Construction .70a Developers)
|
||||
|
||||
Thanks:
|
||||
* Thyth (Tribes Next, Merge Tool)
|
||||
* Linker (Doors, Spawnpoints)
|
||||
* My Loyal Hosts (For standing behind me and the mod for the entirety of it's length)
|
||||
* Various Others (Who have contributed to Cons Mod, TWM, and TWM 2, You have my thanks)
|
||||
* You (For Downloading, and Contributing.)
|
||||
|
||||
Install:
|
||||
* Unzip the TWM2 Folder to C:/Dynamix/Tribes2/Gamedata/ (change the links if in a different location)
|
||||
* Create a link with the target mod -mod TWM2
|
||||
* Rename serverControl_R.cs to serverControl.cs
|
||||
* Run.
|
||||
* ???
|
||||
* Profit.
|
||||
|
||||
Uninstall: Delete the TWM2 Folder
|
||||
|
||||
Server Setup:
|
||||
|
||||
Provided in this folder is a file named ServerControl.cs. Inside you will find many configurable
|
||||
objects to modify server settings. For starters, set the host GUID to your GUID. To Do so,
|
||||
start up the dedicated server. Join it, once in game, type ListGUIDS(); in the server console
|
||||
to obtain your GUID. Then modify the line: $TWM2::HostGUID = "SetMeUp";, to match your GUID.
|
||||
|
||||
MOD DEVELOPMENT LOG:
|
||||
3.8 -> 3.9:
|
||||
* Community Led Version (Add Changes From GitHub here: https://github.com/Phantom139/TWM2/)
|
||||
|
||||
3.7 -> 3.8:
|
||||
* Addressed a problem in the TCPQueryList that would cause some transfers to deadlock and never complete
|
||||
* Did some prep work for some special zombie related missions.
|
||||
* Did some serious balancing work on Mr. Trolololol Shade Lord
|
||||
* Fixed some UE Problems related to Lord Vardison, General Vegenor, and Lord Insignia
|
||||
* Gave Vardison (and his DA counterpart) a brand new evil hyper laser attack
|
||||
* Gave The Final Vardison Form a missile spam attack
|
||||
* Balanced out pretty much all of the weapons to a point that now seems reasonable
|
||||
* Added extremely challenging Bronze, Silver, Gold, and Titan commendation challenges to every weapon that
|
||||
grant loads of EXP. These will be for your players who are loyal to certain guns. :)
|
||||
* Upgraded the Horde Spawning System to cause some less UE problems and added error checks to pretty much
|
||||
prevent Horde from causing UEs anymore.
|
||||
* Added a few new Hellclasses to Helljump
|
||||
* Removed the old Hellclasses that used the gravity weapons removed in V2.5
|
||||
* Pretty much wrapped everything else up, official mod support at this point is dropped...
|
||||
|
||||
3.6 -> 3.7:
|
||||
* Added a Phase One Vardison Boss - Dark Archmage Vardison
|
||||
* We've hit the function limit, so I revitalized the chat command system and recovered ~500 functions
|
||||
* Updated a lot of old code from the mod
|
||||
* Addressed the bug in the PGD Connect system that would only allow one player to use the system at a
|
||||
time
|
||||
* At the request of players, I have added a damage to boss system that will give your boss xp award based
|
||||
on the amount of damage done to a boss
|
||||
- SCG Kills count as 0 exp to the admin using it
|
||||
* Upgraded the Zombie AI a little bit to use less functions and overall be more balanced
|
||||
* Zombie Lords now drop the Acid Cannon
|
||||
* Added three new missions to the mission system, these are much harder than their previous counterparts
|
||||
* Added mission completion medals to the game
|
||||
* Updated the online rank transmit system - IE: Top 15 list.
|
||||
* Lots of undocumented changes
|
||||
|
||||
3.5 -> 3.6:
|
||||
* Completed the remaining perks in the mod
|
||||
* Added the Napalm Airstrike killstreak
|
||||
* Fixed a few bugs in some of the old killstreaks
|
||||
* Fixed a part of the camera-lock problem in the turret streaks, unfortunately the way tribes 2 is coded
|
||||
I don't think the entire bug will ever be fixable.
|
||||
* Added weekly and monthy challenges to the challenge system
|
||||
* Added some new Hellclass options to Helljump
|
||||
* Added some new zombie options to TWM2 Infection
|
||||
* Added a new endgame boss, The Shade Lord
|
||||
- This is a really challenging two phase boss with 80000 HP and one hit kill attacks, it will take
|
||||
A lot of players to bring him down
|
||||
|
||||
3.4 -> 3.5:
|
||||
* Upgraded the rank storage container to be in a single container rather than 3.
|
||||
- The system will auto-convert old files to the new format
|
||||
* Addressed a bug in the Daily Challenge System that would cause challenges to continue beyond expiration
|
||||
* Balanced some weapons
|
||||
* Addressed an exploitable method for implementing unfriendly code by means of the saving system
|
||||
- Thanks to Thyth for pointing this out.
|
||||
|
||||
3.3 -> 3.4:
|
||||
* Daily Challenge System Implemented
|
||||
* Reworked the entire rank system
|
||||
- Handled by a quicker and more efficient file system
|
||||
- PGD Connect updated to support new version
|
||||
* Implemented Phantom Games Interaction System
|
||||
- Daily EXP Caps
|
||||
- Rank / Officer Level Caps
|
||||
- Other Services (News Panel, ect)
|
||||
|
||||
3.2 -> 3.3 (or 3.2 Revised):
|
||||
* Updated all PGD Services to point to the new domain.
|
||||
|
||||
3.1 -> 3.2:
|
||||
* Undoccumented
|
||||
|
||||
3.0 -> 3.1:
|
||||
* Added the Sandstorm MRLS Tank
|
||||
* A Few fixes addressed
|
||||
|
||||
2.9 -> 3.0:
|
||||
* Modified the PGD Connect Algorith to be a little less required, less conflicts should occur.
|
||||
* Re added the TWM1 Nalcidic Armor
|
||||
- Enjoy!
|
||||
* Horde 2 is now Horde 3
|
||||
- Added Scoring
|
||||
- Added The Wave Highlight System
|
||||
- Made it less challenging to get to wave 50.
|
||||
* Added The Martyrdom Perk
|
||||
* Fixed a bug that allowed admins to get killstreaks with /giveGun
|
||||
* Drastically increased the Centaur Artillery Strike Damage
|
||||
|
||||
2.8 -> 2.9:
|
||||
* Fixed a console spam issue with "Commander Stormrider"
|
||||
* Removed 2 un-used medals
|
||||
* Fixed sniper rifles showing in the inventory list when they are disabled
|
||||
* Added 1 reload weapons
|
||||
- Added the Model 1887 Shotgun (Requires Instructive Colonel)
|
||||
- See the new shotgun (Model 1887) or the SA2400 for examples
|
||||
* Ion Progression removed in Sabotage, Domination, and Wartower game modes
|
||||
* Redid the weapon reload bar
|
||||
- It is now math based :P
|
||||
- Weapons with longer than 1 second delays are no longer cut off
|
||||
- The reload bar halts if you use an invo while reloading.
|
||||
-- Weapon Balance Changes (A Large Amount)
|
||||
- Reduced the damage of the Plasma Torpedo Cannon to 1.5 from 2.2
|
||||
- Reduced the Range of the Flamethrower
|
||||
- Reduced the Reload Time of the M1700 Shotgun to 2 seconds from 3 seconds
|
||||
- Reduced the Reload Time of the SCD343 Shotgun to 4 seconds from 5 seconds
|
||||
- Increased the Reload Time of the WP400 Shotgun to 4 seconds from 3 seconds
|
||||
- Reduced the range of the Grapple hook to 50% of what it was
|
||||
- Removed the Centaur Dual Pistols Weapon
|
||||
-- Made it an upgrade of the Colt Pistol (Excessive Duality)
|
||||
- Increased the damage of the R700 Sniper To 0.62 From 0.49
|
||||
- Increased the Damage of the MP26 SMG to 0.17 from 0.1
|
||||
- Increased the Damage of the Pg700 SMG to 0.09 from 0.07
|
||||
- Increased the Damage of the P90 SMG to 0.08 from 0.07
|
||||
- Increased the Damage of the Mini-Chaingun to 0.06 from 0.035, and the Fusion Mini-Chaingun to 0.07 from 0.05
|
||||
- Reduced the Reload Time of the MRXX ZC4 MG to 9 seconds from 12 seconds
|
||||
- Increased the Damage of the M1A4 to 0.09 from 0.07
|
||||
- Increased the Damage of the ALSWP Sniper to 0.5 from 0.3
|
||||
* PGD Updates
|
||||
- Modified the hash of the PGD Authenticator.
|
||||
- Modified some of the PGD Errors.
|
||||
* Horde 2 - You now gain XP for completing a wave, the amount is handled by a special formula
|
||||
|
||||
2.7 -> 2.8:
|
||||
* Player Phrases, use /myPhrase to set it
|
||||
- Working on a parse script to allow them to be set in satellite servers
|
||||
- For now, they will only 'Stay' if set in a core server
|
||||
* Patched a few issues with the universal ranks
|
||||
* Added a few new commands
|
||||
* Modified a few zombie spawn functions to support missions
|
||||
* Missions:
|
||||
- Modified the ordering of missions to provide a short bio of the mission first
|
||||
- Added the "Surrounded" Mission
|
||||
* Modified the server assistant (chat bot)
|
||||
- Allows hosts to change it's name :P
|
||||
- Added a plothera of things to do with it
|
||||
-- Curse Filter
|
||||
-- "Get Weather by Zip Code", "Define Word (In development)", "Get Time"
|
||||
-- Performs Administrative Functions
|
||||
-- And much more!
|
||||
|
||||
2.6 -> 2.7:
|
||||
* Ported in a plothera of TWM1 Commands
|
||||
* Fixed the new chat command system that allowed hosts to disable certain commands
|
||||
- Logic errors caused the system to ignore the PGD Commands.
|
||||
* Added additional missions
|
||||
* Brought back the TWM Infection Game Mode
|
||||
* Added Armor Flags (Unlocked at Prestige Level 5)
|
||||
- These are just like the phantom armor flags of TWM1
|
||||
- Only they apply to all armors.
|
||||
* PGD Updates (The brunt of 2.7)
|
||||
- Fixed additional HTML Errors
|
||||
- Provided By Signal360, the new and enhanced PGD Rank System
|
||||
-- Sha1 security for rank uploads
|
||||
-- Better processing of the rank data
|
||||
-- Core/Satellite determined by a new Username/Password system provided by the servers.
|
||||
-- Lifted all PGD Bans [For now]
|
||||
* Started the framework of a new mission start menu (for Ordering Missions)
|
||||
* Rank Tags (For Roleplay), hosts can use the /RankTags command to toggle rank tags
|
||||
* Renamed the Rank "General Of The Army"[57] to "Commanding General".
|
||||
* Patched an issue with new players Rank Files that would cause them to error out
|
||||
- Players with this issue in their file can join a 2.7 server, and rank up once to fix it.
|
||||
|
||||
2.5 -> 2.6:
|
||||
* Added the MRXX ZC4 Machine Gun
|
||||
* Prep-Work on additional Scenarios
|
||||
* Added an instant notification system for attempted hacks
|
||||
* Modified the anti-tamper system to be a little more sensative (this will not affect your gameplay)
|
||||
* Re-Patched the rapid team crash
|
||||
* Patched Players being able to change to team 0
|
||||
* Modified the system to double check possible EXP super gain hack
|
||||
* Added Banning from PGD Ranks
|
||||
* Fixed a Glitch in the rank downloader with HTML Tags.
|
||||
* Modified functioning with voting.
|
||||
* Added the Mass EMP Killstreak (20 Kills)
|
||||
* Added In-complete Upgrades on certain weapons
|
||||
- Please Note, that some do still remain
|
||||
* Completed the "Team Gain" Perk
|
||||
* Reformatted the Inventory list to go by Weapon Type/Rank
|
||||
* Added a Center Print MOTD Function, check serverControl.cs
|
||||
* Fixed the 'Endless' Bottom print bug for camera killstreaks
|
||||
* Airstrikes are now directional based on the direction of the camera
|
||||
* Air rapier zombies can now be targeted by missile weapons
|
||||
* Added restrictions to the /VoteBoss Command
|
||||
- 1 Boss Vote per hour (even if it fails)
|
||||
- Hosts may disable the usage of the command
|
||||
* BOSS: Lordranius Trebor's Official EXP Reward Cut in Half to 25000.
|
||||
* Devs/Hosts can now disable chat commands
|
||||
* Fixed some of the Spelling errors in the death messages.
|
||||
* Top Ranks are now only downloaded from PGD
|
||||
* Hosts can disable boss vote / change map votes
|
||||
|
||||
2.4 -> 2.5:
|
||||
* Scenarios.
|
||||
* Gravity Weapons Removed
|
||||
* Patched a few UE Causing aspects with Lord Vardison
|
||||
* Added The Shadow Armor
|
||||
* Added The M93 Pistol
|
||||
* Added The ALSWP Sniper Rifle
|
||||
* Added The Crimson Hawk Pistol
|
||||
* Added The Stinger Missile Launcher
|
||||
* Added The Proton(Plasma) Torpedo Cannon
|
||||
* Added The P90 SMG
|
||||
* Added The Satellite Strike Killstreak (8 Kills)
|
||||
* Fixed the Harbinger HQ Map (It's Playable Now)
|
||||
* Added More Non-Weapon Challenges
|
||||
- Prestige Challenge Category Completed
|
||||
- Sabotage Challenge Category Completed
|
||||
- Domination Challenge Category Completed
|
||||
- Horde 2 Challenge Category Completed
|
||||
- From The Top Challenge Category Completed
|
||||
* AC130 and Harbingers Wrath Streaks can now detect incoming missiles, they will fire off flares when missiles are detected.
|
||||
* Added 4 More Prestige Levels, bringing the total to 9.
|
||||
- Removed the Second Prestige Image, replaced 9 with the PGD Logo, all others downgraded 1
|
||||
* New Perks:
|
||||
- Bomb Shadower (Tier 3): In Sabotage, the WP that shows you holding the bomb will not show when this perk is active (Requires the 3 For 3 Sabotage Challenge)
|
||||
- Double Down (Tier 1): Gain double EXP for every non boss kill (Requires Prestige Level 1)
|
||||
- Radar Phantom (Tier 2): Active Ability, Jams Sensors (Requires Commander Rank)
|
||||
- Second Chance (Tier 3): In Horde, you can spend one team revive to respawn (Requires the Army Of 50 Stopped Challenge)
|
||||
* Modified The Following Vehicles:
|
||||
- Modified the AC130 and Harbinger Gunships to both have gunner seats, the pilot switches the turret weapons when there is no gunner.
|
||||
- Combat Helicopter: Added a gunner seat, the gunner controls the turret, otherwise the turret is auto fire.
|
||||
- Gunship Helicopter: See above, pilot can fire a missile pod with the mine key
|
||||
- Apache Helicopter: See above, pilot can fire a flare pod with the mine key
|
||||
* Modified The Following Weapons:
|
||||
- Desert Eagle Pistol: Added a Spread
|
||||
- RP-342 Machine Gun: Damage increased to 0.035 from 0.02
|
||||
|
||||
2.35 -> 2.4:
|
||||
* Added additional security measures to the universal system
|
||||
* The All important reason you downloaded this version:
|
||||
* FIXED THE RANK FILE GLITCH, HORRAH!
|
||||
* Added the Fission Bomb Killstreak (only a few will find this.... :P)
|
||||
* Additional system patches
|
||||
* Patched the universal rank system to output all error codes, should the rank upload fail.
|
||||
* Reduced the power on the RSA Laser Rifle: From 1.4 -> 0.6
|
||||
* Banned Gravity Weapons and Ion Weapons From The War Tower Game Mode
|
||||
|
||||
2.3 -> 2.35:
|
||||
* Patched serious security loopholes:
|
||||
- Univeral Saved Files will now be scanned on load for corruption
|
||||
- Key Download and scanning is now handled by PGD and not the Server
|
||||
- Prestige will check for your rank upon attempting to do so.
|
||||
- Universal Ranks are now forced to provide the key when uploading
|
||||
-- Added /SaveRank and /LoadRank in case the server fails to do so, or you want to
|
||||
* Weapons can now have a required prestige level
|
||||
* Added 2 new weapons
|
||||
- Both require a prestige level to test the new system updates.
|
||||
* Started the harbinger soldier AI.
|
||||
|
||||
2.2 -> 2.3:
|
||||
* modified the auto-patcher
|
||||
* Added Officer Ranks
|
||||
- Reach Master Commander, then hit the reset button
|
||||
* Added the AC-130
|
||||
- AC-130 Gunner Streak
|
||||
* Signal360 Added the following:
|
||||
- /passVote
|
||||
- /VoteBoss
|
||||
- System Ammendments
|
||||
* Brought back 2 Classic TWM Bosses
|
||||
- Stormrider
|
||||
- The Ghost Of Fire
|
||||
-- Enjoy, Complements of Phantom139
|
||||
* Fixed a glitch with weapon challenges.
|
||||
* Delayed camera based superweapons to prevent the "Lock" Glitch (this can still occur though)
|
||||
* And some various other unnoted changes
|
||||
|
||||
2.1 - 2.2:
|
||||
* Super Release!
|
||||
* Added the auto-patcher
|
||||
|
||||
2.0 -> 2.1:
|
||||
* New Guns!
|
||||
- Javelin
|
||||
- M4A1
|
||||
- SCD343
|
||||
* Universal Rank System Implementation
|
||||
* More Non-Weapon Challenge Categories
|
||||
- Boss Challenges
|
||||
- Blacklist Challenges
|
||||
* Additional Fixes
|
||||
|
||||
1.9 -> 2.0:
|
||||
* Christmas Mall 2009 Map
|
||||
- Decent Sized Map, Good for close and long range battles
|
||||
- Sabotage, Domination
|
||||
* Domination Enhancement:
|
||||
- Mappers can now name areas:
|
||||
- $Domination::Flag[Num(1, 2, or 3), "Map File Name without .mis"] = "Name"; (Thanks To DoL For This)
|
||||
* 3 More Killstreaks:
|
||||
- Plasma Harrier Airstrike: 7 Kills: Airstrike with a remaining plasma harrier
|
||||
- Gunship Helicopter: 9 Kills: Call in a heavily armed helicopter
|
||||
- Z-Bomb: 100 Zombie Kills: Wipe out all zombies in a flashing blast
|
||||
* Killstreak Upgrades:
|
||||
- Added Host Streak Settings:
|
||||
-- 1: Current Method: 3 Streaks/Player
|
||||
-- 2: Old Method: All Streaks Earneds if Unlocked
|
||||
-- 3: New Method: X Streaks/Player, X Set by host.
|
||||
-- 4: No Streaks: Simple enough...
|
||||
- Chopper Gunner: Renamed to Apache Gunner
|
||||
-- Apache Helicopter has a more powerful chaingun than the Combat Helicopter, slower RoF, but larger splash damage
|
||||
- Apache Gunner and Harbingers wrath now count to your kills.
|
||||
* Opened the Non-Weapon Challenges Up
|
||||
- Special Event Challenges: Challenges to do on "Special" Days.
|
||||
- Killstreak Challenges: Challenges completed for using killstreak rewards
|
||||
* RPG-7 Enhanced
|
||||
- Now Randomly Moves While Fired
|
||||
- Requires Rank 50.
|
||||
* Slingshot Zombie Added (Finally), Pilots Beware
|
||||
* Explosive Weapons Now Can Count To Weapon Kills
|
||||
* Helljump Updates
|
||||
- The Transport is now invincible (bug fix)
|
||||
- Players who jump too early out will be placed back in the transport
|
||||
|
||||
1.8 -> 1.9:
|
||||
* Removed the old Killstreak methods.
|
||||
* Implemented a brand new killstreak system
|
||||
- 3 Streaks Per Player
|
||||
- Unlocked via rank/medal
|
||||
- 4 New Killstreaks
|
||||
-- Stealth Bomber: 8 Kills: Carpet bomb an area without notice.... until it's too late
|
||||
-- Apache Gunner: 10 Kills: Control a combat Helicoper's turret for 1 minute
|
||||
-- Centaur Bombardment: 15 Kills: Call in a massive proton collider bombardment.
|
||||
-- Arrov IV Nuke Strike: 25 Kills: Boom... you should know what this is.
|
||||
* Modified some weapons that were implemented in 1.8
|
||||
* /setRot Added
|
||||
* Full Scale and Nudge added to the MIST
|
||||
* /SetNudge added
|
||||
* Added the Hardline Perk
|
||||
- Killstreaks require one less kill
|
||||
|
||||
1.7 -> 1.8:
|
||||
* Added the plasmasaber melee weapon.
|
||||
* Added the UAMS Guided Missile Strike Kill Streak (6 Kills)
|
||||
* Added the Harbinger's Wrath Kill Streak (10 Kills)
|
||||
- Hosts, to create a gunship that endlessly circles the map (Gunship support), type StartHarbingersWrath(your CID, 1, 1);
|
||||
* Helljump: Players can no longer kill the transports.
|
||||
* Fixed the helicopters on crack glitch.
|
||||
- If you don't know what this is... lol, start up helljump and call in a heli.
|
||||
- Hosts, if you have good eyes with script files, you can find the function to make you a chopper gunner (like harbinger's wrath, but with a helicopter)
|
||||
* DarknessOfLight provided me with the SA2400 Shotgun (Rank 33).
|
||||
* Added the Wartower game mode (FFA Tower Wars)
|
||||
- Tower 2009 Limited Edition Map
|
||||
- Century Maze Map
|
||||
* Fixed the sabotage bomb explosion (it properly explodes now)
|
||||
* Fixed the S3S Rifle Glitch (You could shoot yourself :p)
|
||||
* Shotgun weapons (Excluding the LD06 Savager) now properly make their fire sound
|
||||
* Added the Silencer Attachment to all guns that have them.
|
||||
* Ported in TWM's Centaur Dual Pistols.
|
||||
* Ported in TWM's Desert Eagle Pistol.
|
||||
* Shotguns now display in the weapons challenge list, but do not have upgrades.
|
||||
* Fixed a glitch with the RP-432 Machine gun, the sound is now correct, fixed a similar issue on the MG42.
|
||||
* Signal360 has provided me with a new way of loading/saving universally, I will check it and possibly use it in 1.9.
|
||||
* Kill triggers can now kill invincible players.
|
||||
* Added a new trigger, Invincibility Disabler (used in the wartower game mode), to disable your invincibility when you leave the spawn area.
|
||||
* Kill streaks can now be tracked via the player info page.
|
||||
* some other things.
|
||||
|
||||
1.6 -> 1.7:
|
||||
* PGD Connect Implemented
|
||||
- Universal Saving/Loading Added
|
||||
* Fixes, Fixes, Fixes
|
||||
* Start of Universal Ranks
|
||||
* MP-26 CMDO Weapon Added For Helljump
|
||||
* S3-S Rifle For Helljump
|
||||
|
||||
1.5 -> 1.6:
|
||||
* 9 New Medals (Some are not obtainable yet)
|
||||
* Hell-Class Selection (With Medal)
|
||||
* Centaur Artillery Vehicle
|
||||
* Gravity Axe Weapon
|
||||
* PRTCLR-995 Weapon
|
||||
* Weapon Challenge System Upgrade
|
||||
* KillTrac System Updates
|
||||
* BOSS: Lordranius Trebor Added
|
||||
* Fix: Fixed Major Insignia Name, it would display General Vegenor instead of Major Insignia.
|
||||
* Lobby Options such as kick.ban can now be perfomed on players that are loading
|
||||
* Admin options now display the name of the admin instead of "The Admin" (Like in TWM 1)
|
||||
* Some new chat commands
|
||||
|
||||
1.4 -> 1.5:
|
||||
* Hell-Jump Game
|
||||
* Additional Zombie Namers
|
||||
* Fixed the Host Setup Glitch
|
||||
* Fixes, Fixes Fixes
|
||||
* Online Services now point to PGD.com (www.phantomgamesdevelopment.com)
|
||||
|
||||
1.3 rev -> 1.4:
|
||||
* A various amount of fixes
|
||||
* Volatile Ravenger Zombies
|
||||
* Door Fixes
|
||||
* Grapple Hook Added
|
||||
* more?
|
||||
|
||||
1.3 -> 1.3 Revised:
|
||||
* Fixed News Panel
|
||||
* Modified the Score Menu Loadup
|
||||
* Doors should now save and load properly, no matter the texture (needs testing)
|
||||
* Fixed an Issue with object moving where inv. stations would not work
|
||||
* Modified a few other things
|
||||
|
||||
1.2 -> 1.3:
|
||||
* Weapons Challenge System Fixed
|
||||
* Added a Plothera Of Upgrades
|
||||
* added a gun or two
|
||||
* harbinger HQ Tower Map Added
|
||||
* a few bugs fixed
|
||||
* bosses Renamed
|
||||
|
||||
1.1 -> 1.2 (F.P.R):
|
||||
- FPR: First Public Release
|
||||
* More Guns
|
||||
* 4 new zombie types
|
||||
* Horde 2 Game
|
||||
* Improved Many Functioning
|
||||
|
||||
1.0 -> 1.1:
|
||||
* Final 3 Bosses Added
|
||||
* Added The Domination Game
|
||||
* Added 3 New Maps (2 By DoL)
|
||||
* Even more guns added
|
||||
* Weapon Challenges System
|
||||
* CSS Improved to 3.1
|
||||
* Cleaned a few files of un-used functions
|
||||
* added server logging
|
||||
|
||||
Alpha .02 -> 1.0:
|
||||
* Cleaned over 120 Un-Used Datablocks from the mod
|
||||
* Moar Guns :)
|
||||
* More Bosses Added (4 now)
|
||||
* Added the Perks System
|
||||
* Added The Sabotage Game
|
||||
* Fixed many glitches / bugs
|
||||
|
||||
Alpha .01 -> Alpha .02:
|
||||
* Added many chat commands
|
||||
* Added 10+ Weapons
|
||||
* Improved the inventory Menu
|
||||
* Modified the armors
|
||||
* Added C4 Mines
|
||||
* Added 2 Bosses
|
||||
* Various Other Improvements
|
||||
|
||||
Cons .70a -> Alpha .01:
|
||||
* Added CCM's Zombies
|
||||
* Added CCM's F39 Fighter
|
||||
* Implemented P-Con 1.7 Functions
|
||||
* Implemented Clip System
|
||||
* Implemented Rank System
|
||||
* Improved / Added New Systems
|
||||
BIN
TWM2.tsdev
Normal file
BIN
TWM2.tsdev
Normal file
Binary file not shown.
452
missions/CenturyMaze.mis
Normal file
452
missions/CenturyMaze.mis
Normal file
|
|
@ -0,0 +1,452 @@
|
|||
$Killstreak::GunshipSpawnLocation["CenturyMaze"] = "0 -1000 -4800";
|
||||
$WarTower::SpawnZone["CenturyMaze"] = "55.4342 214.465 -5399";
|
||||
|
||||
// DisplayName = Century Maze
|
||||
// MissionTypes = Wartower
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// Seek down the top of the tower, there are two paths you can take.
|
||||
// Serverside Mission
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//FFA concepts apply
|
||||
//Invincibility in the spawn room
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
musicTrack = "lush";
|
||||
cdTrack = "2";
|
||||
powerCount = "0";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-825 -900 1200 1500";
|
||||
flightCeiling = "5000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.622506 0.622506 -0.474313";
|
||||
color = "0.800000 0.800000 0.800000 1.000000";
|
||||
ambient = "0.400000 0.400000 0.400000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "70";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
coverage = "0";
|
||||
scale = "1 1 1";
|
||||
GraphFile = "slapmydash.nav";
|
||||
squareSize = "75";
|
||||
XDimOverSize = "0";
|
||||
position = "-1024 -1024 0 1";
|
||||
YDimOverSize = "0";
|
||||
rotation = "0 0 0 0";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Slapdash.ter";
|
||||
squareSize = "75";
|
||||
|
||||
locked = "true";
|
||||
hazeDistance = "250";
|
||||
position = "-1024 -1024 0";
|
||||
visibleDistance = "1200";
|
||||
};
|
||||
|
||||
new Sky(Sky) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0012";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.390000 0.390000 0.390000 0.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.500000 0.500000 0.500000 1.000000";
|
||||
fogVolume1 = "0 0 0";
|
||||
fogVolume2 = "100 100 120";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Lush_l4.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
};
|
||||
|
||||
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
};
|
||||
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "0";
|
||||
};
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera(TreeCam) {
|
||||
position = "-11.8305 -349.906 139.298";
|
||||
rotation = "0 0 1 -16.6157";
|
||||
scale = "1 0.739761 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
|
||||
new Trigger(TriggerOfDie) {
|
||||
position = "-1000 -1000 -5610";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "5000 5000 5";
|
||||
dataBlock = "deathTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(TriggerOfNoInvinc1) {
|
||||
position = "50 205.254 -5399.51";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "20 2 20";
|
||||
dataBlock = "invincDisableTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(TriggerOfNoInvinc2) {
|
||||
position = "50 224.748 -5399.51";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "20 2 20";
|
||||
dataBlock = "invincDisableTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
//--- OBJECT WRITE END ---
|
||||
|
||||
// 55.4342 214.465 -5399.5 <- Spawn zone
|
||||
|
||||
//%building = new (StaticShape) () {datablock = "DeployedCrate3";position = "55.4342 214.465 -5399.5";rotation = "0 0 1 178.281";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "56.1015 215.085 -5399.5";rotation = "0.73004 -0.683405 -3.55719e-06 180";scale = "4.75007 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
//%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "54.2919 212.581 -5400";rotation = "0.990916 -0.134482 -1.70468e-07 180";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "66.473 205.999 -5399.75";rotation = "-0.551966 -0.58963 0.589635 237.795";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField15";position = "58.8156 205.254 -5399.51";rotation = "-0.0233243 0.706913 0.706916 177.328";scale = "5.34278 3.52 0.48";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";noSlow = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.pzone.delete();%building.pzone = "";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "59.0393 205.508 -5399.5";rotation = "0 0 1 176.221";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "58.7898 205.492 -5395.75";rotation = "-0.0329575 0.998913 -0.0329574 90.0626";scale = "0.125 0.166666 10.6456";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "53.2292 205.124 -5399.5";rotation = "0 0 1 176.221";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "56.2685 203.32 -5400";rotation = "-1.12815e-06 -9.55468e-07 -1 93.7794";scale = "0.875153 1.77184 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "59.0547 205.258 -5399.75";rotation = "0.0233264 -0.706912 0.706917 177.328";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "StationInventory";position = "63.5635 215.907 -5399.5";rotation = "0 0 1 85.5449";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.deploy();adjustTrigger(%building);
|
||||
%building = new (StaticShape) () {datablock = "StationInventory";position = "48.6271 214.45 -5399.5";rotation = "0 0 -1 94.565";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.deploy();adjustTrigger(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "53.2517 204.875 -5399.75";rotation = "0.0233264 -0.706912 0.706917 177.328";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "66.7389 205.766 -5399.75";rotation = "0.564233 0.602733 0.564229 117.843";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "45.497 223.906 -5399.75";rotation = "0.0233264 -0.706912 0.706917 177.328";scale = "0.125 0.166666 38.0006";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "56.4922 199.075 -5400";rotation = "0 0 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "61.4584 199.403 -5398.9";rotation = "0.198578 0.21213 -0.956853 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "62.8973 205.512 -5389.75";rotation = "-0.0233246 0.706913 0.706916 177.328";scale = "1.79995 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "56.1507 205.066 -5387.75";rotation = "-0.0233234 0.706911 0.706917 177.328";scale = "1.58067 5.16666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "50.014 204.662 -5389.75";rotation = "-0.0233243 0.706913 0.706916 177.328";scale = "1.49433 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "51.526 198.747 -5398.9";rotation = "-0.198578 -0.21213 -0.956853 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "65.1876 225.457 -5399.75";rotation = "-0.551966 -0.58963 0.589635 237.795";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField15";position = "58.0809 224.748 -5399.51";rotation = "-0.0233243 0.706913 0.706916 177.328";scale = "5.09906 3.52 0.48";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";noSlow = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.pzone.delete();%building.pzone = "";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "58.3046 225.002 -5399.5";rotation = "0 0 1 176.221";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "52.7376 224.635 -5399.5";rotation = "0 0 1 176.221";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "58.0551 224.986 -5395.75";rotation = "-0.0329575 0.998913 -0.0329574 90.0626";scale = "0.125 0.166666 10.1581";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "65.8302 215.728 -5389.75";rotation = "0.551967 0.589632 0.589632 237.795";scale = "4.75033 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "46.3728 214.442 -5389.75";rotation = "-0.602733 0.564228 0.564234 117.843";scale = "4.75033 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "65.491 199.67 -5395.79";rotation = "-0.411469 0.385185 0.82603 97.1496";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "66.7224 206.015 -5399.5";rotation = "0 0 -1 93.7794";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "46.766 204.697 -5399.5";rotation = "0 0 1 176.221";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "55.39 226.814 -5399.5";rotation = "0.730039 -0.683405 -2.88545e-06 180";scale = "0.874905 1.69604 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "47.4933 198.48 -5395.79";rotation = "0.411469 -0.385185 0.82603 97.1496";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "58.2933 225.252 -5399.75";rotation = "-0.0233195 0.706916 0.706913 177.328";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "52.7173 224.884 -5399.75";rotation = "-0.0233195 0.706916 0.706913 177.328";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "56.8184 194.109 -5398.9";rotation = "0.212127 -0.198574 -0.956854 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "61.7547 194.902 -5397.9";rotation = "-0.0143706 0.435557 0.900046 86.5859";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "51.8246 194.246 -5397.9";rotation = "0.399356 0.0131756 0.916701 96.8149";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "65.7027 196.477 -5395.08";rotation = "0.504363 0.198287 -0.840417 114.917";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "61.8873 224.988 -5389.75";rotation = "-0.0233246 0.706913 0.706916 177.328";scale = "1.66201 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "55.5376 224.568 -5387.75";rotation = "-0.0233234 0.706911 0.706917 177.328";scale = "1.51976 5.16666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "49.1255 224.146 -5389.75";rotation = "-0.0233243 0.706913 0.706916 177.328";scale = "1.6932 6.49999 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "47.7036 195.288 -5395.08";rotation = "-0.187262 -0.587385 -0.787345 95.6387";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "65.4371 225.473 -5399.5";rotation = "0 0 -1 93.7794";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "45.4806 224.155 -5399.5";rotation = "0 0 1 176.221";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "55.1277 231.056 -5400";rotation = "0 0 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "56.1016 215.085 -5380";rotation = "8.56897e-07 1.0286e-06 -1 93.7794";scale = "4.75007 6.49996 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "65.873 193.887 -5393.08";rotation = "-0.0258065 0.782122 0.622591 87.6081";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "66.4729 205.999 -5379.75";rotation = "-0.0329579 0.998913 -0.0329578 90.0626";scale = "0.125 0.166666 38.9998";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "60.0939 231.384 -5398.9";rotation = "0.198578 0.21213 -0.956853 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "50.1615 230.728 -5398.9";rotation = "-0.198578 -0.21213 -0.956853 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "61.9948 191.248 -5395.08";rotation = "0.516336 -0.16461 -0.840417 114.916";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "47.8716 192.698 -5393.08";rotation = "0.616198 0.020328 0.787329 122.944";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "52.0635 190.592 -5395.08";rotation = "0.225571 -0.573764 -0.787345 95.6387";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "64.1265 231.651 -5395.79";rotation = "-0.411469 0.385185 0.82603 97.1496";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "46.1289 230.461 -5395.79";rotation = "0.411469 -0.385185 0.82603 97.1496";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "65.4536 225.224 -5379.75";rotation = "0.589633 -0.551967 0.589631 237.794";scale = "0.125 0.166666 38.0026";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "45.4971 223.906 -5379.75";rotation = "0.589633 -0.551968 0.589631 237.794";scale = "0.125 0.166666 38.0026";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "45.7301 224.171 -5379.75";rotation = "0.706916 0.0233235 0.706913 177.328";scale = "0.125 0.166666 39";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "66.477 231.806 -5391.27";rotation = "0.495119 0.528908 -0.689285 114.335";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "43.7784 230.306 -5391.27";rotation = "-0.495119 -0.528908 -0.689285 114.335";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "54.7996 236.022 -5398.9";rotation = "-0.21213 0.198578 -0.956853 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "59.3009 236.318 -5397.9";rotation = "-0.435557 -0.0143706 0.900046 86.5859";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "50.2988 235.723 -5397.9";rotation = "0.0131756 -0.399356 0.916701 96.8149";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "62.955 236.561 -5395.08";rotation = "0.164611 0.516337 -0.840416 114.916";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "46.6441 235.482 -5395.08";rotation = "-0.573766 -0.225575 -0.787343 95.6387";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "65.0856 236.702 -5390.98";rotation = "-0.729922 0.371839 0.573541 98.0858";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "44.5139 235.342 -5390.98";rotation = "0.359796 -0.604168 0.711005 123.228";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "57.5091 183.656 -5388.11";rotation = "0.385183 0.411468 0.826032 97.1496";scale = "6.25387 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "54.1094 246.47 -5388.16";rotation = "-0.385185 -0.411469 0.82603 97.1496";scale = "6.25332 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "58.1773 173.541 -5377.6";rotation = "0.212129 -0.198576 -0.956854 96.2965";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "58.4777 168.993 -5376.58";rotation = "-3.43847e-06 -7.46434e-07 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "53.4412 256.583 -5377.65";rotation = "-0.212129 0.198578 -0.956853 96.2964";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "72.0217 169.886 -5370.27";rotation = "0.235472 0.251542 -0.938765 97.3822";scale = "1.25 8.33773 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "53.1408 261.131 -5376.63";rotation = "5.12006e-07 -3.85294e-07 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.3357 197.093 -5351.65";rotation = "-3.14745e-06 -1.63298e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.2137 183.799 -5357.38";rotation = "0.716461 -0.670692 -0.191976 159.624";scale = "6.24435 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "70.2907 196.23 -5344.98";rotation = "0.718102 -0.672225 -0.18012 201.783";scale = "1.25 8.33043 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "39.5973 260.238 -5370.32";rotation = "-0.235472 -0.251543 -0.938765 97.3822";scale = "1.25 8.3303 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "28.3032 232.784 -5351.13";rotation = "0.683407 0.730038 1.70347e-06 180";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "41.3551 233.648 -5344.93";rotation = "0.670696 0.716458 0.191976 200.376";scale = "1.25 8.34127 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.0759 170.748 -5364.08";rotation = "-9.41843e-07 -1.09654e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "27.409 246.324 -5357.43";rotation = "0.716462 -0.670692 0.191975 200.376";scale = "6.24442 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "56.9907 195.351 -5339.22";rotation = "-4.40802e-06 2.22294e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "54.6476 234.526 -5339.2";rotation = "-1.06367e-06 2.22768e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "26.5468 259.376 -5364.13";rotation = "1.57807e-06 1.19297e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "57.8523 182.303 -5332.53";rotation = "0.716461 -0.670694 0.191975 200.376";scale = "6.24845 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.6862 256.156 -5344.74";rotation = "0.286294 0.305837 0.908019 91.746";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.9497 252.167 -5341.68";rotation = "0.325735 -0.304921 -0.894941 100.089";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.406 260.397 -5347.45";rotation = "0.251544 -0.235469 -0.938765 97.3822";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.1946 248.46 -5338.28";rotation = "0.354225 0.378403 0.855182 95.1741";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "53.7857 247.57 -5332.53";rotation = "0.71646 -0.670694 -0.191976 159.624";scale = "6.248 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "76.5793 257.676 -5342.28";rotation = "-0.388039 -0.809527 -0.440559 103.936";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "76.831 253.892 -5339.38";rotation = "0.686409 -0.292924 0.665611 142.697";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.1114 264.857 -5349.78";rotation = "0.210873 0.225269 0.951203 89.0841";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "76.3163 261.695 -5344.85";rotation = "0.672371 -0.35917 0.647236 136.13";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.419 245.063 -5334.57";rotation = "0.392984 -0.367874 -0.842753 103.459";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.0639 250.377 -5336.16";rotation = "-0.32536 -0.865137 -0.381679 99.8178";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.568 258.07 -5342.28";rotation = "-0.647067 -0.364456 0.669683 215.594";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "76.0374 265.923 -5347.06";rotation = "-0.443362 -0.749378 -0.491795 108.604";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.8142 254.287 -5339.38";rotation = "-0.421009 0.830219 0.36536 98.8621";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.2758 247.158 -5332.64";rotation = "0.696722 -0.227863 0.680189 149.429";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.8045 269.503 -5351.71";rotation = "0.1714 -0.160445 -0.972049 95.3986";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.2979 262.09 -5344.85";rotation = "-0.477898 0.76808 0.426223 102.827";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.0503 250.774 -5336.16";rotation = "-0.664935 -0.301482 0.683352 208.826";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.4611 259.59 -5339.82";rotation = "0.711435 -0.66599 0.224315 203.717";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.6937 256.016 -5337.08";rotation = "0.663198 0.708451 -0.241383 208.918";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.0165 266.321 -5347.06";rotation = "-0.625463 -0.428098 0.652325 222.207";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "75.7434 270.329 -5348.89";rotation = "0.654138 -0.426595 0.624596 129.767";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.2155 263.388 -5342.26";rotation = "0.672229 0.718098 -0.18012 201.783";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.2597 247.553 -5332.64";rotation = "-0.356021 0.886082 0.296831 95.5453";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.9193 252.691 -5334.04";rotation = "0.698786 -0.654152 0.289451 210.321";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.4878 274.298 -5353.23";rotation = "0.129272 0.1381 0.981946 87.2627";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.9421 267.387 -5344.34";rotation = "0.720664 -0.674624 0.159768 197.013";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.7303 270.724 -5348.89";rotation = "-0.526806 0.701899 0.479388 107.361";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.1191 249.652 -5330.71";rotation = "0.65114 0.695577 -0.303625 215.941";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "75.4385 274.873 -5350.33";rotation = "-0.491627 -0.686439 -0.535821 113.746";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.6701 271.55 -5346.07";rotation = "0.678498 0.724795 -0.119638 194.566";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.905 237.707 -5324.39";rotation = "0.423849 -0.396769 -0.814203 105.372";scale = "5.01057 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "58.7468 168.761 -5326.21";rotation = "0.683406 0.730038 2.94198e-06 180";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.4271 275.27 -5350.33";rotation = "-0.599674 -0.492399 0.630821 228.626";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.1635 279.207 -5354.32";rotation = "0.0868695 -0.0813149 -0.992896 94.1874";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.748 239.954 -5322.65";rotation = "-0.255386 -0.914057 -0.315084 96.3274";scale = "5.00195 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.3778 275.845 -5347.44";rotation = "0.726692 -0.680268 0.0956773 190.235";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "75.1383 279.528 -5351.37";rotation = "0.631143 -0.495063 0.597136 123.653";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.7415 240.343 -5322.65";rotation = "-0.679415 -0.239124 0.693697 201.938";scale = "5.00165 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.1211 279.924 -5351.37";rotation = "-0.568201 0.633492 0.5252 112.39";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.583 242.604 -5320.96";rotation = "0.643872 0.687811 -0.335179 219.4";scale = "4.98777 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.8341 284.192 -5354.98";rotation = "0.0435685 0.0465473 0.997966 86.3362";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "78.0954 280.245 -5348.42";rotation = "0.682182 0.728742 -0.0596805 187.296";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "52.891 261.118 -5326.2";rotation = "0.683407 0.730038 2.13766e-06 180";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "74.8215 284.256 -5351.99";rotation = "-0.533358 -0.622062 -0.573209 119.298";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "75.6909 282.51 -5349.1";rotation = "0.999073 0.0329695 -0.0276634 100.052";scale = "0.125 0.166666 7.16152";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.8121 284.651 -5351.99";rotation = "-0.569163 -0.557178 0.604654 234.808";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "72.2967 169.656 -5320.37";rotation = "0.235473 0.25154 -0.938765 97.3822";scale = "1.25 8.33903 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "77.8225 284.376 -5349.65";rotation = "0.935202 0.0309155 -0.352762 10.6879";scale = "0.999982 1.1936 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "80.181 282.807 -5349.1";rotation = "0.999073 0.0329695 -0.0276634 100.052";scale = "0.125 0.166666 7.16152";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.5022 289.216 -5355.2";rotation = "4.05795e-07 4.17652e-06 -1 93.78";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "80.1837 286.577 -5349.9";rotation = "-0.569162 -0.557177 0.604656 234.808";scale = "0.125 0.166666 10.0072";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedJumpad";position = "77.7278 289.82 -5354.6";rotation = "1 0 0 0";scale = "1 1 2";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";impulse = "7500";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);MissionCleanup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "39.3433 260.224 -5320.37";rotation = "-0.235474 -0.251542 -0.938764 97.3816";scale = "1.25 8.33613 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.3408 170.516 -5314.21";rotation = "1.20576e-06 1.4855e-07 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.4458 184.065 -5307.87";rotation = "-0.251543 0.235472 -0.938765 97.3822";scale = "6.2539 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "27.1914 245.816 -5307.87";rotation = "0.251542 -0.235475 -0.938764 97.3816";scale = "6.2516 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.5839 197.106 -5301.71";rotation = "1.1946e-06 -1.57994e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "26.2967 259.363 -5314.2";rotation = "1.3254e-06 9.78344e-07 1 86.221";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "28.0533 232.772 -5301.7";rotation = "-7.53572e-08 9.95307e-07 1 86.221";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.5596 212.656 -5296.93";rotation = "0.354227 0.378402 0.855181 95.174";scale = "13.7594 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "74.508 289.018 -5329.7";rotation = "0.55196 0.589626 0.589646 237.794";scale = "1.25 16.6667 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "70.2898 196.228 -5295.47";rotation = "0.26648 -0.249461 0.930998 90.3142";scale = "1.25 8.33033 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.701 286.222 -5327.2";rotation = "0.998913 0.0329524 -0.0329605 90.0626";scale = "1.25 15 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "79.429 214.567 -5294.8";rotation = "0.692009 -0.260249 0.673346 146.045";scale = "13.7622 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.4955 289.413 -5329.7";rotation = "0.551964 0.589636 -0.589631 122.206";scale = "1.25 16.6667 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.4125 214.957 -5294.8";rotation = "-0.664932 -0.30148 0.683356 208.825";scale = "13.759 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "41.0465 233.631 -5294.45";rotation = "0.270968 0.289457 -0.918036 98.6484";scale = "1.25 8.33093 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.304 292.21 -5329.7";rotation = "-0.564232 -0.602739 0.564224 117.842";scale = "12.5 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.2788 216.862 -5292.72";rotation = "0.698787 -0.654151 0.289454 210.321";scale = "13.7602 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "56.9927 195.352 -5288.71";rotation = "0.683403 0.730041 2.66402e-06 180";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "54.6547 216.991 -5287.15";rotation = "0.0408026 0.0435871 -0.998216 93.8814";scale = "10.0002 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "57.8877 181.803 -5282.87";rotation = "0.251543 -0.235472 -0.938765 97.3822";scale = "6.25413 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "74.4505 289.931 -5303.79";rotation = "-0.416608 -0.779905 -0.467103 106.206";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.6145 287.536 -5302.29";rotation = "0.999275 0.0329647 -0.0190386 120.036";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.4364 290.326 -5303.79";rotation = "-0.477892 0.768079 0.426232 102.826";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.9592 191.472 -5275.7";rotation = "0.360266 -0.337248 -0.869754 101.695";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.2259 293.39 -5302.79";rotation = "-0.452857 0.42392 -0.784355 107.425";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.8281 193.389 -5273.58";rotation = "0.692006 -0.260252 0.673348 146.045";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "74.2797 292.533 -5300.07";rotation = "0.686412 -0.292926 0.665607 142.698";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "58.7496 168.762 -5276.71";rotation = "-1.1946e-06 1.57994e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.4228 290.438 -5298.14";rotation = "-0.0298866 0.905904 0.422428 178.402";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "86.8113 193.784 -5273.58";rotation = "-0.389514 0.859089 0.332033 97.1181";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.2635 292.928 -5300.07";rotation = "-0.656438 -0.332882 0.676962 212.227";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.6763 195.702 -5271.46";rotation = "0.657567 0.702438 -0.272372 212.446";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.1999 187.829 -5272.36";rotation = "0.321249 0.343174 0.882627 93.3692";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.0127 296.617 -5299.56";rotation = "-0.249467 -0.266494 0.930993 90.3137";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.0815 189.554 -5270.06";rotation = "-0.357623 -0.838027 -0.412089 101.803";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "74.0683 295.74 -5296.86";rotation = "-0.291263 -0.890581 -0.349329 97.9901";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "87.064 189.949 -5270.06";rotation = "-0.656442 -0.332887 0.676957 212.227";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "77.1866 294.015 -5294.56";rotation = "0.999384 0.0329711 -0.0120066 140.023";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.0508 296.135 -5296.86";rotation = "-0.356015 0.886081 0.296841 95.5448";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.952 191.674 -5267.77";rotation = "0.705557 -0.660486 0.256804 207.035";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.4588 183.91 -5269.34";rotation = "0.289457 -0.270964 -0.918038 98.649";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "72.2992 169.656 -5270.37";rotation = "0.235472 0.251543 -0.938765 97.3822";scale = "1.25 8.3389 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "76.7215 301.023 -5298.38";rotation = "-6.35613e-06 7.62554e-06 -1 93.7806";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.3523 185.43 -5266.88";rotation = "0.679886 -0.325895 0.656923 139.391";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "74.8047 295.938 -5293.14";rotation = "0.999 0.0329554 -0.0302081 95.0571";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "87.3386 185.825 -5266.88";rotation = "-0.45047 0.799784 0.396764 100.768";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "76.0668 296.021 -5293.14";rotation = "0.999 0.0329554 -0.0302081 95.0571";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "77.4537 296.113 -5293.14";rotation = "0.999 0.0329554 -0.0302081 95.0571";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.6258 301.347 -5297.06";rotation = "-0.266487 0.24946 0.930997 90.3137";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "79.2949 296.235 -5293.14";rotation = "0.999 0.0329554 -0.0302081 95.0571";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.7341 179.742 -5266.68";rotation = "0.249459 0.266484 0.930998 90.3142";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "91.4766 218.346 -5264.58";rotation = "-0.353038 0.164827 0.920976 88.2355";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.2296 187.343 -5264.42";rotation = "0.668068 0.713664 -0.210639 205.363";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "76.573 303.268 -5297.9";rotation = "0 0 -1 93.7806";scale = "0.125 1.66664 8";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "95.8817 269.086 -5278.01";rotation = "0.523529 -0.0251563 -0.851636 93.3136";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.8304 223.223 -5264.02";rotation = "0.192319 0.286689 -0.938522 98.731";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "96.9522 273.415 -5280.36";rotation = "-0.0151017 0.457599 0.88903 101.105";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "94.615 264.996 -5275.35";rotation = "0.0603923 0.510277 0.857887 105.951";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.6444 181.04 -5264.08";rotation = "-0.416608 -0.779902 -0.467109 106.206";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.3963 228.153 -5263.83";rotation = "-0.266488 0.249461 0.930996 90.3119";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "97.8182 277.951 -5282.38";rotation = "0.446728 0.0571217 -0.892845 93.473";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "93.3703 260.976 -5272.73";rotation = "0.523531 -0.0251545 -0.851635 93.313";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.1778 233.096 -5264.02";rotation = "0.278698 0.214902 -0.936026 96.2174";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "92.3185 256.72 -5270.42";rotation = "-0.0151039 0.457598 0.889031 101.105";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.1765 238.016 -5264.58";rotation = "-0.17988 0.327095 0.927713 93.2019";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.9465 301.632 -5294.56";rotation = "0.23547 0.251543 -0.938765 97.3827";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "91.4675 252.262 -5268.44";rotation = "0.446726 0.057123 -0.892845 93.4729";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.3924 242.875 -5265.51";rotation = "0.3643 0.137832 -0.921025 94.4497";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.8238 247.635 -5266.8";rotation = "-0.0955304 0.396602 0.913007 96.8271";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "87.626 181.435 -5264.08";rotation = "-0.63676 -0.396193 0.661489 218.922";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "98.4733 282.659 -5284.05";rotation = "-0.0955304 0.396601 0.913007 96.8276";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.0281 175.292 -5264.84";rotation = "0.129563 -0.121286 -0.984126 94.6939";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "95.8548 218.673 -5262.29";rotation = "0.113478 0.280479 -0.953129 99.591";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.5292 182.732 -5261.49";rotation = "0.716461 -0.670692 0.191978 200.376";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "98.9124 287.505 -5285.36";rotation = "0.364304 0.137833 -0.921024 94.4493";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "81.9866 175.869 -5261.95";rotation = "0.643276 -0.460713 0.611506 126.676";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.3436 170.517 -5264.21";rotation = "-1.57807e-06 -1.19297e-06 1 86.2204";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "90.2672 301.917 -5292.06";rotation = "-0.266487 0.24946 0.930996 90.3136";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "87.9674 176.264 -5261.94";rotation = "-0.548404 0.667878 0.503182 109.818";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "99.1321 292.45 -5286.3";rotation = "-0.17988 0.327094 0.927714 93.2025";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "100.407 219.086 -5260.39";rotation = "-0.26948 0.0863907 0.959123 85.1152";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "84.9273 176.842 -5259.04";rotation = "0.680652 0.727106 -0.0896067 190.936";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "88.3371 170.715 -5261.21";rotation = "0.551966 0.589635 -0.58963 122.206";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.5414 167.523 -5261.21";rotation = "0.589635 -0.551966 -0.589631 122.206";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "94.5879 302.202 -5289.56";rotation = "0.23547 0.251541 -0.938766 97.3834";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "99.1308 297.456 -5286.87";rotation = "0.278701 0.214905 -0.936024 96.2168";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "105.098 219.583 -5258.89";rotation = "0.0396069 0.197464 -0.97951 98.8238";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.3436 170.517 -5258.21";rotation = "0.683405 0.73004 -2.1383e-06 180";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "98.9086 302.487 -5287.06";rotation = "-0.266488 0.249462 0.930996 90.3131";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "109.894 220.159 -5257.8";rotation = "-0.177343 0.00252286 0.984146 82.8749";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "114.757 220.81 -5257.13";rotation = "-0.03522 0.11136 -0.993156 98.8014";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "119.651 221.531 -5256.88";rotation = "-0.0789476 -0.084338 0.993305 81.5898";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "118.897 226.397 -5256.34";rotation = "-0.029008 0.0305818 -0.999111 98.8249";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "118.141 231.289 -5256.24";rotation = "0.00795354 0.0170307 0.999823 81.2517";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "131.966 233.547 -5250.83";rotation = "0.196038 0.205698 -0.958779 101.431";scale = "1.25 8.33047 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "145.37 235.737 -5245.51";rotation = "0.00795869 0.0170415 0.999823 81.2517";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "143.239 249.321 -5240.12";rotation = "0.750344 -0.642648 -0.154876 164.386";scale = "6.25085 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "113.854 259.15 -5225.29";rotation = "0.00795743 0.0170364 0.999823 81.2505";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "127.569 261.15 -5229.97";rotation = "0.750707 -0.647318 -0.131977 199.498";scale = "1.25 8.3308 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "141.085 263.095 -5235.66";rotation = "0.00796164 0.0170402 0.999823 81.2517";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "115.938 245.403 -5219.62";rotation = "0.226539 -0.188833 -0.955522 101.243";scale = "6.25567 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "117.959 232.062 -5214.07";rotation = "0.00796391 0.0170424 0.999823 81.25";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "131.574 234.288 -5208.73";rotation = "0.196029 0.205698 -0.958781 101.434";scale = "1.25 8.3329 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "144.979 236.481 -5203.38";rotation = "0.0079602 0.0170401 0.999823 81.2494";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "142.821 250.26 -5198.43";rotation = "-0.198986 0.176157 -0.96404 100.911";scale = "6.24783 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "136.183 263.175 -5192.05";rotation = "0.75072 -0.647304 -0.131973 199.498";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "140.696 263.835 -5193.53";rotation = "0.00795906 0.0170395 0.999823 81.2494";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "132.252 262.64 -5189.1";rotation = "0.507997 -0.417905 0.753189 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "129.738 262.355 -5184.79";rotation = "-0.384233 -0.467065 -0.796376 110.595";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "127.224 262.07 -5180.48";rotation = "0.507999 -0.417907 0.753187 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "124.71 261.785 -5176.17";rotation = "-0.384233 -0.467065 -0.796376 110.595";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "122.196 261.5 -5171.85";rotation = "0.507999 -0.417907 0.753187 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "119.682 261.215 -5167.54";rotation = "-0.384233 -0.467065 -0.796376 110.595";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "117.168 260.93 -5163.23";rotation = "0.507999 -0.417907 0.753187 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "114.654 260.645 -5158.92";rotation = "-0.384233 -0.467065 -0.796376 110.595";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "112.14 260.36 -5154.6";rotation = "0.507999 -0.417907 0.753187 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "109.626 260.075 -5150.29";rotation = "-0.384233 -0.467065 -0.796376 110.595";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "107.112 259.79 -5145.98";rotation = "0.507999 -0.417907 0.753187 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "104.598 259.505 -5141.67";rotation = "-0.384233 -0.467065 -0.796376 110.595";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "74.0992 254.987 -5134.19";rotation = "0.0519396 0.0367509 -0.997974 98.9332";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "102.084 259.22 -5137.35";rotation = "0.507999 -0.417907 0.753187 98.2038";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "82.237 251.2 -5133.35";rotation = "-0.0428606 0.0605741 0.997243 81.3382";scale = "1.25 6.6669 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "83.8877 256.527 -5132.75";rotation = "0.758788 -0.65014 0.0394924 176.799";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "80.715 261.08 -5133.6";rotation = "-0.0428607 0.0605746 0.997243 81.3377";scale = "1.25 6.66717 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "76.9 255.507 -5130.55";rotation = "-0.0428553 0.0605784 0.997243 81.3377";scale = "3.74995 4.99997 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "93.7725 258.061 -5132.3";rotation = "-0.0428607 0.0605746 0.997243 81.3377";scale = "3.74965 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "99.4128 258.907 -5133.19";rotation = "-0.357719 -0.436839 -0.825354 108.739";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "87.9595 257.193 -5131.09";rotation = "-0.436709 0.394023 0.808722 92.7292";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "87.4978 252.101 -5129.46";rotation = "0.0519427 0.036746 -0.997974 98.9338";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "85.976 261.982 -5129.7";rotation = "0.0519427 0.036746 -0.997974 98.9338";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "95.9811 258.453 -5130.06";rotation = "0.29558 -0.231497 0.926845 85.9271";scale = "1.25 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "91.655 257.809 -5129.1";rotation = "-0.0428554 0.0605789 0.997243 81.3371";scale = "3.75 1.66666 1";team = "0";powerCount="1";Invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
470
missions/ChristmasMall09.mis
Normal file
470
missions/ChristmasMall09.mis
Normal file
|
|
@ -0,0 +1,470 @@
|
|||
$Domination::Flag[1, "ChristmasMall09"] = "USMC Hallway";
|
||||
$Domination::Flag[2, "ChristmasMall09"] = "Central Statue";
|
||||
$Domination::Flag[3, "ChristmasMall09"] = "Harbinger Clan Hallway";
|
||||
$DominationGame::SpawnLocation1["ChristmasMall09"] = "-31.9 356.6 101";
|
||||
$DominationGame::SpawnLocation2["ChristmasMall09"] = "-188.9 521.2 101";
|
||||
$DominationGame::ObjectiveLocation1["ChristmasMall09"] = "6.94 378 101";
|
||||
$DominationGame::ObjectiveLocation2["ChristmasMall09"] = "-43.5 460 110.5";
|
||||
$DominationGame::ObjectiveLocation3["ChristmasMall09"] = "-153.8 491.8 101";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["ChristmasMall09"] = "-31.9 356.6 101";
|
||||
$SabotageGame::ObjectiveLocation2["ChristmasMall09"] = "-188.9 521.2 101";
|
||||
$SabotageGame::BombLocation["ChristmasMall09"] = "-43.5 460 110.5";
|
||||
|
||||
// DisplayName = Christmas Mall 2009
|
||||
// MissionTypes = Domination Sabotage None
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// All through the night, not a creature was stirring, EXCEPT for those god damn soldiers blowing our mall up!
|
||||
// Merry Christmas, From Phantom139
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
// Fighting in Close quarters can prove dangerous.
|
||||
// And pay attention to those balconies!
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
musicTrack = "desert";
|
||||
cdTrack = "6";
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1024 -1024 2048 2048";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
new SimGroup(Team1) {
|
||||
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
providesPower = "1";
|
||||
new Trigger(kills) {
|
||||
position = "-361.551 619.88 121";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1000 1000 5";
|
||||
dataBlock = "deathTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Flatland.ter";
|
||||
squareSize = "32";
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
rotation = "0 0 0 0";
|
||||
GraphFile = "FlatlandBig.nav";
|
||||
position = "0 0 0 1";
|
||||
scale = "1 1 1";
|
||||
coverage = "0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
new Camera() {
|
||||
position = "0 0 200";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
team = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "560";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.260000 0.410000 0.440000 1.000000";
|
||||
fogDistance = "420";
|
||||
fogColor = "0.260000 0.410000 0.440000 1.000000";
|
||||
fogVolume1 = "0 0 0";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Starfallen.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38";
|
||||
high_fogVolume2 = "-1 -1991.03 nan";
|
||||
high_fogVolume3 = "-1 7945.87 7.22445e-09";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.0000003 0.0000003";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
|
||||
//The Mall
|
||||
//Built by Phantom139
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree0";position = "-63.9838 488.188 100.52";rotation = "0 0 1 189.183";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree0";position = "-63.0394 475.645 100.52";rotation = "0 0 1 206.936";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree12";position = "-74.5444 483.381 100.4";rotation = "0 0 1 110.767";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree12";position = "-72.7298 475.294 100.4";rotation = "0 0 1 45.4811";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate12";position = "-52.7632 463.325 100.519";rotation = "0 0 1 6.45378";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-80.829 492.286 100.25";rotation = "0.688223 0.229592 0.688213 154.138";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-72.682 498.09 120.25";rotation = "-0.904399 -0.301714 -0.301713 95.7481";scale = "5.00023 0.166666 52.2622";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-64.8349 504.294 100.25";rotation = "0.704309 0.0889633 0.704297 169.832";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-72.832 498.29 100.5";rotation = "0 0 -1 36.8982";scale = "5.00005 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-55.149 506.78 100.5";rotation = "0 0 -1 14.3985";scale = "4.9998 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate12";position = "-56.6049 459.8 100.51";rotation = "0 0 -1 84.0076";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration6";position = "-53.1008 459.421 100.519";rotation = "0 0 -1 84.7657";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration7";position = "-53.1008 459.421 103.819";rotation = "0 0 -1 84.7657";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate12";position = "-48.8382 459.319 100.519";rotation = "0 0 1 91.0539";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-35.5981 507.61 120.25";rotation = "-0.548155 0.631709 -0.548151 115.438";scale = "0.125 6.66667 80.0468";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration6";position = "-48.8461 459.797 110.486";rotation = "0 0 1 98.0629";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.2156 509.232 100.5";rotation = "0 0 1 8.10173";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate12";position = "-53.2719 455.997 100.519";rotation = "0 0 1 182.691";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-92.1724 465.137 100.25";rotation = "-0.631714 -0.548155 -0.548146 115.438";scale = "4.99965 0.166666 200.096";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-82.6521 428.053 100.26";rotation = "0.333156 0.66671 0.666712 216.851";scale = "4.99995 0.166666 200.092";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-72.682 498.09 100.27";rotation = "-0.9044 -0.30172 -0.301706 95.7485";scale = "5.0001 0.166666 200.094";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-49.6982 408.562 100.25";rotation = "0.995021 -0.0704728 0.0704695 90.2854";scale = "4.99995 0.166666 200.092";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-91.1003 445.648 100.15";rotation = "0.480917 0.619967 0.619967 231.367";scale = "5.00028 0.166666 200.094";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-55.0868 506.538 100.15";rotation = "-0.984417 -0.124355 -0.124338 90.8997";scale = "4.99998 0.166666 200.092";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-68.1137 415.03 100.15";rotation = "0.189941 0.694234 0.694234 201.508";scale = "4.99995 0.166666 200.092";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-85.7046 483.551 100.15";rotation = "-0.77835 -0.443944 -0.443943 104.21";scale = "5.0001 0.166666 200.094";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-90.7981 474.79 120.25";rotation = "0.706223 -0.0500172 0.70622 185.727";scale = "0.125 0.166666 200.094";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration7";position = "-48.8461 459.797 113.786";rotation = "0 0 1 98.0629";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-91.0104 475.072 100.25";rotation = "0.655784 0.374033 0.65578 138.984";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.4631 509.267 100.25";rotation = "0.706227 -0.0500125 0.706217 185.727";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-35.598 507.612 110.236";rotation = "-0.548155 0.631709 -0.548151 115.438";scale = "0.125 6.6666 200.096";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-85.9195 483.679 100.5";rotation = "0 0 -1 59.398";scale = "4.9999 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration11";position = "-37.8981 457.467 98.519";rotation = "0 0 1 92.2135";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-35.5981 507.611 115.246";rotation = "0.995022 -0.070471 0.0704671 90.2862";scale = "35.0552 19.016 0.872";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-25.4705 502.019 100.4";rotation = "0 0 1 211.223";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-26.1577 506.519 120.25";rotation = "0.0704663 0.995022 0.0704663 90.2861";scale = "0.125 0.166666 38.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate6";position = "-38.1221 517.151 102.23";rotation = "0.631707 0.548157 -0.548152 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate6";position = "-38.1082 517.249 104.119";rotation = "0.631707 0.548157 -0.548152 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate5";position = "-37.6603 516.847 103.327";rotation = "-0.522984 0.602698 -0.602696 235.218";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree1";position = "-20.3964 474.176 100.51";rotation = "0 0 1 111.075";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-37.7281 518.145 100.5";rotation = "0 0 1 98.1013";scale = "2.12471 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-53.9213 449.849 110.236";rotation = "-0.522978 0.602698 0.602702 124.783";scale = "0.125 0.166666 80.0476";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-25.9102 506.484 100.5";rotation = "0 0 1 8.10173";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-91.0457 474.825 100.5";rotation = "0 0 1 8.10192";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree0";position = "-18.5068 492.14 100.4";rotation = "0 0 1 11.4785";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-81.0401 473.148 120.25";rotation = "-0.548154 0.631711 -0.54815 115.438";scale = "0.125 20.261 37.9994";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate0";position = "-30.2883 515.419 102.19";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate0";position = "-30.2989 515.345 103.502";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate6";position = "-37.6487 520.477 104.153";rotation = "0.631707 0.548157 -0.548152 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate6";position = "-37.6277 520.624 102.474";rotation = "0.631707 0.548157 -0.548152 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate5";position = "-37.2384 519.811 103.308";rotation = "-0.522984 0.602698 -0.602696 235.218";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-29.8079 517.02 100.5";rotation = "0 0 -1 81.8986";scale = "2.12521 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate0";position = "-29.9902 517.513 101.894";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate0";position = "-29.9978 517.46 103.277";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree1";position = "-15.1136 480.544 100.51";rotation = "0 0 1 80.2089";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-25.6627 506.448 100.25";rotation = "0.69424 -0.189932 0.694231 201.509";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.7411 540.668 105.5";rotation = "-0.548152 0.631712 -0.54815 115.438";scale = "2.5 0.166666 63.0008";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-93.5464 455.486 120.25";rotation = "0.706223 -0.0500158 0.706221 185.727";scale = "0.125 0.166666 200.094";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate4";position = "-29.7347 519.308 102.379";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate4";position = "-29.7276 519.358 103.895";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-17.0557 501.355 100.5";rotation = "0 0 1 30.6018";scale = "4.99983 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate3";position = "-29.5158 520.846 104.192";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate3";position = "-29.4936 521.002 102.467";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate3";position = "-29.501 520.95 103.415";rotation = "0.631708 0.548154 -0.548153 115.438";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-23.8676 522.606 100.25";rotation = "0.631707 0.548148 -0.548161 115.438";scale = "7.9996 0.166666 38.0006";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-23.9383 522.111 110.242";rotation = "0.0704663 0.995022 0.0704663 90.2861";scale = "0.125 10.6661 38.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree2";position = "-12.3074 471.38 100.51";rotation = "0 0 1 146.528";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-111.094 477.679 100.25";rotation = "-0.631714 -0.548155 -0.548146 115.438";scale = "0.125 0.166666 41.0008";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-2.6446 488.12 120.25";rotation = "-0.301715 0.904399 -0.301714 95.7482";scale = "0.125 6.66643 52.2596";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.57 526 101";rotation = "0 0 -1 81.8986";scale = "0.125 0.166666 7";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.8628 525.646 102.5";rotation = "0.0500126 0.70622 0.706223 185.727";scale = "0.250023 0.999999 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.3225 525.964 100.75";rotation = "-0.631707 -0.548155 -0.548154 115.438";scale = "0.125 0.166666 3";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.3325 525.823 104.25";rotation = "0.0704642 0.995022 0.0704643 90.2861";scale = "0.125 0.166666 2.00018";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-33.5785 446.7 110.236";rotation = "-0.995022 0.0704678 0.0704727 90.2864";scale = "0.291943 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-51.4552 467.17 110.251";rotation = "-0.522975 0.602699 0.602703 124.783";scale = "0.874995 0.166666 201.046";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.085 525.788 101";rotation = "0 0 1 8.10153";scale = "0.125 0.166666 7";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.8145 446.592 109.736";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.2723 446.515 109.509";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0785";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.7587 446.441 109.111";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.3597 446.385 108.666";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.9074 446.32 108.207";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-93.7939 455.521 100.5";rotation = "0 0 1 8.10192";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.4472 446.255 107.747";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.0101 446.193 107.233";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0785";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-29.6748 446.145 106.792";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-29.6852 526.989 100.5";rotation = "0 0 1 92.0153";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-21.4356 537.917 105.5";rotation = "-0.548152 0.631712 -0.54815 115.438";scale = "2.5 0.166666 62.9968";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.3073 529.902 101.25";rotation = "0.706223 -0.0500179 0.70622 185.727";scale = "0.375 0.166666 7.99928";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-29.279 446.089 106.256";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0785";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-28.8924 446.033 105.817";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-38.7093 533.099 101.25";rotation = "0.666713 -0.333151 0.666712 216.851";scale = "0.375 0.166666 8.0004";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-28.4461 445.97 105.29";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-27.9366 445.897 104.723";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree2";position = "-71.08 437.507 100.51";rotation = "0 0 1 179.157";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-29.9262 528.365 100.5";rotation = "0 0 1 113.762";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-27.5363 445.84 104.17";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.6052 525.752 100.75";rotation = "0.0500108 0.706223 0.706221 185.727";scale = "0.125 0.166666 16";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.794 529.677 102.5";rotation = "0.0704654 0.995022 0.070467 90.2861";scale = "0.75 2.33328 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.5348 526.247 104.25";rotation = "0.6027 0.522982 0.602696 124.783";scale = "0.125 0.166666 13.9997";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-27.0332 445.769 103.673";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.2991 529.606 104.5";rotation = "0.0706414 0.997502 1.22911e-06 180";scale = "0.249997 2.33328 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-28.809 528.44 100.5";rotation = "0 0 1 124.628";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-26.533 445.698 103.081";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0785";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.0497 526.035 100.75";rotation = "0.995022 -0.0704632 0.0704662 90.2861";scale = "0.125 0.166666 13.9998";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.8041 529.536 102.5";rotation = "-0.631709 -0.548155 -0.548151 115.438";scale = "1.74996 0.999999 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.0498 526.036 104.25";rotation = "0.602701 0.522981 0.602696 124.783";scale = "0.125 0.166666 13.9997";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-26.0856 445.634 102.558";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-25.7301 445.583 102.035";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree3";position = "-66.4549 433.573 100.51";rotation = "0 0 1 217.488";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-25.3745 445.533 101.579";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration0";position = "-107.111 476.607 101.628";rotation = "-4.74967e-05 3.33448e-05 1 8.10125";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);%target = new StaticShape() {datablock = "DeployedLTarget";position = "-107.076 476.854 104.428";rotation = "0.0500158 0.706223 -0.706221 174.274";scale = "0.625 1.66667 0.3";team = "1";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-24.9829 445.477 101.108";rotation = "-0.602699 -0.522977 0.602702 124.783";scale = "0.125 0.166666 14.0765";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate9";position = "-37.9081 533.992 100.5";rotation = "0 0 -1 36.0963";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-24.4879 445.407 100.769";rotation = "0.6027 0.522978 -0.6027 235.217";scale = "0.125 0.166666 14.0786";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-27.3345 529.357 100.5";rotation = "0 0 1 162.399";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-39.7037 536.971 101.25";rotation = "0.619971 -0.48091 0.619969 231.367";scale = "0.375 0.166666 7.99726";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate9";position = "-37.2297 534.382 100.5";rotation = "0 0 -1 49.8457";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-88.856 435.9 100.25";rotation = "0.522576 0.673669 0.522575 112.065";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-25.6461 528.604 100.5";rotation = "0 0 1 207.641";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-8.4482 496.267 100.25";rotation = "0.666718 -0.333147 0.666708 216.851";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate9";position = "-38.2396 535.126 100.5";rotation = "0 0 -1 47.5221";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-28.5544 531.174 100.5";rotation = "0 0 1 154.967";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate9";position = "-38.3785 535.732 100.5";rotation = "0 0 -1 60.6728";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-91.3425 445.586 100.5";rotation = "0 0 -1 104.398";scale = "5.00005 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate9";position = "-37.1043 535.499 100.5";rotation = "0 0 -1 69.2861";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-2.44423 488.27 100.5";rotation = "0 0 1 53.1017";scale = "4.99998 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate10";position = "-38.0671 536.083 100.5";rotation = "0 0 -1 76.1908";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.513 533.425 101";rotation = "0 0 -1 81.8986";scale = "0.125 0.166666 7";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.8058 533.071 102.5";rotation = "0.0500126 0.70622 0.706223 185.727";scale = "0.250023 0.999999 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.2655 533.389 100.75";rotation = "-0.631707 -0.548155 -0.548154 115.438";scale = "0.125 0.166666 3";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.2755 533.248 104.25";rotation = "0.0704642 0.995022 0.0704643 90.2861";scale = "0.125 0.166666 2.00018";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate10";position = "-38.2366 536.685 100.5";rotation = "0 0 -1 97.3398";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate10";position = "-36.5977 536.173 100.5";rotation = "0 0 -1 84.1893";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.028 533.213 101";rotation = "0 0 1 8.10153";scale = "0.125 0.166666 7";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-53.6402 451.827 110.236";rotation = "0.631709 0.548155 -0.548152 115.437";scale = "0.874987 0.166666 200.048";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree2";position = "-76.3594 434.384 100.51";rotation = "0 0 1 140.815";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-66.1993 427.901 120.25";rotation = "0.9044 0.30171 -0.301715 95.7476";scale = "6.5328 0.166666 39.9984";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-113.842 458.375 100.25";rotation = "-0.631714 -0.548155 -0.548146 115.438";scale = "0.125 0.166666 41.0004";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-14.8549 444.537 120.25";rotation = "0.995022 -0.0704702 0.0704672 90.2861";scale = "10.2992 0.166666 37.9972";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate10";position = "-36.8263 537.855 100.5";rotation = "0 0 -1 115.132";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-23.0577 531.005 100.5";rotation = "0 0 1 220.243";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-103.941 456.966 100.5";rotation = "0 0 1 8.10192";scale = "5.0003 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-25.2571 533.869 100.5";rotation = "0 0 1 190.47";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree12";position = "-62.4085 426.787 100.4";rotation = "0 0 1 158.552";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-23.2311 534.07 100.5";rotation = "0 0 1 204.768";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.6558 464.351 110.25";rotation = "-0.522972 0.602706 -0.602698 235.217";scale = "0.874987 0.166666 120.048";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-21.1529 538.131 105.5";rotation = "0.0704687 0.995022 0.0704687 90.2861";scale = "2.5 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration0";position = "-109.6 458.276 101.755";rotation = "-1.0872e-06 3.71883e-06 1 188.102";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);%target = new StaticShape() {datablock = "DeployedLTarget";position = "-109.635 458.029 104.555";rotation = "0.995022 -0.0704678 0.0704677 90.2861";scale = "0.625 1.66667 0.3";team = "1";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-49.6983 408.563 120.25";rotation = "0.6027 0.522978 0.6027 124.783";scale = "0.125 6.6667 80.047";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate11";position = "-22.7008 536.641 100.5";rotation = "0 0 -1 70.4669";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree1";position = "-22.4599 431.031 100.519";rotation = "0 0 -1 42.6568";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree1";position = "-26.6581 428.703 100.519";rotation = "0 0 -1 5.42953";scale = "0.75 0.75 0.75";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-76.8482 419.906 100.25";rotation = "0.408083 0.816661 0.408085 101.525";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree3";position = "-68.3035 422.576 100.4";rotation = "0 0 1 212.347";scale = "0.5 0.5 0.5";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8.53343 460.901 100.25";rotation = "0.522574 0.673667 0.522579 112.066";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-82.852 427.903 100.5";rotation = "0 0 1 233.102";scale = "4.99995 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "6.04695 470.587 100.5";rotation = "0 0 -1 104.397";scale = "5.00002 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-33.8741 448.763 110.236";rotation = "-0.631714 -0.54815 -0.548151 115.438";scale = "0.99997 0.166666 120.046";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-120.994 479.088 100.5";rotation = "0 0 1 8.10192";scale = "15.0003 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-123.46 459.996 100.249";rotation = "0.995022 -0.0704762 0.0704603 90.2861";scale = "15.1251 0.166666 37.9974";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-12.6145 418.083 120.25";rotation = "0.904403 0.301708 -0.301707 95.7475";scale = "5.00002 0.166666 52.2636";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree1";position = "-27.3564 419.18 100.4";rotation = "0 0 -1 70.6772";scale = "0.75 0.75 0.75";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-59.6337 409.725 100.25";rotation = "0.255157 0.932625 0.255159 93.9926";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree2";position = "-12.8286 428.29 100.519";rotation = "0 0 1 233.205";scale = "0.75 0.75 0.75";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-68.241 414.815 100.5";rotation = "0 0 1 210.603";scale = "4.9999 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-122.219 459.568 100.5";rotation = "0 0 1 188.103";scale = "4.23072 0.166666 39";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-111.094 477.679 100.25";rotation = "0.631713 0.548147 -0.548154 115.438";scale = "0.125 0.166666 80";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-59.3862 409.69 100.5";rotation = "0 0 1 8.10221";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedTree2";position = "-21.7698 416.576 100.519";rotation = "0 0 -1 110.794";scale = "0.75 0.75 0.75";team = "0";powerCount="1";Invincible="1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-59.6337 409.725 100.25";rotation = "0.706223 -0.0500186 0.70622 185.727";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-4.4671 423.887 100.25";rotation = "0.655786 0.374027 0.655781 138.985";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-50.7695 408.462 114.01";rotation = "0.0706474 0.997501 1.26442e-06 180";scale = "4.22697 0.166666 7.044";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "0.6237 432.494 100.5";rotation = "0 0 -1 59.3974";scale = "4.99993 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-49.6983 408.562 105.244";rotation = "0.0500203 0.706222 -0.706221 174.273";scale = "35.0552 18.976 0.872";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-150.443 481.533 120.25";rotation = "-0.631712 -0.548152 -0.54815 115.438";scale = "0.740412 0.166666 79.0006";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration0";position = "5.47092 435.843 100.586";rotation = "-3.67948e-06 -3.39498e-06 -1 81.8969";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);%target = new StaticShape() {datablock = "DeployedLTarget";position = "5.22342 435.878 103.386";rotation = "-0.522972 0.602704 -0.602701 235.216";scale = "0.625 1.66667 0.3";team = "1";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "28.546 457.8 100.25";rotation = "0.631716 0.548153 -0.548146 115.437";scale = "0.125 0.166666 40.9998";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.3284 406.976 117.005";rotation = "0.0704703 0.995022 0.0704703 90.2862";scale = "1.4975 0.166666 38.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "18.3983 459.245 100.5";rotation = "0 0 1 188.103";scale = "5.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-39.8333 406.906 100.25";rotation = "0.704304 0.0889572 0.704303 169.833";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-20.4614 411.879 100.25";rotation = "0.68822 0.229587 0.688218 154.139";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.0809 406.941 100.5";rotation = "0 0 1 8.10221";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-30.1474 409.392 100.5";rotation = "0 0 -1 14.3975";scale = "4.99995 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-12.4642 417.883 100.5";rotation = "0 0 -1 36.8973";scale = "5.00007 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-51.427 405.526 110.488";rotation = "-3.10419e-05 -1.67266e-05 1 8.10202";scale = "4.1085 0.166667 8.044";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-131.384 453.548 100.099";rotation = "0.99502 -0.0704764 0.0704798 90.2854";scale = "0.125 0.166666 14.0018";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "15.4375 440.221 100.25";rotation = "0.0500192 0.70622 0.706224 185.727";scale = "5 0.166666 38.0014";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-133.552 461.181 112";rotation = "0.706223 -0.0500208 0.706221 185.727";scale = "4 0.166666 5.96968";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-131.455 453.053 110.424";rotation = "0.602704 0.522972 0.602701 124.783";scale = "5.0375 0.166666 15.0037";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-42.8681 405.57 114.51";rotation = "-0.655384 0.755296 9.57406e-07 180";scale = "0.749985 0.166666 8.044";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-113.842 458.375 100.25";rotation = "0.631713 0.548147 -0.548154 115.438";scale = "0.125 0.166666 80";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-42.6205 405.535 114.26";rotation = "0.522974 -0.6027 0.602702 124.783";scale = "0.74999 0.166666 4.1318";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-133.61 453.865 100.099";rotation = "0.99502 -0.0704764 0.0704798 90.2854";scale = "1.00024 0.166666 14.0038";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-135.357 454.114 99.862";rotation = "0.852849 -0.426171 -0.301707 95.747";scale = "0.125 0.166666 23.9998";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "15.4375 440.221 120.25";rotation = "0.602705 0.52297 0.602701 124.783";scale = "0.125 6.6667 38.0014";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-152.675 465.853 120.25";rotation = "-0.631712 -0.548152 -0.54815 115.438";scale = "0.839615 0.166666 79.0006";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-59.8791 404.456 114.26";rotation = "-0.522973 0.602702 -0.602702 235.218";scale = "0.999732 0.166666 37.9996";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-131.173 453.265 100.099";rotation = "-0.522974 0.6027 0.602703 124.784";scale = "0.125 0.166666 8.99976";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-113.842 458.375 120.25";rotation = "0.0704678 0.995022 0.0704677 90.2861";scale = "0.125 0.166666 80";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "25.7975 438.494 100.25";rotation = "0.631716 0.548153 -0.548146 115.437";scale = "0.125 0.166666 40.9998";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-137.642 465.409 120.25";rotation = "0.995022 -0.0704708 0.0704698 90.2864";scale = "4.1436 0.166666 25.3572";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-49.4346 401.203 114.01";rotation = "0.997501 -0.0706466 -8.9551e-08 180";scale = "4.10057 0.166666 7.044";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-59.4215 409.443 110.25";rotation = "-0.995021 0.0704723 0.0704769 90.2856";scale = "0.125 6.83333 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "5.9971 441.313 120.25";rotation = "0.706223 -0.0500244 0.70622 185.727";scale = "0.125 0.166666 39.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-51.1438 398.41 100.5";rotation = "0.997501 -0.0706478 -2.91799e-06 180";scale = "4.74998 6.49619 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-60.5127 400.003 110.238";rotation = "0.706223 -0.0500158 0.706221 185.727";scale = "0.125 6.6669 38.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-138.71 461.915 100.5";rotation = "0 0 1 188.103";scale = "2.60547 0.166666 39";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-60.6921 398.745 112.81";rotation = "0.706223 -0.050018 0.70622 185.727";scale = "1.125 0.166666 16";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "9.34577 436.475 120.25";rotation = "-0.631719 -0.548146 -0.54815 115.438";scale = "2.03355 0.166666 23.754";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-60.5127 400.003 120.25";rotation = "0.706223 -0.0500158 0.706221 185.727";scale = "0.125 6.6669 38.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-135.031 457.661 100.039";rotation = "0.403523 0.350147 -0.84532 91.4973";scale = "1.77951 0.166666 27.6332";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-42.9351 386.894 110.25";rotation = "0.602701 0.522976 0.6027 124.783";scale = "5.125 0.166666 40.0012";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-48.812 397.053 112.81";rotation = "0.706223 -0.0500166 0.70622 185.727";scale = "1.125 0.166666 14.0001";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-145.59 455.318 110.162";rotation = "-0.625484 0.720846 -0.298583 209.051";scale = "0.125 0.166666 29.8782";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "25.5851 438.776 110.25";rotation = "0.0500192 0.70622 0.706224 185.727";scale = "0.125 6.83333 38.0014";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-144.534 462.734 110.162";rotation = "-0.631717 -0.548149 -0.548148 115.438";scale = "0.125 0.166666 1.33925";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-144.448 462.733 110.412";rotation = "0 0 -1 81.8974";scale = "0.125 0.389897 19.176";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.512 459.981 120.25";rotation = "-0.522973 0.602702 -0.602701 235.216";scale = "1.87524 0.166667 45.1244";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-154.569 456.092 110.424";rotation = "0.706223 -0.0500244 0.70622 185.727";scale = "5.0375 0.166666 47.1242";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-46.1889 392.156 112.815";rotation = "0.631717 0.548146 -0.548151 115.438";scale = "0.125 1.55167 16";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-145.38 455.542 109.985";rotation = "0.852849 -0.426171 -0.301707 95.747";scale = "0.125 0.166666 13.9979";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "25.55 438.529 100.5";rotation = "0 0 1 188.103";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-147.523 503.825 100";rotation = "0 0 -1 81.8974";scale = "10.2503 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-152.948 463.942 105.206";rotation = "-0.070478 -0.995021 0.0704706 90.2861";scale = "2.353 0.166667 18.341";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-46.4699 388.408 112.815";rotation = "0.602702 0.522976 0.6027 124.783";scale = "1.1635 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-150.412 483.528 120.25";rotation = "0.995022 -0.0704678 0.0704677 90.2861";scale = "0.125 0.166666 41.9992";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration0";position = "24.0505 431.543 100.862";rotation = "-3.67173e-06 3.69288e-06 1 98.1036";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);%target = new StaticShape() {datablock = "DeployedLTarget";position = "24.298 431.508 103.662";rotation = "0.631721 0.548147 -0.548146 115.437";scale = "0.625 1.66667 0.3";team = "1";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-152.954 479.854 110.252";rotation = "0.0500176 0.70622 0.706224 185.727";scale = "0.874478 0.166666 88.9926";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-43.1473 387.177 104.99";rotation = "0.0704698 0.995021 0.0704715 90.2856";scale = "2.495 0.166666 38.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-55.562 389.449 110.488";rotation = "0 0 1 98.1024";scale = "0.125 4.25943 19.024";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-147.452 504.318 120.25";rotation = "0.995022 -0.0704678 0.0704677 90.2861";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-148.704 463.591 110.162";rotation = "0.0500194 0.706223 -0.70622 174.273";scale = "2.12496 0.166666 16";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-49.2367 388.549 117.411";rotation = "0.706223 -0.0500186 0.70622 185.727";scale = "1.29425 0.166666 5.0182";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-43.1408 387.223 120.216";rotation = "0.0704698 0.995021 0.0704715 90.2856";scale = "0.125 0.166666 38";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-44.9147 387.934 110.488";rotation = "0 0 1 98.1024";scale = "0.125 1.23764 19.024";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.16 464.225 120.25";rotation = "0.0500158 0.706223 0.706221 185.727";scale = "0.125 0.166666 37.997";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-150.554 484.308 100.25";rotation = "0.631715 0.548146 -0.548154 115.438";scale = "10.1246 0.166666 18.9997";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "0.111535 401.747 100.509";rotation = "0 0 1 98.103";scale = "20.1247 0.166666 39.922";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-154.287 456.304 100.599";rotation = "0.0500223 0.706223 0.70622 185.727";scale = "0.125 0.166666 14.9998";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-154.287 456.303 110.674";rotation = "0.602705 0.52297 0.602701 124.783";scale = "4.91275 0.166666 15.0017";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-149.655 524.33 120.25";rotation = "-0.995022 0.0704723 0.0704656 90.2867";scale = "2.37521 0.166667 39.9994";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-48.1257 376.548 110.231";rotation = "0.0500141 0.706219 0.706224 185.727";scale = "0.125 0.166666 22.949";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-48.1576 376.553 112.64";rotation = "0.548146 -0.631713 -0.548156 115.438";scale = "1.07975 0.166667 22.949";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-152.033 473.913 120.25";rotation = "0.0704678 0.995022 0.0704677 90.2861";scale = "0.125 6.49927 18.9997";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-48.1257 376.548 115.05";rotation = "0.0500141 0.706219 0.706224 185.727";scale = "0.125 0.166666 22.949";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-1.5347 361.83 120.25";rotation = "0.0500213 0.70622 0.706223 185.728";scale = "0.125 0.166666 159.002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.443 464.013 100.25";rotation = "0.631712 0.548148 -0.548154 115.438";scale = "0.125 0.166666 20";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-50.445 372.837 110.23";rotation = "0.050012 0.70622 0.706224 185.727";scale = "0.76158 0.166666 30.951";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-49.5195 388.336 112.636";rotation = "-0.995021 0.0704723 0.0704721 90.2861";scale = "0.125 1.432 30.949";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-158.145 464.682 100.5";rotation = "0 0 1 188.103";scale = "2.62495 0.166666 39";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-160.206 485.683 100";rotation = "0 0 -1 81.8974";scale = "10.1256 0.166666 40.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-50.445 372.837 115.034";rotation = "0.050012 0.70622 0.706224 185.727";scale = "0.761565 0.166666 30.949";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-163.06 465.634 120.25";rotation = "0.0500158 0.706223 0.706221 185.727";scale = "0.125 0.166666 81.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration2";position = "-161.394 473.793 101.72";rotation = "-3.67943e-06 -3.39495e-06 -1 81.8974";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);%target = new StaticShape() {datablock = "DeployedLTarget";position = "-161.641 473.828 104.52";rotation = "-0.522974 0.602703 -0.6027 235.217";scale = "0.625 1.66667 0.3";team = "1";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.443 464.012 120.25";rotation = "0.0704678 0.995022 0.0704677 90.2861";scale = "0.125 0.166666 20";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-156.225 515.417 120.25";rotation = "-0.0704687 -0.995022 0.0704699 90.2862";scale = "0.125 6.4992 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "15.3671 439.727 100.25";rotation = "0.0500229 0.706223 -0.70622 174.273";scale = "5 0.166666 160";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "4.71363 403.941 120.25";rotation = "-0.631718 -0.548146 -0.54815 115.439";scale = "5.56077 0.166666 23.754";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-44.4483 375.772 110.481";rotation = "0 0 1 188.102";scale = "1.99997 0.166666 8.622";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.2397 373.405 110.231";rotation = "0.631711 0.548156 -0.548148 115.438";scale = "0.99999 0.166666 17.0003";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.2397 373.405 115.046";rotation = "0.631711 0.548156 -0.548148 115.438";scale = "0.999738 0.166666 17.0001";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.4872 373.441 110.481";rotation = "0 0 1 188.102";scale = "0.125 1.3333 8.638";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-48.3997 372.294 109.98";rotation = "-3.43184e-06 -2.93588e-07 1 188.103";scale = "1.81249 0.166667 9.61";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "10.7187 360.085 120.25";rotation = "0.0500213 0.70622 0.706223 185.728";scale = "0.125 0.166666 159.004";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-44.8109 371.783 115.034";rotation = "0.631714 0.548153 -0.548148 115.438";scale = "0.125 0.166666 14.5002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.0921 368.034 112.632";rotation = "0.602701 0.522975 0.602701 124.783";scale = "1.326 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.2985 369.515 115.042";rotation = "0.631714 0.548155 -0.548146 115.438";scale = "1.00024 0.166667 6.59394";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.0509 369.48 109.981";rotation = "0 0 -1 81.898";scale = "1.00022 0.166666 10.638";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.1272 367.786 100.5";rotation = "0 0 1 8.10279";scale = "0.125 0.166666 39.94";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-43.2476 367.52 109.986";rotation = "0.755296 0.655383 9.50147e-06 179.999";scale = "0.125 1.09899 18.972";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.6155 367.287 117.379";rotation = "0.706223 -0.0500129 -0.70622 174.273";scale = "1.2955 0.166666 6.59412";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "23.9921 438.505 110.236";rotation = "-0.995021 0.0704703 0.0704712 90.2861";scale = "0.643777 0.166666 199.012";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-31.8187 364.805 100.188";rotation = "0.0696232 0.983304 0.168122 45.6864";scale = "0.125 0.551843 28.4222";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.6629 364.022 100.5";rotation = "0 0 1 98.103";scale = "1.77649 0.166666 6.766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "25.5149 438.281 110.249";rotation = "-0.548148 0.63172 -0.548146 115.437";scale = "5.12502 0.166666 199.999";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.3748 367.822 100.25";rotation = "-0.631715 -0.548147 -0.548152 115.437";scale = "0.125 0.166666 80.0012";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-42.4911 361.138 110.233";rotation = "0.631711 0.548156 -0.548148 115.438";scale = "5.2312 0.166666 6.59392";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-23.6945 364.737 119.97";rotation = "0.755293 0.655387 8.30763e-07 180";scale = "0.125 12.0678 38.94";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-205.233 522.395 100.25";rotation = "0.522972 -0.602701 0.602704 124.783";scale = "4.87418 0.166667 119.004";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-46.2284 360.051 103.883";rotation = "-0.655381 0.755299 9.5741e-07 180";scale = "0.125 0.166666 6.766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-44.8797 367.751 120.22";rotation = "0.706223 -0.0500187 0.70622 185.727";scale = "0.125 0.166666 79.0006";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-46.3288 359.345 103.883";rotation = "-0.655381 0.755299 9.5741e-07 180";scale = "0.125 0.166666 6.766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-46.4652 358.388 103.883";rotation = "-0.655381 0.755299 9.5741e-07 180";scale = "0.125 0.166666 6.766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-174.617 528.135 100";rotation = "0 0 1 188.103";scale = "15.0005 0.166666 41.0002";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-6.083 360.012 120.22";rotation = "-0.522969 0.602702 0.602705 124.783";scale = "0.97195 0.166666 79.0004";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-45.1623 367.539 112.176";rotation = "-0.548148 0.63172 -0.548146 115.437";scale = "4.14675 0.166666 39.0034";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-148.618 522.714 110.252";rotation = "0.63171 0.548153 -0.548153 115.437";scale = "0.727055 0.166666 112.006";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-157.634 505.52 100.25";rotation = "0.631715 0.54815 -0.548149 115.438";scale = "0.125 0.166666 99.0042";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-182.386 509.04 100.5";rotation = "0 0 1 98.103";scale = "0.125 16.667 39";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-157.635 505.518 120.25";rotation = "0.631712 0.548152 -0.54815 115.438";scale = "0.125 0.166666 99.0024";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "0.08392 371.424 120.25";rotation = "-0.631719 -0.548146 -0.54815 115.438";scale = "4.86355 0.166666 23.754";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-156.204 515.562 120.25";rotation = "0.631711 0.54815 -0.548154 115.438";scale = "1.96665 0.166666 99.0022";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-47.2617 352.793 100.5";rotation = "0 0 1 98.103";scale = "2.30325 0.166666 6.766";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-15.7095 363.346 100.25";rotation = "0.0500215 0.706223 -0.706221 174.273";scale = "14.9999 0.166666 38.9994";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "14.026 359.362 120.25";rotation = "-0.522972 0.602702 0.602703 124.784";scale = "0.125 0.166666 39.0004";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-8.2632 344.698 120.22";rotation = "-0.522969 0.602702 0.602705 124.783";scale = "1.04418 0.166666 79.0006";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8.91 341.698 110.236";rotation = "-0.522978 0.6027 0.6027 124.783";scale = "0.76943 0.166666 113.85";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-192.588 511.909 100.154";rotation = "-0.38254 0.0270938 0.923542 187.484";scale = "0.125 0.767977 28.5522";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-18.4935 343.792 99.9995";rotation = "0 0 1 188.104";scale = "15 0.166666 40.9982";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "4.09084 360.524 120.235";rotation = "-0.54815 0.631718 -0.548147 115.437";scale = "0.125 6.6666 38.9974";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-202.339 528.893 110.252";rotation = "0.0500151 0.706223 -0.706221 174.273";scale = "0.974463 0.166666 33.1812";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration2";position = "0.492141 341.594 101.869";rotation = "-9.85943e-07 3.71885e-06 1 188.104";scale = "1 1 1";team = "0";powerCount="1";Invincible="1";needsfit = "1";};checkPowerObject(%building);%target = new StaticShape() {datablock = "DeployedLTarget";position = "0.4569 341.346 104.669";rotation = "0.99502 -0.070484 0.0704837 90.2862";scale = "0.625 1.66667 0.3";team = "1";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-206.189 517.46 104.492";rotation = "0.7553 0.65538 8.30753e-07 180";scale = "2.3646 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.106 532.081 100.25";rotation = "-0.0500213 -0.706219 0.706224 185.727";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-205.463 522.556 104.489";rotation = "0.7553 0.65538 8.30753e-07 180";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-205.347 523.369 104.489";rotation = "0.7553 0.65538 8.30753e-07 180";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.982 525.929 101.253";rotation = "-0.548149 0.631718 -0.548146 115.437";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.982 525.929 101.937";rotation = "-0.548149 0.631718 -0.548146 115.437";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.982 525.929 102.626";rotation = "-0.548149 0.631718 -0.548146 115.437";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.982 525.929 103.219";rotation = "-0.548149 0.631718 -0.548146 115.437";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-205.244 524.089 104.489";rotation = "0.7553 0.65538 8.30753e-07 180";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.982 525.929 103.867";rotation = "-0.548149 0.631718 -0.548146 115.437";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-205.148 524.764 104.489";rotation = "0.7553 0.65538 8.30753e-07 180";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-205.062 525.37 104.489";rotation = "0.7553 0.65538 8.30753e-07 180";scale = "0.125 0.166666 8";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-206.854 512.777 112.244";rotation = "0.602704 0.522972 0.602701 124.783";scale = "3.8775 0.166666 38.9994";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.544 529.005 100.5";rotation = "0 0 1 98.103";scale = "1.55347 0.166666 7.978";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-204.106 532.081 120.25";rotation = "0.0500158 0.706223 -0.706221 174.273";scale = "0.125 0.166666 40";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-213.109 527.374 102.25";rotation = "0.706223 -0.0500244 0.70622 185.727";scale = "1.125 0.166666 15.9998";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-213.454 523.172 100.25";rotation = "0.995021 -0.0704771 0.0704714 90.2861";scale = "3.8747 0.166667 7.92106";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-213.738 522.96 100";rotation = "0 0 1 188.103";scale = "3.99965 0.166666 9";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-213.455 523.17 104.25";rotation = "0.0500256 0.706223 0.70622 185.727";scale = "3.87445 0.166667 7.919";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-212.397 530.594 100.25";rotation = "-0.995021 0.0704738 0.0704754 90.2856";scale = "0.125 0.166666 6.0726";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-212.327 531.091 102.5";rotation = "-0.548149 0.631717 -0.548148 115.438";scale = "1 0.166666 7.0745";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-216.856 527.656 100.25";rotation = "0.0500244 0.706225 0.706218 185.727";scale = "1.87496 0.166667 7.07478";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-220.033 531.934 100.25";rotation = "-0.631714 -0.548154 -0.548146 115.437";scale = "0.125 0.166666 15.9976";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-220.284 530.184 104.25";rotation = "0.706223 -0.0500201 0.706221 185.727";scale = "0.125 1.34671 15.0017";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-220.247 532.221 102.25";rotation = "-0.54815 0.631715 -0.548149 115.438";scale = "1.12503 0.166666 16.0035";team = "0";powerCount="1";Invincible="1";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
474
missions/DerGott.mis
Normal file
474
missions/DerGott.mis
Normal file
|
|
@ -0,0 +1,474 @@
|
|||
// DisplayName = Der Gott
|
||||
// MissionTypes = Sabotage Infection
|
||||
|
||||
//--- MISSION QUOTE BEGIN ---
|
||||
//Der Gott ist großartig!
|
||||
//Mein Gott ist nicht...
|
||||
//--- MISSION QUOTE END ---
|
||||
|
||||
//--- MISSION STRING BEGIN ---
|
||||
|
||||
//--- MISSION STRING END ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
cdTrack = "6";
|
||||
musicTrack = "desert";
|
||||
powerCount = "0";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1024 -1024 2048 2048";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SpawnSphere(PSpawn) {
|
||||
position = "0.0299911 -3.61698 151.08";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "20";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "0";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(Team2) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SpawnSphere(ZSpawn) {
|
||||
position = "-202.158 -210.376 151.168";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "10";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "0";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(Platform) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new InteriorInstance(1) {
|
||||
position = "-2.03757 -2.4216 155.125";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(2) {
|
||||
position = "9.9638 -18.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(3) {
|
||||
position = "9.9638 -34.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(4) {
|
||||
position = "9.9638 -50.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(5) {
|
||||
position = "9.9638 -66.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(6) {
|
||||
position = "9.9638 -82.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(7) {
|
||||
position = "9.9638 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(8) {
|
||||
position = "-6.0362 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(9) {
|
||||
position = "-22.0362 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(10) {
|
||||
position = "-38.0362 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(11) {
|
||||
position = "-54.0362 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(12) {
|
||||
position = "-70.0362 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(13) {
|
||||
position = "-86.0362 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(14) {
|
||||
position = "-102.036 -98.4011 153.63";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(15) {
|
||||
position = "-102.098 -114.271 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(16) {
|
||||
position = "-118.098 -114.296 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(17) {
|
||||
position = "-134.098 -114.322 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(18) {
|
||||
position = "-150.098 -114.347 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(19) {
|
||||
position = "-166.097 -114.373 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(20) {
|
||||
position = "-182.097 -114.398 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(21) {
|
||||
position = "-198.098 -114.424 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(22) {
|
||||
position = "-214.097 -114.449 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(23) {
|
||||
position = "-214.072 -130.449 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(24) {
|
||||
position = "-214.047 -146.449 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(25) {
|
||||
position = "-214.021 -162.449 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(26) {
|
||||
position = "-213.995 -178.449 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(27) {
|
||||
position = "-213.97 -194.449 153.63";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(28) {
|
||||
position = "-201.97 -210.449 155.125";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(Z1) {
|
||||
position = "-201.874 -210.457 144.98";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bbunk5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(Z2) {
|
||||
position = "-177.164 -170.53 73.3739";
|
||||
rotation = "-0.799917 0.58219 0.145561 34.7143";
|
||||
scale = "1.07607 6.93207 7.43017";
|
||||
interiorFile = "bplat4.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new StaticShape(P1) {
|
||||
position = "-1.93296 10.4194 155.074";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "33";
|
||||
Trigger = "5722";
|
||||
team = "1";
|
||||
};
|
||||
|
||||
new StaticShape(P2) {
|
||||
position = "-201.489 -196.719 155.074";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "34";
|
||||
Trigger = "5723";
|
||||
team = "2";
|
||||
};
|
||||
|
||||
};
|
||||
new Trigger(This) {
|
||||
position = "-477.699 293.106 118.3";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "800 800 5";
|
||||
dataBlock = "deathTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
};
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Flatland.ter";
|
||||
squareSize = "8";
|
||||
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
position = "0 0 0 1";
|
||||
GraphFile = "Flatland.nav";
|
||||
coverage = "0";
|
||||
rotation = "0 0 0 0";
|
||||
locked = "true";
|
||||
conjoinBowlDev = "20";
|
||||
scale = "1 1 1";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "0";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.250000 0.750000 1.000000 1.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.600000 0.600000 0.600000 1.000000";
|
||||
fogVolume1 = "200 99 101";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "sky_desert_blue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
920
missions/EngelamHimmel.mis
Normal file
920
missions/EngelamHimmel.mis
Normal file
|
|
@ -0,0 +1,920 @@
|
|||
// DisplayName = Engel am Himmel
|
||||
// MissionTypes = None CTF Sabotage Domination Infection
|
||||
|
||||
//--- MISSION QUOTE BEGIN ---
|
||||
//Gott weiss ich will kein Engel sein!
|
||||
// Gott weiss ich will kein Engel sein...
|
||||
//--- MISSION QUOTE END ---
|
||||
|
||||
//--- MISSION STRING BEGIN ---
|
||||
//
|
||||
//--- MISSION STRING END ---
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["EngelamHimmel"] = "126.7 14.7 181";
|
||||
$SabotageGame::ObjectiveLocation2["EngelamHimmel"] = "-282 16 181";
|
||||
$SabotageGame::BombLocation["EngelamHimmel"] = "-100 0 251";
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
cdTrack = "6";
|
||||
powerCount = "0";
|
||||
musicTrack = "desert";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1024 -1024 2048 2048";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "124.2 16 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "10";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "0";
|
||||
|
||||
missionTypesList = "CTF";
|
||||
};
|
||||
};
|
||||
new SimGroup(objs) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new StaticShape() {
|
||||
position = "124.119 4.04519 180.034";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "33";
|
||||
Trigger = "5681";
|
||||
team = "1";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "124.119 27.8452 180.034";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "34";
|
||||
Trigger = "5683";
|
||||
team = "1";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "82.1193 4.04519 180.034";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "35";
|
||||
Trigger = "5685";
|
||||
team = "1";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "82.1193 27.8452 180.034";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "36";
|
||||
Trigger = "5687";
|
||||
team = "1";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(Team2) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-324 16 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "10";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "0";
|
||||
|
||||
missionTypesList = "CF";
|
||||
};
|
||||
};
|
||||
new SimGroup(objs) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new StaticShape() {
|
||||
position = "-281.864 28.0225 180.034";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "37";
|
||||
Trigger = "5693";
|
||||
team = "2";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-323.864 4.22249 180.034";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "38";
|
||||
Trigger = "5695";
|
||||
team = "2";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-281.864 4.22249 180.034";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "39";
|
||||
Trigger = "5697";
|
||||
team = "2";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-323.629 27.8179 180.034";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "40";
|
||||
Trigger = "5699";
|
||||
team = "2";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(Platform) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(T1) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "40.2 32 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-43.8 0 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-43.8 32 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "40.2 0 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-1.8 32 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "82.2 16 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "124.2 16 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new SimGroup(T2) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-156 0 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-240 32 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-324 16 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-282 16 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-198 32 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-240 0 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-156 32 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new SimGroup(T0) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(center) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 0 180";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-72 0 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -24 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 24 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-128 0 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 0 250";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new SimGroup(leftcenter) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 40 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 56 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 72 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 136 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 120 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 104 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 88 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-116 120 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-84 120 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new SimGroup(rightcenter) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -40 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -56 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -136 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -72 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -104 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -88 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new InteriorInstance(InteriorInstance) {
|
||||
position = "-100 -120 178.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Flatland.ter";
|
||||
squareSize = "8";
|
||||
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
position = "0 0 0 1";
|
||||
rotation = "0 0 0 0";
|
||||
coverage = "0";
|
||||
locked = "true";
|
||||
GraphFile = "Flatland.nav";
|
||||
scale = "1 1 1";
|
||||
conjoinBowlDev = "20";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera(Cam1) {
|
||||
position = "-100 -120 185";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new Camera(Cam2) {
|
||||
position = "-297.766 -66.539 185.463";
|
||||
rotation = "-0.016081 0.00386002 0.999863 26.999";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new Camera(Cam3) {
|
||||
position = "-250 -120 185";
|
||||
rotation = "0.344093 0.121718 -0.931013 41.6084";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
new Camera(Cam4) {
|
||||
position = "-83.3005 68.739 271.2";
|
||||
rotation = "0 0 1 179.909";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "0";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.250000 0.750000 1.000000 1.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.600000 0.600000 0.600000 1.000000";
|
||||
fogVolume1 = "200 99 101";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "sky_desert_blue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Triggers) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Trigger(KillTrigger2) {
|
||||
position = "-469.61 397.051 130.4";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "800 800 20";
|
||||
dataBlock = deathTrigger;
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(KillTrigger1) {
|
||||
position = "-199.58 103.613 220";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "200 200 5";
|
||||
dataBlock = deathTrigger;
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans1) {
|
||||
position = "102.218 18.0674 179.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans2) {
|
||||
position = "-303.982 18.0674 179.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans3) {
|
||||
position = "58.818 18.0674 179.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans4) {
|
||||
position = "-260.982 18.0674 179.5";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans5) {
|
||||
position = "-123.157 2.00044 249.283";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans6) {
|
||||
position = "-78.7552 2.05212 249.187";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans7) {
|
||||
position = "-97.7215 -20.965 247.89";
|
||||
rotation = "0 0 1 90";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(Trans8) {
|
||||
position = "-97.7215 23.235 247.89";
|
||||
rotation = "0 0 1 90";
|
||||
scale = "1.96239 4.10336 4.63431";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
};
|
||||
new SimGroup(Markers) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Marker(Pos0) {
|
||||
position = "-85 1 252";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos1) {
|
||||
position = "40 37 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos2) {
|
||||
position = "-43 -10 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos3) {
|
||||
position = "-153 34 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos4) {
|
||||
position = "-240 -1 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos5) {
|
||||
position = "-101 3 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos6) {
|
||||
position = "-100 -136 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos7) {
|
||||
position = "-100 125 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos8) {
|
||||
position = "139 16 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos9) {
|
||||
position = "-337 17 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos10) {
|
||||
position = "-114 1 252";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos11) {
|
||||
position = "56 -5 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos12) {
|
||||
position = "-101 15 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos13) {
|
||||
position = "-229 34 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos14) {
|
||||
position = "-170 -1 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos15) {
|
||||
position = "-101 -30 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos16) {
|
||||
position = "-100 -65 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos17) {
|
||||
position = "-101 83 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos18) {
|
||||
position = "98 10 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
new Marker(Pos19) {
|
||||
position = "-297 23 182";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
seqNum = "0";
|
||||
msToNext = "1000";
|
||||
};
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
144
missions/FlatlandBigH.mis
Normal file
144
missions/FlatlandBigH.mis
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
// DisplayName = Flatland Big Horde
|
||||
// MissionTypes = Horde Helljump
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// Flat. Land. ZOMBIES!
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//[Horde] Hold out from 50 Waves of Zombies
|
||||
//[Horde] The Waves get tougher as you kill them
|
||||
//[Horde] 1 Life Per Wave, Lives do not Stack
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
musicTrack = "desert";
|
||||
cdTrack = "6";
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1024 -1024 2048 2048";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
new SimGroup(Team1) {
|
||||
new SimGroup(spawnspheres) {
|
||||
new SpawnSphere() {
|
||||
position = "0 0 100";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
radius = "100";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "100";
|
||||
locked = "1";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
providesPower = "1";
|
||||
new StaticShape(InventoryStation) {
|
||||
position = "0 0 100";
|
||||
rotation = "0 0 1 -90";
|
||||
scale = "1 1 1";
|
||||
team = "0";
|
||||
dataBlock = "StationInventory";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape(VehicleStation) {
|
||||
position = "50 0 97";
|
||||
rotation = "0 0 1 -90";
|
||||
scale = "1 1 1";
|
||||
team = "0";
|
||||
dataBlock = "StationVehiclePad";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Flatland.ter";
|
||||
squareSize = "32";
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
rotation = "0 0 0 0";
|
||||
GraphFile = "FlatlandBig.nav";
|
||||
position = "0 0 0 1";
|
||||
scale = "1 1 1";
|
||||
coverage = "0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
new Camera() {
|
||||
position = "0 0 200";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
team = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "5000";
|
||||
useSkyTextures = "0";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.250000 0.750000 1.000000 1.000000";
|
||||
fogDistance = "4500";
|
||||
fogColor = "0.600000 0.600000 0.600000 1.000000";
|
||||
fogVolume1 = "200 99 101";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "sky_desert_blue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
469
missions/FrozenNight.mis
Normal file
469
missions/FrozenNight.mis
Normal file
|
|
@ -0,0 +1,469 @@
|
|||
// DisplayName = Frozen Night
|
||||
// MissionTypes = Horde Helljump
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// a Light snow falls over this soon to be wasteland
|
||||
// -Phantom139 (ServerSide)
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//[Horde] Hold out from 50 Waves of Zombies
|
||||
//[Horde] The Waves get tougher as you kill them
|
||||
//[Horde] 1 Life Per Wave, Lives do not Stack
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
powerCount = "1";
|
||||
CTF_scoreLimit = "8";
|
||||
cdTrack = "5";
|
||||
musicTrack = "ice";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-896 -696 1504 1392";
|
||||
flightCeiling = "300";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sun() {
|
||||
position = "-361.911 369.705 299.466";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "0.250000 0.350000 0.350000 1.000000";
|
||||
ambient = "0.240000 0.350000 0.350000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "560";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.260000 0.410000 0.440000 1.000000";
|
||||
fogDistance = "420";
|
||||
fogColor = "0.260000 0.410000 0.440000 1.000000";
|
||||
fogVolume1 = "0 0 0";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Starfallen.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38";
|
||||
high_fogVolume2 = "-1 -1991.03 nan";
|
||||
high_fogVolume3 = "-1 7945.87 7.22445e-09";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.0000003 0.0000003";
|
||||
};
|
||||
new Precipitation(Precipitation) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Snow";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
percentage = "1";
|
||||
color1 = "1.000000 1.000000 1.000000 1.000000";
|
||||
color2 = "-1.000000 0.000000 0.000000 1.000000";
|
||||
color3 = "-1.000000 0.000000 0.000000 1.000000";
|
||||
offsetSpeed = "0.25";
|
||||
minVelocity = "0.25";
|
||||
maxVelocity = "1.5";
|
||||
maxNumDrops = "2000";
|
||||
maxRadius = "125";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/snowdet2";
|
||||
terrainFile = "Katabatic.ter";
|
||||
squareSize = "8";
|
||||
|
||||
locked = "true";
|
||||
position = "-1024 -1024 0";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "75";
|
||||
cullDensity = "0.1";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
conjoinBowlDev = "20";
|
||||
rotation = "0 0 0 0";
|
||||
locked = "true";
|
||||
scale = "1 1 1";
|
||||
coverage = "0";
|
||||
GraphFile = "Katabatic.nav";
|
||||
position = "0 0 0 1";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera() {
|
||||
position = "-482.862 327.444 163.649";
|
||||
rotation = "0.373651 0.211465 -0.903143 64.1455";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Camera() {
|
||||
position = "247.14 -70.3646 152.739";
|
||||
rotation = "0.0387592 -0.173977 0.983987 155.271";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Camera() {
|
||||
position = "119.074 79.2511 158.051";
|
||||
rotation = "0.0802951 0.069717 -0.99433 82.2557";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Camera() {
|
||||
position = "-231.546 357.086 109.491";
|
||||
rotation = "0.0207373 -0.0549604 0.998273 138.721";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "0";
|
||||
};
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-2325.23 2327.72 78.025";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xbunkb.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-2318.73 2327.68 80.1842";
|
||||
rotation = "0 0 1 91.6732";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationAmmo";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
powerCount = "1";
|
||||
Target = "33";
|
||||
Trigger = "9048";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-2332.13 2327.67 79.9842";
|
||||
rotation = "0 0 -1 90.7099";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationAmmo";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
powerCount = "1";
|
||||
Target = "34";
|
||||
Trigger = "9187";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2287.01 2314.66 76.325";
|
||||
rotation = "0 0 1 91.1003";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2289.43 2318.04 76.325";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2289.95 2311.75 76.125";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2331.19 2357.79 79.6297";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2334.3 2355.2 79.6787";
|
||||
rotation = "0 0 1 90.5273";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2328.7 2354.99 79.6617";
|
||||
rotation = "0 0 1 90.5273";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2320.16 2358.5 77.3036";
|
||||
rotation = "0 0 1 180.091";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2290.06 2322.16 75.225";
|
||||
rotation = "0 0 -1 90.5273";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2290.07 2328.14 75.225";
|
||||
rotation = "0 0 -1 90.5273";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2290.04 2334.07 75.225";
|
||||
rotation = "0 0 -1 90.5273";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2292.9 2339.99 75.225";
|
||||
rotation = "0 0 1 218.479";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2297.59 2343.74 75.225";
|
||||
rotation = "0 0 1 218.479";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2310.6 2353.58 75.225";
|
||||
rotation = "0 0 1 218.479";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2315.33 2357.34 76.1517";
|
||||
rotation = "0 0 1 218.479";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2324.59 2358.34 78.0835";
|
||||
rotation = "0 0 1 180.091";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2354.24 2322.29 75.55";
|
||||
rotation = "0 0 1 91.6732";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2353.95 2332.7 76.45";
|
||||
rotation = "0 0 1 182.201";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2354.71 2326.43 76.65";
|
||||
rotation = "0 0 1 182.201";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2357 2329.9 76.65";
|
||||
rotation = "-0 0 -1 86.6991";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2352.89 2336.43 75.2324";
|
||||
rotation = "0 0 1 91.6732";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2352.65 2342.42 75.3226";
|
||||
rotation = "0 0 1 91.6732";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2349.47 2347.52 75.4785";
|
||||
rotation = "0 0 1 143.239";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2338.35 2353.29 78.3799";
|
||||
rotation = "0 0 1 143.239";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2338.53 2283.44 79.455";
|
||||
rotation = "0 0 -1 90.1369";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2332.93 2283.3 79.472";
|
||||
rotation = "0 0 -1 90.1369";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2336.01 2280.67 79.423";
|
||||
rotation = "0 0 1 179.336";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable1l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2354.32 2316.07 75.225";
|
||||
rotation = "0 0 1 91.6732";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2352.69 2309.98 75.225";
|
||||
rotation = "0 0 1 55.0039";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2342.06 2288.11 77.7731";
|
||||
rotation = "0 0 1 55.0039";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2345.45 2293.12 76.6098";
|
||||
rotation = "0 0 1 55.0039";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2347.33 2299.19 75.356";
|
||||
rotation = "0 0 1 55.0039";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2329.18 2284.55 76.9785";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2324.14 2287.69 76.4269";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2319.15 2291.24 75.225";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2314.49 2294.4 75.225";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2309.75 2297.29 75.225";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2299.11 2305.14 75.225";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-2294.25 2308.8 75.225";
|
||||
rotation = "0 0 1 145.531";
|
||||
scale = "1 1 1";
|
||||
shapeName = "stackable3l.dts";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "29.503 41.4022 76.7842";
|
||||
rotation = "0 0 1 180.482";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "35";
|
||||
Trigger = "11143";
|
||||
powerCount = 1;
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "10.5234 45.645 73.9798";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationVehiclePad";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "37";
|
||||
Ready = "1";
|
||||
station = "11199";
|
||||
|
||||
powerCount = 1;
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
393
missions/GeometricOrder.mis
Normal file
393
missions/GeometricOrder.mis
Normal file
|
|
@ -0,0 +1,393 @@
|
|||
// DisplayName = Geometric Order
|
||||
// MissionTypes = Sabotage Domination Infection
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// Lives held inside these walls are between mortal enemies
|
||||
// By: Phantom139, TWM2 MAP Pack 2
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
// Make advantage of the buildings encompassing the middle
|
||||
// Beware of Sniper Spots
|
||||
// And if sniping, be aware of back routes
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
musicTrack = "lush";
|
||||
cdTrack = "2";
|
||||
powerCount = "0";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-825 -900 1200 1500";
|
||||
flightCeiling = "5000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.622506 0.622506 -0.474313";
|
||||
color = "0.800000 0.800000 0.800000 1.000000";
|
||||
ambient = "0.400000 0.400000 0.400000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "70";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
coverage = "0";
|
||||
scale = "1 1 1";
|
||||
GraphFile = "slapmydash.nav";
|
||||
squareSize = "75";
|
||||
XDimOverSize = "0";
|
||||
position = "-1024 -1024 0 1";
|
||||
YDimOverSize = "0";
|
||||
rotation = "0 0 0 0";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Slapdash.ter";
|
||||
squareSize = "75";
|
||||
emptySquares = "94579 99875";
|
||||
|
||||
locked = "true";
|
||||
hazeDistance = "250";
|
||||
position = "-1024 -1024 0";
|
||||
visibleDistance = "1200";
|
||||
};
|
||||
|
||||
new Sky(Sky) {
|
||||
position = "-832 -1272 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "1000";
|
||||
useSkyTextures = "1";
|
||||
SkySolidColor = "0.390000 0.390000 0.390000 0.000000";
|
||||
fogDistance = "800";
|
||||
fogColor = "0.500000 0.500000 0.500000 1.000000";
|
||||
fogVolume1 = "300 50 100";
|
||||
fogVolume2 = "350 100 170";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Lush_l4.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 -nan";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 -nan";
|
||||
cloudSpeed0 = "0.000500 0.000500";
|
||||
locked = "true";
|
||||
};
|
||||
new Precipitation(Precipitation) {
|
||||
position = "61.9596 188.997 89.1805";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Rain";
|
||||
percentage = "1";
|
||||
color1 = "0.600000 0.600000 0.600000 1.000000";
|
||||
color2 = "-1.000000 0.000000 0.000000 1.000000";
|
||||
color3 = "-1.000000 0.000000 0.000000 1.000000";
|
||||
offsetSpeed = "0.25";
|
||||
minVelocity = "1.25";
|
||||
maxVelocity = "4";
|
||||
maxNumDrops = "6000";
|
||||
maxRadius = "80";
|
||||
locked = "true";
|
||||
};
|
||||
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
};
|
||||
|
||||
new SimGroup(Team2) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
new Trigger(KillTrigger) {
|
||||
position = "-238 -286 199";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "800 800 20";
|
||||
dataBlock = deathTrigger;
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
|
||||
if(isObject(TWM2MissionAspectsGroup)) {
|
||||
TWM2MissionAspectsGroup.delete();
|
||||
}
|
||||
new SimGroup(TWM2MissionAspectsGroup) {
|
||||
//For the building
|
||||
};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-0.55331 -562.575 160.545";rotation = "0 0 1 92.7739";scale = "8.8356 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "0.563637 -544.686 168.295";rotation = "0.707004 -0.0171207 0.707002 181.961";scale = "0.125 0.166666 19.0002";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "3.36242 -544.82 160.545";rotation = "0 0 1 182.774";scale = "1.40103 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "0.31393 -544.674 160.545";rotation = "0 0 1 182.774";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "0.301787 -544.923 160.295";rotation = "-0.0171177 -0.706999 0.707007 181.961";scale = "0.125 0.166667 80.0016";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "10.0525 -545.146 160.295";rotation = "0.595982 0.567803 -0.567807 118.411";scale = "0.125 0.166666 20";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "5.04639 -545.153 168.295";rotation = "-0.567804 0.595983 -0.567804 118.411";scale = "0.125 3.3334 96.8214";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
//%building = new (StaticShape) () {datablock = "DeployedPulseSensor";position = "-11.3056 -574.258 159.938";rotation = "0 0 1 47.2193";scale = "1 1 1";team = "0";ownerGUID = "2000343";nametoset = "Spawn Marker";};setTargetSensorGroup(%building.getTarget(),1);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";%building.deploy();
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-25.9778 -555.146 159.938";rotation = "0 0 -1 34.5633";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-26.7385 -555.391 161.974";rotation = "0 0 -1 35.1346";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-1.62182 -584.627 160.545";rotation = "0 0 1 92.7739";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-28.6163 -556.665 159.938";rotation = "0 0 -1 38.5624";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-30.0429 -556.793 161.974";rotation = "0 0 -1 39.1335";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-17.1118 -528.047 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-17.3615 -528.034 165.466";rotation = "0.0241968 0.999414 0.0241967 90.034";scale = "1.236 0.166666 8.20036";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-31.5669 -558.606 159.938";rotation = "0 0 -1 41.4187";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-32.2306 -559.676 161.974";rotation = "0 0 -1 48.8621";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-17.3615 -528.034 160.917";rotation = "0.0241968 0.999414 0.0241967 90.034";scale = "0.239498 0.166666 8.20036";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-21.7066 -527.825 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-16.9189 -524.066 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-33.4011 -560.987 159.938";rotation = "0 0 -1 45.4178";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-34.7639 -562.525 161.974";rotation = "0 0 -1 52.916";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-1.8715 -584.613 160.295";rotation = "-0.558719 0.586447 0.586441 121.614";scale = "0.125 0.166666 80.0002";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-23.4781 -583.565 160.545";rotation = "0 0 1 182.774";scale = "8.93408 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-35.851 -564.076 159.938";rotation = "0 0 -1 52.3227";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.8388 -527.091 168.188";rotation = "0.707004 -0.0171172 0.707002 181.961";scale = "0.125 0.166666 39.0004";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-36.4506 -565.578 161.974";rotation = "0 0 -1 50.0595";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.5289 -586.904 168.295";rotation = "0.707005 -0.0171171 0.707002 181.961";scale = "0.125 2.97113 79";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-17.0997 -527.797 168.188";rotation = "0.586444 0.558719 0.586443 121.614";scale = "0.125 0.166666 37.9964";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-37.321 -566.323 159.938";rotation = "0 0 -1 52.8939";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-29.4097 -527.702 164.188";rotation = "0.0171159 0.707002 0.707005 181.962";scale = "3.725 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-16.7932 -516.306 164.188";rotation = "-0.595982 -0.567805 -0.567806 118.412";scale = "3.75315 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-26.6283 -517.825 160.438";rotation = "0.724015 0.689784 -4.83644e-06 180";scale = "4.99988 6.8334 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-37.0885 -527.079 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-16.1681 -508.571 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.5749 -582.69 160.545";rotation = "0 0 1 182.774";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.4694 -519.468 164.188";rotation = "-0.558716 0.586443 0.586448 121.614";scale = "3.69082 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-13.3144 -504.622 159.938";rotation = "0 0 1 121.322";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.6855 -584.975 160.545";rotation = "0 0 1 92.7739";scale = "1.01744 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-15.8998 -504.734 159.938";rotation = "0 0 1 109.341";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-24.1146 -507.935 164.188";rotation = "-0.999414 0.024196 0.0241998 90.0334";scale = "3.85897 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-37.0764 -526.829 168.188";rotation = "0.586444 0.558719 0.586443 121.614";scale = "0.125 0.166666 37.9964";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.587 -582.94 168.295";rotation = "-0.567807 0.595981 -0.567805 118.412";scale = "0.125 0.166666 16.8257";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-35.8951 -507.615 168.188";rotation = "0.707004 -0.0171172 0.707002 181.961";scale = "0.125 0.166666 39.0004";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.587 -582.939 160.295";rotation = "-0.017117 -0.707001 0.707005 181.961";scale = "0.125 0.166666 16.8277";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-8.7971 -501.176 159.938";rotation = "0 0 1 160.817";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-12.3513 -500.427 159.938";rotation = "0 0 1 129.935";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "2.8242 -498.416 159.938";rotation = "0 0 1 188.289";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-2.6343 -498.328 159.938";rotation = "0 0 1 164.816";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.3498 -511.833 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-32.0853 -507.799 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-7.4765 -497.092 159.938";rotation = "0 0 1 155.709";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.1569 -507.855 165.523";rotation = "-0.567806 0.595982 -0.567803 118.412";scale = "1.2075 0.166666 7.46878";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "3.77063 -495.624 159.938";rotation = "0 0 1 183.741";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.1569 -507.855 160.95";rotation = "-0.567806 0.595982 -0.567803 118.412";scale = "0.256 0.166666 7.46878";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-1.4278 -495.511 159.938";rotation = "0 0 1 176.88";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.1448 -507.603 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "7.92299 -594.262 179.938";rotation = "0.586447 0.558717 0.586443 121.614";scale = "10 0.166666 419.004";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-70.5832 -572.503 159.938";rotation = "0 0 1 183.833";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-76.4395 -571.611 159.938";rotation = "0 0 1 189.552";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.6341 -510.786 168.188";rotation = "-0.558715 0.586447 -0.586445 238.385";scale = "0.125 0.166666 124.024";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-67.6238 -511.448 168.438";rotation = "-0.689781 0.724018 2.73813e-06 180";scale = "2.17778 124.024 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.5527 -509.108 168.188";rotation = "-0.558715 0.586447 -0.586445 238.385";scale = "0.125 0.166666 124.024";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-81.6037 -570.517 159.938";rotation = "0 0 1 198.66";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "61.6409 -537.532 128.938";rotation = "0 0 1 186.437";scale = "12.5 16.6666 400";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-87.071 -568.924 159.938";rotation = "0 0 1 204.39";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-92.25 -566.505 159.938";rotation = "0 0 1 198.105";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-97.021 -565.002 159.938";rotation = "0 0 1 197.533";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-28.9164 -458.57 171.737";rotation = "-0.689781 0.724018 9.17759e-07 180";scale = "0.125 0.166666 23.598";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-30.9201 -455.918 172.237";rotation = "0 0 -1 47.395";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-28.5413 -450.829 171.987";rotation = "-0.999414 0.0242011 0.0242015 90.0357";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-30.9708 -455.615 174.237";rotation = "0 0 -1 44.0054";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-102.458 -562.749 159.938";rotation = "0 0 1 212.458";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-37.6878 -457.645 172.237";rotation = "0 0 1 9.267";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "7.6855 -594 179.94";rotation = "0.0241987 0.999414 0.0241989 90.034";scale = "9.99975 0.166666 419.002";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration1";position = "-40.4887 -458.511 169.187";rotation = "-0.000775217 -0.000104699 1 2.77411";scale = "1 1 1";team = "0";ownerGUID = "2000343";needsfit = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";%target = new StaticShape() {datablock = "DeployedLTarget";position = "-40.4766 -458.261 171.987";rotation = "0.0171209 0.707015 -0.706991 178.038";scale = "0.625 1.66667 0.3";team = "0";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-51.8543 -457.459 171.987";rotation = "-0.558708 0.586459 -0.586439 238.387";scale = "0.125 0.166666 45.4296";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-47.0901 -460.953 159.938";rotation = "0 0 1 185.477";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-99.4734 -522.943 160.438";rotation = "0 0 1 182.774";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-41.6098 -457.877 159.938";rotation = "0 0 1 99.5858";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-39.9814 -456.97 174.237";rotation = "0 0 1 6.44917";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-42.9334 -457.196 172.237";rotation = "0 0 1 5.26807";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-99.3894 -516.041 164.188";rotation = "-0.558717 0.586446 -0.586443 238.385";scale = "3.32365 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-28.5292 -450.579 171.737";rotation = "0.999707 -0.024209 -3.06871e-08 180";scale = "0.125 0.166666 23.598";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.5417 -503.715 168.188";rotation = "-0.567804 0.595984 -0.567803 118.411";scale = "0.125 0.166666 38.0006";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-40.3166 -454.013 171.737";rotation = "-0.000725175 -0.000113307 1 2.77411";scale = "41.909 15.0016 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.2701 -450.204 171.987";rotation = "-0.558708 0.586459 -0.586439 238.387";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-43.4504 -454.407 159.938";rotation = "0 0 -1 38.9737";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.8058 -509.164 167.938";rotation = "-0.689781 0.724018 9.17759e-07 180";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-39.633 -451.947 159.938";rotation = "0 0 1 107.595";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-52.6572 -457.99 159.938";rotation = "0 0 -1 111.489";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-52.104 -457.447 171.737";rotation = "-0.689781 0.724018 9.17759e-07 180";scale = "0.125 0.166666 23.598";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-36.5198 -450.192 171.737";rotation = "-0.689781 0.724018 9.17759e-07 180";scale = "0.125 0.166666 23.598";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-50.9116 -456.879 174.237";rotation = "0 0 1 43.0996";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate2";position = "-51.3582 -456.735 172.237";rotation = "0 0 1 54.0255";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-101.411 -509.949 167.938";rotation = "3.91752e-06 -6.6727e-06 -1 87.226";scale = "23.4885 9.25868 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-47.7899 -453.754 159.938";rotation = "0 0 -1 1.20267";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.5296 -503.465 160.438";rotation = "0 0 1 182.774";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-44.385 -451.68 159.938";rotation = "0 0 -1 46.9938";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-43.7262 -449.843 171.737";rotation = "-0.689781 0.724018 9.17759e-07 180";scale = "0.125 0.166666 23.598";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-51.7289 -449.706 171.987";rotation = "0.0171204 0.707015 -0.706991 178.038";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-46.647 -451.067 159.938";rotation = "0 0 1 3.97739";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-48.6757 -451.918 159.938";rotation = "0 0 1 22.8737";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-104.113 -516.191 168.188";rotation = "0.999414 -0.0242036 0.0242007 90.034";scale = "0.125 0.166666 25.4618";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-106.147 -515.59 167.934";rotation = "0.932873 0.360206 -2.52148e-06 180";scale = "4.78837 0.166667 14.992";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-119.2 -521.987 168.188";rotation = "0.707004 -0.0171207 0.707002 181.961";scale = "0.125 0.166666 38.9996";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-109.449 -522.209 164.188";rotation = "-0.999414 0.0241984 0.0242022 90.0334";scale = "4.87495 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-43.9759 -449.831 171.987";rotation = "-0.558719 0.586435 0.586454 121.615";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-109.311 -519.328 167.938";rotation = "3.9175e-06 -1.21623e-06 -1 87.226";scale = "10.6433 39.0008 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-103.984 -504.748 168.011";rotation = "-0.265831 0.688469 0.674792 213.277";scale = "0.125 0.166666 2.59102";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-118.898 -515.725 168.188";rotation = "-0.558715 0.586447 -0.586445 238.385";scale = "0.125 0.166666 39.0024";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-51.7168 -449.456 171.737";rotation = "0.024209 0.999707 1.26722e-06 180";scale = "0.125 0.166666 23.598";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-108.99 -512.72 159.938";rotation = "-3.89408e-07 -1.76994e-07 -1 87.226";scale = "5.00012 6.8335 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "13.254 -489.397 139.938";rotation = "-0.558718 0.586444 0.586445 121.614";scale = "52.5003 13.3333 420";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-103.82 -505.006 168.188";rotation = "0.696159 0.663239 -0.274729 147.829";scale = "0.125 0.166666 22.9208";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-107.962 -504.032 164.356";rotation = "0.0242049 0.999657 -0.0100287 224.986";scale = "2.58422 0.515409 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.7793 -503.453 168.188";rotation = "0.0241993 0.999414 0.0241992 90.034";scale = "0.125 0.166666 39.0012";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-108.506 -502.731 164.188";rotation = "-0.999414 0.0241984 0.0242022 90.0334";scale = "4.87515 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-100.158 -470.599 168.188";rotation = "-0.567805 0.595984 -0.567803 118.411";scale = "0.125 0.166666 64.926";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-102.142 -486.754 168.438";rotation = "0.0242063 0.999707 3.76869e-06 179.999";scale = "3.50777 64.926 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-111.608 -504.379 160.379";rotation = "-0.265832 0.688468 0.674792 213.277";scale = "0.125 0.166666 1.99828";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-104.129 -502.943 168.188";rotation = "0.0171173 0.707004 0.707002 181.962";scale = "0.125 0.166666 64.9962";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-119.45 -521.975 160.438";rotation = "0 0 1 182.774";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-119.146 -515.696 167.938";rotation = "-0.689781 0.724018 9.17759e-07 180";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-118.519 -502.747 168.188";rotation = "-0.567804 0.595984 -0.567803 118.411";scale = "0.125 0.166666 38.0006";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-118.577 -509.109 164.188";rotation = "0.595985 0.567804 -0.567803 118.411";scale = "3.17847 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-118.507 -502.497 160.438";rotation = "0 0 1 182.774";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-100.146 -470.349 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-99.932 -465.934 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-99.9199 -465.684 165.732";rotation = "0.586447 0.558717 0.586443 121.614";scale = "1.103 0.166666 11.111";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-99.9199 -465.684 160.947";rotation = "0.586447 0.558717 0.586443 121.614";scale = "0.254497 0.166666 11.111";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-99.6389 -459.885 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-100.396 -470.337 168.188";rotation = "0.0241987 0.999414 0.0241986 90.034";scale = "0.125 0.166666 38.0006";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-37.2307 -390.337 171.989";rotation = "-0.999414 0.0241987 0.0242067 90.0351";scale = "1.92872 0.166666 120.001";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-109.897 -470.127 164.188";rotation = "0.0171173 0.707002 0.707005 181.962";scale = "4.75007 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.704 -516.662 168.189";rotation = "-0.595985 -0.567797 -0.56781 118.413";scale = "0.125 0.166666 68.4402";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-136.557 -516.306 168.439";rotation = "-0.689784 0.724015 9.08183e-06 180.001";scale = "3.45242 68.4422 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.59 -514.294 168.189";rotation = "-0.595985 -0.567797 -0.56781 118.413";scale = "0.125 0.166666 68.4422";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.9382 -450.583 164.188";rotation = "-0.558714 0.586444 0.586449 121.614";scale = "4.53757 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.2223 -430.647 168.188";rotation = "-0.567805 0.595984 -0.567803 118.411";scale = "0.125 0.166666 78.9966";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-119.624 -469.405 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-148.417 -548.869 164.188";rotation = "-0.558716 0.586443 0.586448 121.614";scale = "2.01686 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-148.46 -544.578 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-148.472 -544.828 168.188";rotation = "-0.567807 0.595982 -0.567804 118.412";scale = "0.125 0.166666 38.9978";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-148.875 -553.136 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-149.149 -558.784 165.635";rotation = "0.567802 -0.595985 -0.567805 118.412";scale = "1.15175 0.166666 10.8087";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-149.148 -558.784 160.924";rotation = "0.567802 -0.595985 -0.567805 118.412";scale = "0.243248 0.166666 10.8087";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-149.16 -559.034 167.938";rotation = "-0.689784 0.724015 9.17755e-07 180";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-119.374 -464.244 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-149.428 -564.554 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.7365 -441.256 160.188";rotation = "0 0 1 92.7745";scale = "0.125 0.166666 15.5";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-108.917 -449.901 160.438";rotation = "0.724014 0.689785 4.39301e-06 180";scale = "10.1249 6.66693 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.2225 -430.647 164.734";rotation = "-0.626448 0.657538 -0.418578 132.563";scale = "0.125 0.166666 22.4514";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-98.2238 -435.838 165.476";rotation = "-0.167331 0.962457 0.213723 92.743";scale = "8.92639 22.4514 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-153.018 -544.106 168.188";rotation = "0.999414 -0.0241967 0.0241945 90.0328";scale = "0.125 0.166666 54.2576";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "-153.492 -530.502 168.439";rotation = "0.999707 -0.0241891 1.79092e-06 179.999";scale = "3.25469 54.2578 0.872";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-119.06 -452.592 164.188";rotation = "-0.595984 -0.567805 -0.567803 118.411";scale = "5.70143 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-155.279 -543.997 168.188";rotation = "0.999414 -0.0241967 0.0241946 90.0322";scale = "0.125 0.166666 60.0004";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.2102 -430.397 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-117.7 -429.703 168.188";rotation = "-0.567805 0.595984 -0.567803 118.411";scale = "0.125 0.166666 78.9966";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-161.408 -543.7 164.188";rotation = "-0.999414 0.024196 0.0241998 90.0334";scale = "6.36245 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-118.246 -440.965 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-98.4599 -430.385 168.188";rotation = "0.0241987 0.999414 0.0241986 90.034";scale = "0.125 0.166666 38.0008";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-107.937 -429.675 164.188";rotation = "-0.999414 0.0241978 0.0242017 90.0334";scale = "4.7501 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-117.938 -434.615 165.529";rotation = "-0.567805 0.595984 -0.567803 118.411";scale = "1.2045 0.166666 12.2144";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-117.938 -434.615 160.952";rotation = "-0.567805 0.595984 -0.567803 118.411";scale = "0.257 0.166666 12.2144";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-33.6153 -390.262 171.739";rotation = "0.999707 -0.02421 -3.06884e-08 180";scale = "0.125 0.166666 23.602";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-117.926 -434.365 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-40.8305 -389.913 171.739";rotation = "0.999707 -0.02421 -3.06884e-08 180";scale = "0.125 0.166666 23.602";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-187.664 -542.678 168.188";rotation = "0.707004 -0.0171172 0.707002 181.961";scale = "0.125 0.166666 77.9994";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-168.671 -553.61 160.438";rotation = "0.999707 -0.0242041 5.73225e-06 180";scale = "10.0002 6.83337 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-188.632 -562.654 168.188";rotation = "0.707004 -0.0171172 0.707002 181.961";scale = "0.125 0.166666 77.9994";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-169.143 -563.348 164.188";rotation = "-0.999414 0.024196 0.0241998 90.0334";scale = "9.74992 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-117.688 -429.453 160.438";rotation = "0 0 -1 87.226";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-41.3686 -390.137 171.989";rotation = "0.999414 -0.0242071 0.0241993 90.0323";scale = "4.00012 0.166666 16.0027";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "115.881 -437.166 128.938";rotation = "0 0 1 188.222";scale = "12.5 16.6666 400";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-174.38 -543.322 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-55.1524 -381.459 165.801";rotation = "-0.864672 -0.333873 0.375327 99.4391";scale = "0.125 5.83393 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-181.176 -542.991 165.548";rotation = "-0.0241967 -0.999414 0.0241941 90.0334";scale = "1.1955 0.166666 13.1073";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-181.176 -542.991 160.93";rotation = "-0.0241967 -0.999414 0.0241941 90.0334";scale = "0.245999 0.166666 13.1073";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-181.426 -542.98 167.938";rotation = "0.999707 -0.0242025 -3.06789e-08 180";scale = "0.125 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-187.914 -542.666 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-187.926 -542.916 168.188";rotation = "-0.567807 0.595982 -0.567804 118.412";scale = "0.125 0.166666 38.9978";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-188.648 -552.642 164.188";rotation = "-0.595982 -0.567805 -0.567806 118.412";scale = "4.87472 2.5 1";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-173.518 -479.817 159.938";rotation = "0 0 -1 66.3084";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-188.882 -562.642 160.438";rotation = "0 0 1 2.77383";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-169.736 -470.232 159.938";rotation = "0 0 -1 66.4728";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-172.254 -474.692 159.938";rotation = "0 0 -1 72.1308";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-176.322 -484.008 159.938";rotation = "0 0 -1 41.7043";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-168.346 -464.338 159.938";rotation = "0 0 -1 55.5909";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-172.635 -469.52 159.938";rotation = "0 0 -1 59.6117";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-180.457 -487.623 159.938";rotation = "0 0 -1 19.4076";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-176.164 -474.8 159.938";rotation = "0 0 -1 64.122";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-178.466 -479.96 159.938";rotation = "0 0 -1 64.6932";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-171.15 -463.441 159.938";rotation = "0 0 -1 67.0223";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "-190.928 -374.628 179.939";rotation = "0.707004 -0.0171265 0.707002 181.961";scale = "9.99975 0.166666 418.996";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-182.567 -485.229 159.938";rotation = "0 0 -1 52.1138";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "67.5171 -373.886 128.938";rotation = "0 0 -1 83.3986";scale = "10 13.3333 340";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-187.051 -489.92 159.938";rotation = "0 0 1 175.605";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "-187.676 -486.961 159.938";rotation = "0 0 1 174.463";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-153.387 -418.159 161.974";rotation = "0 0 1 131.676";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-153.073 -417.566 159.938";rotation = "0 0 1 135.725";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-156.05 -420.698 159.938";rotation = "0 0 1 142.58";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-151.155 -415.029 159.938";rotation = "0 0 1 125.419";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-156.361 -420.355 161.974";rotation = "0 0 1 150.561";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-151.229 -414.312 161.974";rotation = "0 0 1 133.39";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-149.339 -411.813 159.938";rotation = "0 0 1 120.278";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-159.472 -423.094 159.938";rotation = "0 0 1 144.299";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-149.713 -411.707 161.974";rotation = "0 0 1 122.536";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-162.415 -425.527 161.974";rotation = "0 0 1 147.134";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-159.962 -422.35 161.974";rotation = "0 0 1 147.128";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate7";position = "-162.68 -425.366 159.938";rotation = "0 0 1 146.584";scale = "1 1 1";team = "0";ownerGUID = "2000343";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "-191.166 -374.368 179.938";rotation = "-0.567796 0.595991 -0.567805 118.411";scale = "10.0002 0.166666 419.004";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-183.656 -425.987 160.637";rotation = "0 0 1 2.77496";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-186.348 -425.857 160.637";rotation = "0 0 1 2.77496";scale = "1.22268 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-193.395 -425.515 160.387";rotation = "0.55871 -0.586444 0.586453 121.615";scale = "0.125 0.166666 20";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-159.253 -386.175 160.565";rotation = "0 0 1 92.7745";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-159.092 -382.841 160.565";rotation = "0 0 1 92.7745";scale = "1.54405 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-182.784 -407.99 160.637";rotation = "0 0 -1 87.2248";scale = "8.8839 0.166666 15";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
//%building = new (StaticShape) () {datablock = "DeployedPulseSensor";position = "-172.194 -395.623 159.938";rotation = "0 0 -1 66.9283";scale = "1 1 1";team = "0";ownerGUID = "2000343";nametoset = "Spawn Marker";};setTargetSensorGroup(%building.getTarget(),1);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";%building.deploy();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-158.781 -376.436 160.315";rotation = "-0.999414 0.0242006 0.0242032 90.0346";scale = "0.125 0.166666 20";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-183.644 -425.737 168.387";rotation = "0.586448 0.558712 0.586447 121.615";scale = "0.125 0.166666 80.8928";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-183.644 -425.737 160.387";rotation = "0.999414 -0.0242041 0.0242122 90.034";scale = "0.125 0.166666 81.894";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-168.723 -385.716 160.637";rotation = "0 0 1 2.77496";scale = "4.61567 0.166666 14.856";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-182.915 -405.526 168.387";rotation = "0.0242067 0.999414 0.0242066 90.034";scale = "0.125 13.8155 19.0003";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-159.503 -386.163 168.315";rotation = "0.0242024 0.999414 0.0242023 90.034";scale = "0.125 0.166666 43.8934";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-181.424 -385.1 160.387";rotation = "-0.595987 -0.567804 -0.567801 118.41";scale = "0.125 0.166666 43.8934";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-175.195 -385.152 168.315";rotation = "0.586447 0.558715 0.586445 121.615";scale = "0.125 10.8154 19.0003";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-181.674 -385.088 160.637";rotation = "0 0 -1 87.2248";scale = "0.125 0.166666 16";team = "0";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "-21.2605 -286.47 128.938";rotation = "0 0 1 181.515";scale = "10 13.3333 340";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine2";position = "71.0966 -281.405 129.131";rotation = "6.58669e-09 -0.00519623 0.999986 180";scale = "10 13.3333 300";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "181.836 -344.287 129.309";rotation = "0.00732772 0.0111128 -0.999911 113.203";scale = "12.5 20 540";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "-130.829 -227.49 128.938";rotation = "0 0 1 2.0532";scale = "12.5 20 580";team = "0";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.Invincible="1";
|
||||
|
||||
TWM2PowerCheck(); //and eval power
|
||||
676
missions/HarbingerTower.mis
Normal file
676
missions/HarbingerTower.mis
Normal file
|
|
@ -0,0 +1,676 @@
|
|||
// DisplayName = Harbinger HQ Tower
|
||||
// MissionTypes = Domination Sabotage
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// **The vast tower of the great and mysterious Harbinger Clan, with these laser turrets... I'd suggest not stepping outside
|
||||
// It could be.... lethal...
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//Yeah... don't go outside the tower
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
musicTrack = "desert";
|
||||
cdTrack = "6";
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1024 -1024 2048 2048";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
locked = "true";
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Flatland.ter";
|
||||
squareSize = "32";
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
rotation = "0 0 0 0";
|
||||
GraphFile = "FlatlandBig.nav";
|
||||
position = "0 0 0 1";
|
||||
scale = "1 1 1";
|
||||
coverage = "0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
new Camera() {
|
||||
position = "0 0 200";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
team = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "5000";
|
||||
useSkyTextures = "0";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.250000 0.750000 1.000000 1.000000";
|
||||
fogDistance = "4500";
|
||||
fogColor = "0.600000 0.600000 0.600000 1.000000";
|
||||
fogVolume1 = "200 99 101";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "sky_desert_blue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
|
||||
//MAP
|
||||
|
||||
if(isObject(TWM2MissionAspectsGroup)) {
|
||||
TWM2MissionAspectsGroup.delete();
|
||||
}
|
||||
new SimGroup(TWM2MissionAspectsGroup) {
|
||||
//For the building
|
||||
};
|
||||
//The Actual Tower!!!
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.591 -418.231 300.75";rotation = "-0.528161 0.600436 0.600436 124.318";scale = "5.233 0.166666 39.8092";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.845 -415.693 308.75";rotation = "-0.62654 -0.551109 -0.551113 115.863";scale = "9.23318 0.166667 40.8154";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.491 -403.515 300.75";rotation = "0.626532 0.551114 -0.551118 115.863";scale = "1.99982 0.166666 42.8152";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.173 -407.882 300.75";rotation = "0.0452393 0.706384 -0.706382 174.82";scale = "0.125 0.166666 41.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.966 -405.032 301";rotation = "0 0 1 187.329";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.701 -407.698 301";rotation = "0 0 1 187.329";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.784 -404.242 300.75";rotation = "0.0452393 0.706384 -0.706382 174.82";scale = "2.00034 0.166666 43.8644";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "802.996 -404.783 304.75";rotation = "0.551112 -0.626535 -0.551116 115.863";scale = "0.228475 0.262745 0.455254";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "824.472 -399.733 304.75";rotation = "0.063781 0.995923 0.0637845 90.2339";scale = "0.228475 0.262745 1.23871";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "802.718 -405 304.75";rotation = "-0.706381 0.0452417 0.706384 185.181";scale = "0.228475 0.262745 0.455197";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "823.733 -407.45 304.75";rotation = "0.551112 -0.626535 -0.551116 115.863";scale = "0.228475 0.262745 0.455199";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.166 -429.748 300.75";rotation = "0.995924 -0.0637813 0.0637773 90.2334";scale = "2.00036 0.166666 43.8652";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.845 -415.693 308.75";rotation = "-0.528163 0.600439 0.60043 124.318";scale = "5.23298 0.166667 15.9926";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.952 -397.345 308.75";rotation = "-0.551115 0.626534 -0.551114 115.863";scale = "0.125 0.166666 15.0006";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.232 -397.129 308.75";rotation = "0.706384 -0.0452393 0.706382 185.18";scale = "0.125 0.166666 40.8154";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "823.949 -407.731 304.75";rotation = "-0.0637834 -0.995924 0.0637797 90.234";scale = "0.228475 0.262745 0.456235";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.28 -404.044 308.75";rotation = "0.706384 -0.0452401 0.706382 185.181";scale = "0.125 0.166666 14.9986";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.689 -400.012 308.75";rotation = "-0.551115 0.626534 -0.551114 115.863";scale = "0.125 0.166666 14.9987";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.085 -418.295 308.75";rotation = "-0.626535 -0.55111 -0.551118 115.863";scale = "5.233 0.166667 16.033";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.984 -397.097 301";rotation = "0 0 1 187.329";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.231 -426.289 301";rotation = "0 0 1 187.329";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "831.404 -408.689 308.75";rotation = "0.0637798 0.995924 0.0637791 90.234";scale = "0.125 0.166666 15.0329";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "792.33 -425.021 304.75";rotation = "0.551112 -0.626534 -0.551118 115.863";scale = "0.228475 0.262745 1.27054";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.721 -399.764 301";rotation = "0 0 1 187.329";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.994 -428.959 301";rotation = "0 0 1 187.329";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.442 -430.473 300.75";rotation = "-0.52816 0.600436 -0.600436 235.682";scale = "2.0001 0.166666 42.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.032 -404.012 301";rotation = "0 0 1 97.3289";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "792.33 -425.021 308.75";rotation = "0.600438 0.528158 0.600436 124.318";scale = "0.125 0.166666 41.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "831.62 -408.97 304.75";rotation = "-0.600435 -0.528157 0.60044 124.318";scale = "0.228475 0.262745 1.27054";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "799.982 -426.257 304.75";rotation = "-0.706381 0.0452417 0.706384 185.181";scale = "0.228475 0.262745 0.455123";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "831.652 -408.721 301";rotation = "0 0 -1 82.6715";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "831.62 -408.969 308.75";rotation = "-0.551116 0.626534 -0.551114 115.863";scale = "0.125 0.166666 41.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "800.2 -426.537 304.75";rotation = "0.600438 0.528155 -0.600438 235.683";scale = "0.228475 0.262745 0.455257";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "821.242 -428.99 304.75";rotation = "-0.0637834 -0.995924 0.0637797 90.234";scale = "0.228475 0.262745 0.454577";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "792.546 -425.301 308.75";rotation = "0.706384 -0.0452401 0.706382 185.181";scale = "0.125 0.166666 14.9963";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "820.006 -436.647 304.75";rotation = "0.551112 -0.626535 -0.551116 115.863";scale = "0.228475 0.262745 0.455316";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.244 -433.976 308.75";rotation = "0.600436 0.528161 0.600436 124.318";scale = "0.125 0.166666 15.0007";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.67 -429.946 308.75";rotation = "0.0637798 0.995924 0.0637791 90.234";scale = "0.125 0.166666 14.9782";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration16";position = "819.724 -436.862 304.75";rotation = "-0.706381 0.0452454 0.706384 185.181";scale = "0.228475 0.262745 1.24018";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setCloaked(true);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.005 -436.647 308.75";rotation = "0.600436 0.528161 0.600436 124.318";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "792.298 -425.269 301";rotation = "0 0 1 97.3289";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.725 -436.863 308.75";rotation = "0.0637812 0.995924 0.0637805 90.2346";scale = "0.125 0.166666 40.8636";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.918 -429.978 301";rotation = "0 0 -1 82.6715";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.018 -396.849 300.75";rotation = "0.716977 0.630672 0.296979 150.719";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.212 -434.224 301";rotation = "0 0 1 7.32862";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.753 -399.515 300.75";rotation = "0.716977 0.630672 0.296979 150.719";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.973 -436.895 301";rotation = "0 0 1 7.32862";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.783 -403.98 300.75";rotation = "0.0638881 0.997606 0.0264622 135.097";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "831.884 -408.75 300.75";rotation = "0.922267 -0.0590617 0.382014 182.802";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "815.219 -417.088 309";rotation = "0 0 -1 85.7809";scale = "7 7 5";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";};setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "792.048 -425.237 300.75";rotation = "0.0638881 0.997606 0.0264622 135.097";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "829.177 -430.011 300.75";rotation = "0.922267 -0.0590617 0.382014 182.802";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.178 -434.472 300.75";rotation = "-0.637059 0.724241 -0.263878 146.603";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.941 -437.142 300.75";rotation = "-0.637059 0.724241 -0.263878 146.603";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.455 -407.666 251";rotation = "0.0637803 0.995924 0.0637795 90.234";scale = "25 0.166666 40.8114";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.265 -426.04 251";rotation = "0.600438 0.52816 0.600434 124.318";scale = "25 0.166666 41.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.966 -405.032 201";rotation = "0 0 1 187.329";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.025 -428.711 251";rotation = "0.600438 0.52816 0.600434 124.318";scale = "25 0.166666 41.866";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.701 -407.698 201";rotation = "0 0 1 187.329";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.748 -428.927 251";rotation = "0.0637803 0.995924 0.0637795 90.234";scale = "25 0.166666 40.8676";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.231 -426.289 201";rotation = "0 0 1 187.329";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.994 -428.959 201";rotation = "0 0 1 187.329";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "803.701 -401.356 201.49";rotation = "0 0 -1 82.6715";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "799.29 -404.297 201.49";rotation = "0 0 1 187.329";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "824.436 -404.022 201.49";rotation = "0 0 -1 82.6715";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "827.377 -408.433 201.49";rotation = "0 0 1 7.32841";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "796.555 -425.554 201.49";rotation = "0 0 1 187.329";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "799.496 -429.965 201.49";rotation = "0 0 1 97.3289";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "824.67 -429.694 201.49";rotation = "0 0 1 7.32841";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "820.259 -432.635 201.49";rotation = "0 0 1 97.3289";scale = "0.52 0.519998 40.02";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "813.566 -406.142 203.512";rotation = "0.0452393 0.706384 0.706382 185.18";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "N Tower Pinical (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "810.305 -427.836 203.985";rotation = "-0.995924 0.0637803 0.0637795 90.234";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "S Tower Pinical (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "801.393 -415.307 203.327";rotation = "-0.528158 0.600436 0.600438 124.318";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "W Tower Pinical (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "822.683 -417.781 203.326";rotation = "-0.626534 -0.551116 -0.551114 115.863";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "E Tower Pinical (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "834.546 -390.485 204.577";rotation = "0.362688 0.31903 0.875601 104.792";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.368 -385.447 204.577";rotation = "0.362688 0.31903 0.875601 104.792";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "842.747 -401.106 204.577";rotation = "0.38257 -0.0245004 0.923602 186.769";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "784.747 -393.648 204.577";rotation = "0.0631594 0.986287 0.152475 45.5621";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.861 -415.714 200.75";rotation = "0.995925 -0.0637727 0.0637721 90.234";scale = "1.49042 0.166666 20.2108";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.998 -404.784 201.25";rotation = "0.600438 0.52816 0.600434 124.318";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.718 -405 201.25";rotation = "0.0637803 0.995924 0.0637795 90.234";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.733 -407.45 201.25";rotation = "0.600438 0.52816 0.600434 124.318";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.942 -405.281 200.75";rotation = "0.0452322 0.706384 -0.706382 174.82";scale = "0.125 0.166666 41.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "831.985 -404.496 200.75";rotation = "0.626528 0.551116 -0.551121 115.863";scale = "2.24132 0.166666 76.9888";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.949 -407.73 201.25";rotation = "0.706384 -0.0452393 0.706382 185.18";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "831.994 -400.526 201";rotation = "0 0 1 7.84473";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "NE Tower Pinical";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "837.709 -440.284 204.577";rotation = "0.38257 -0.0245004 0.923602 186.769";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "779.709 -432.826 204.577";rotation = "0.0631594 0.986287 0.152475 45.5621";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "794.756 -395.689 201";rotation = "0 0 1 7.83383";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "NW Tower Pinical";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "791.896 -414.411 200.75";rotation = "-0.626538 -0.551113 -0.551113 115.864";scale = "5.23325 0.166667 19.0819";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.765 -429.192 200.75";rotation = "0.0452357 0.706384 0.706382 185.18";scale = "2.00463 0.166666 41.866";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.662 -414.934 199.847";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 4.00054";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.453 -406.982 199.734";rotation = "0.0637748 0.995925 0.0637742 90.2339";scale = "0.3825 0.166666 20.7636";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.983 -426.257 201.25";rotation = "0.0637803 0.995924 0.0637795 90.234";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.199 -426.537 201.25";rotation = "-0.551115 0.626534 -0.551114 115.863";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.242 -428.991 201.25";rotation = "0.706384 -0.0452393 0.706382 185.18";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.962 -429.207 201.25";rotation = "-0.551115 0.626534 -0.551114 115.863";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField6";position = "800.035 -405.887 199.846";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.52 0.519998 0.27";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.088 -448.485 204.577";rotation = "-0.350916 0.39893 -0.847179 92.1534";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "800.15 -404.987 199.825";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.52 0.519998 0.27";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "787.91 -443.447 204.577";rotation = "-0.350916 0.39893 -0.847179 92.1534";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField0";position = "800.262 -404.12 199.845";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.52 0.519998 0.27";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.161 -434.217 200.75";rotation = "0.626528 0.551116 -0.551121 115.863";scale = "2.27534 0.166666 76.9908";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.829 -438.761 200.75";rotation = "0.600437 0.528163 0.600433 124.317";scale = "0.125 0.166666 77.997";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.91 -414.966 200.097";rotation = "0.997956 -0.0639024 -8.10021e-08 180";scale = "0.125 0.166666 4";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "804.703 -414.697 198.587";rotation = "-0.551118 0.626532 -0.551115 115.864";scale = "1.02 1.52018 0.48";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.926 -414.711 198.597";rotation = "0 0 1 187.328";scale = "0.125 0.166666 2";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "833.368 -399.648 200.75";rotation = "0.499156 0.439071 0.747034 113.38";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.19 -394.61 200.75";rotation = "0.499156 0.439071 0.747034 113.38";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "808.69 -407.323 196.932";rotation = "0 0 -1 82.6721";scale = "4.15642 0.166666 7.13598";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField6";position = "799.921 -406.772 199.113";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.52 0.519998 0.27";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.701 -407.014 197.432";rotation = "0 0 1 7.32788";scale = "0.125 0.166666 6.13598";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "833.584 -399.928 200.75";rotation = "0.55522 -0.0355556 0.830943 186.092";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.295 -405.746 198.153";rotation = "0 0 1 97.3289";scale = "0.99985 0.166666 4.69602";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "793.91 -394.826 200.75";rotation = "0.0636153 0.993423 0.095206 67.8497";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "827.402 -437.31 201";rotation = "0 0 1 187.114";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "SE Tower Pinical";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "790.642 -433.418 201";rotation = "0 0 1 186.494";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "SW Tower Pinical";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "819.494 -406.745 197.922";rotation = "-0.551118 0.626532 -0.551115 115.864";scale = "1.05699 10.4018 0.48";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDoor";position = "819.949 -407.046 198.686";rotation = "0.706384 -0.045235 0.706382 185.18";scale = "0.907001 0.166666 8.22732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";cankill = "1";hasslided = "0";toggletype = "0";Collision = "1";lv = "3";canmove = "1";closedscale = "0.907001 0.166666 8.22732";openedscale = "0.907001 0.166666 0.1";isdoor = "1";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.91 -414.827 196.932";rotation = "0 0 1 7.32766";scale = "4.00045 0.166666 7.13598";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.662 -414.934 198.347";rotation = "0.706384 -0.0452322 -0.706382 174.82";scale = "0.125 0.166666 4.00054";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.325 -407.232 196.872";rotation = "0 0 -1 82.6715";scale = "4.08668 0.166666 7.25602";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField0";position = "799.921 -406.772 198.38";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.52 0.519998 0.27";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.978 -412.727 198.122";rotation = "-0.551113 0.626538 -0.551112 115.863";scale = "0.125 0.166666 2";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField1";position = "800.04 -405.843 198.386";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.52 0.519998 0.27";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "802.761 -412.447 197.872";rotation = "0.706384 -0.0452429 0.706381 185.181";scale = "0.5 0.166666 4.77484";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSwitch";position = "800.206 -404.482 198.53";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.5 0.5 0.1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";switchRadius = "200";nametoset = "Exterior Defence System Control";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));setTargetSkin(%building.target,'baseb');%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.453 -406.982 197.682";rotation = "0.0637748 0.995925 0.0637742 90.2339";scale = "0.125 0.166666 20.7636";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate3";position = "799.436 -408.507 197.781";rotation = "-0.950117 0.0608547 0.3059 23.6488";scale = "0.833333 0.833333 0.909087";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "809.156 -405.658 197.182";rotation = "-0.626529 -0.551118 -0.551117 115.863";scale = "0.125 0.166666 21.7638";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.04 -407.729 198.403";rotation = "0.0531753 0.830294 -0.554783 175.93";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.546 -439.106 200.75";rotation = "0.55522 -0.0355556 0.830943 186.092";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "821.006 -413.441 196.372";rotation = "-8.56327e-06 8.99088e-07 1 187.329";scale = "8.29661 6.37022 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "788.872 -434.004 200.75";rotation = "0.0636153 0.993423 0.095206 67.8497";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "805.033 -413.495 197.125";rotation = "-0.528159 0.600436 0.600437 124.318";scale = "0.250025 0.166666 4.7729";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate3";position = "800.181 -402.718 197.723";rotation = "0.950111 -0.0608402 0.305922 23.6486";scale = "0.833333 0.833333 0.909087";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.266 -439.322 200.75";rotation = "-0.469726 0.534001 -0.702993 102.738";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "789.088 -434.284 200.75";rotation = "-0.469726 0.534001 -0.702993 102.738";scale = "0.125 0.166666 20";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.021 -400.097 196.872";rotation = "-0.0355596 -0.555219 0.830944 186.093";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSwitch";position = "800.525 -401.995 197.678";rotation = "-0.528156 0.60044 0.600436 124.318";scale = "0.5 0.5 0.1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.9";isSwitchedOff = "1";switchRadius = "200";nametoset = "Gate Control";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));setTargetSkin(%building.target,'baseb');%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "805.432 -413.042 196.622";rotation = "0.0452363 0.706381 0.706385 185.181";scale = "6.62463 0.166666 6.36802";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.277 -405.621 196.622";rotation = "0.626537 0.551116 -0.55111 115.864";scale = "3.29037 0.166666 61.9924";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.281 -415.338 196.622";rotation = "0.995924 -0.0637757 0.0637866 90.234";scale = "0.125 0.166666 32.693";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.255 -425.982 196.622";rotation = "-0.528159 0.600437 0.600436 124.318";scale = "5.66302 0.166666 53.2552";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "796.907 -432.148 196.872";rotation = "0 0 1 93.4282";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.254 -425.983 196.622";rotation = "0.528155 -0.600438 0.600439 124.317";scale = "5.66302 0.166666 24.7458";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.561 -415.123 196.122";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.06 -403.458 196.622";rotation = "-0.626533 -0.551113 -0.551118 115.863";scale = "2.16771 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.624 -414.633 195.724";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.669 -414.282 195.273";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.702 -414.024 194.725";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0045";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.751 -413.644 194.396";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0047";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.791 -413.332 194.12";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0045";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.672 -398.135 192.54";rotation = "-0.55112 0.62653 -0.551114 115.863";scale = "1.91625 0.166666 77.997";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.847 -412.897 193.523";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0047";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.281 -415.339 192.622";rotation = "0.600434 0.528159 0.600439 124.317";scale = "1.875 0.166667 15.3655";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.898 -412.498 192.972";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0045";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.268 -415.589 196.372";rotation = "-0.660468 0.750855 9.51772e-07 180";scale = "0.125 0.166666 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "830.938 -416.575 192.622";rotation = "0.0637844 0.995924 0.0637735 90.234";scale = "1.875 0.166667 14.9664";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.944 -412.147 192.524";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.005 -411.67 192.032";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.057 -411.268 191.602";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.134 -410.665 191.186";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0047";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.186 -410.258 190.742";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0047";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.237 -409.862 190.338";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0045";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "821.009 -413.703 188.372";rotation = "3.68471e-05 1.90469e-05 1 7.32798";scale = "8.16436 7.94498 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.286 -409.482 189.945";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0045";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "805.916 -409.553 188.622";rotation = "0.0452421 0.706384 -0.706381 174.82";scale = "6.64325 0.166666 8.3543";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.341 -409.057 189.558";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.302 -405.452 188.622";rotation = "-0.528161 0.600436 0.600436 124.318";scale = "3.20595 0.166666 61.9924";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "815.76 -416.011 188.372";rotation = "0.999645 -0.0266445 -3.37743e-08 180";scale = "0.1 0.1 0.1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.000001";isSwitchedOff = "1";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "817.508 -408.719 188.372";rotation = "0.105405 0.994429 1.26053e-06 180";scale = "0.1 0.1 0.1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.000001";isSwitchedOff = "1";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.261 -407.719 188.622";rotation = "0.600438 0.52816 -0.600434 235.682";scale = "0.125 0.166666 15.3655";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.391 -408.667 189.122";rotation = "-0.528161 0.600439 -0.600432 235.683";scale = "0.125 0.166666 15.0045";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.567 -426.867 188.622";rotation = "-0.528157 0.600439 0.600436 124.318";scale = "5.49942 0.166666 62.0328";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.099 -418.806 188.622";rotation = "0.528156 -0.600436 0.60044 124.318";scale = "5.822 0.166666 14.9664";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.236 -415.837 188.622";rotation = "0.600439 0.528157 -0.600436 235.682";scale = "0.125 0.166666 44.302";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "829.087 -399.603 188.622";rotation = "0.0452382 0.706387 -0.706379 174.82";scale = "2.0001 0.166667 16.3293";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.749 -437.134 188.622";rotation = "0.528156 -0.600436 0.60044 124.318";scale = "0.355675 0.166666 14.9664";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.964 -411.809 185.271";rotation = "0.706384 -0.0452365 -0.706381 174.82";scale = "1.55 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.888 -436.06 188.054";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.94 -435.659 187.477";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.982 -435.328 186.841";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.098 -411.192 179.746";rotation = "0 0 -1 82.6721";scale = "0.125 0.166666 17.252";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "818.55 -413.488 184.059";rotation = "-0.528165 0.600434 -0.600433 235.683";scale = "7.73841 17.252 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "812.835 -411.021 188.372";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "1.0894 0.166666 18.252";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "821.449 -411.242 184.059";rotation = "-0.551116 0.626531 -0.551117 115.863";scale = "15.915 8.35224 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "812.137 -397.422 183.7";rotation = "-0.55112 0.62653 -0.551114 115.863";scale = "2.3355 0.166666 77.999";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.035 -434.917 186.296";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "823.199 -414.03 183.809";rotation = "-0.528166 0.600435 -0.600432 235.683";scale = "7.94298 18.252 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.54 -416.625 179.246";rotation = "0 0 1 187.328";scale = "3.1704 0.166666 18.252";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.071 -434.639 185.816";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.545 -405.526 179.246";rotation = "0 0 -1 82.6727";scale = "3.2271 0.166666 18.252";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.117 -434.278 185.275";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.148 -434.035 184.707";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9664";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.194 -433.679 184.255";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.925 -433.812 188.372";rotation = "-0.660468 0.750855 9.51772e-07 180";scale = "2.01372 0.166666 18.252";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.235 -433.364 183.751";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSwitch";position = "812.391 -411.216 180.833";rotation = "-0.995924 0.0637777 0.063777 90.2345";scale = "0.5 0.5 0.15";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.000001";isSwitchedOff = "1";switchRadius = "50";timed = "2";SwitchTimer = "5000";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));setTargetSkin(%building.target,'baseb');%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.303 -432.835 183.234";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSwitch";position = "812.895 -410.682 180.762";rotation = "0.0452355 0.706381 0.706385 185.18";scale = "0.5 0.5 0.15";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.000001";isSwitchedOff = "1";switchRadius = "50";timed = "2";SwitchTimer = "5000";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));setTargetSkin(%building.target,'baseb');%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.356 -432.419 182.692";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9641";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.408 -432.019 182.028";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9641";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "813.078 -423.039 179.996";rotation = "0.706384 -0.0452429 0.706381 185.181";scale = "0.375 0.166666 7.0036";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "811.339 -426.076 179.996";rotation = "0.654331 0.379086 0.654328 138.478";scale = "0.375 0.166666 7.00152";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.531 -415.6 179.496";rotation = "0.0452357 0.706384 0.706382 185.18";scale = "0.125 0.166666 9.38876";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "821.062 -413.743 178.746";rotation = "6.3684e-06 -3.28201e-07 1 187.327";scale = "7.96149 8.66262 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.447 -431.713 181.459";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9641";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.346 -411.224 179.496";rotation = "-0.62653 -0.55112 -0.551114 115.863";scale = "0.125 0.166666 8.3503";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "812.253 -429.453 179.996";rotation = "0.519247 0.678799 0.519244 111.663";scale = "0.375 0.166666 6.99998";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "816.551 -423.485 179.996";rotation = "0.667949 -0.328161 0.667948 216.335";scale = "0.375 0.166666 15.9987";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.497 -431.326 180.913";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "814.395 -432.223 179.996";rotation = "0.403464 0.82124 0.403462 101.212";scale = "0.375 0.166666 7.0023";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "805.412 -413.915 178.996";rotation = "0.0452386 0.706384 0.706382 185.179";scale = "6.67147 0.166666 34.4274";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.23 -411.072 178.996";rotation = "-0.62653 -0.551123 -0.551111 115.864";scale = "0.125 0.166666 8.63046";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "829.47 -427.99 178.996";rotation = "0.0637753 0.995924 0.0637743 90.2333";scale = "0.125 7.26193 77.9972";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.549 -430.917 180.467";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9641";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.269 -410.793 178.496";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826.892 -416.677 178.996";rotation = "0.0452386 0.706384 0.706382 185.179";scale = "1.99933 0.166666 34.4272";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.602 -430.51 179.914";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9642";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.32 -410.396 178.018";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.655 -430.097 179.496";rotation = "-0.0637818 -0.995923 0.0637831 90.2338";scale = "0.125 0.166666 14.9641";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.363 -410.065 177.652";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.6548";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.426 -409.572 177.175";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.463 -409.286 176.87";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.502 -408.98 176.561";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.54 -408.685 176.209";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.581 -408.364 175.839";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65674";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.637 -407.93 175.499";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65662";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.68 -407.595 175.168";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65674";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.727 -407.231 174.818";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "830.885 -416.985 173.98";rotation = "-0.528158 0.600438 0.600436 124.318";scale = "0.125 3.17733 72.5326";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.77 -406.898 174.395";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.822 -406.495 173.948";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.872 -406.102 173.495";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65662";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.931 -405.644 173.223";rotation = "-0.0637737 -0.995925 0.0637711 90.234";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.266 -405.866 172.888";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.338 -405.309 172.444";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65674";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.239 -402.21 173.326";rotation = "-0.0637763 -0.995924 0.0637727 90.234";scale = "2.7105 0.166666 14.9661";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.53 -406.823 178.747";rotation = "0.0639028 0.997956 1.265e-06 180";scale = "0.125 5.58657 27.064";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.135 -408.841 178.746";rotation = "0.750849 0.660474 8.37211e-07 180";scale = "3.48375 0.166666 27.064";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.382 -404.961 171.911";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "793.56 -412.182 178.746";rotation = "0.0639127 0.997956 1.265e-06 180";scale = "0.6836 0.166666 27.064";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.421 -404.661 171.383";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.457 -404.377 170.809";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.534 -403.784 170.286";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65662";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.559 -403.59 169.938";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65674";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.619 -403.117 169.493";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "811.516 -414.746 168.964";rotation = "0.0452394 0.706384 -0.706382 174.82";scale = "9.74912 0.166666 43.4772";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.792 -413.5 168.652";rotation = "-0.70638 0.0452391 0.706385 185.181";scale = "0.281002 0.166666 4.93018";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.667 -402.747 169.027";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.705 -402.455 168.527";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 0.166666 8.65674";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "815.09 -414.953 169.214";rotation = "0.0639127 0.997956 1.265e-06 180";scale = "5.69605 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.921 -400.785 168.09";rotation = "0.706384 -0.0452315 -0.706382 174.82";scale = "0.125 1.13525 8.65468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.52 -401.994 168.155";rotation = "0.995924 -0.0637753 0.0637743 90.2333";scale = "0.125 0.166666 5.652";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.592 -409.323 167.214";rotation = "-0.551113 0.626538 -0.551112 115.863";scale = "1 0.166666 8.2233";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.89 -412.74 169.214";rotation = "0.0639127 0.997956 1.265e-06 180";scale = "1.49925 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.33 -409.155 169.214";rotation = "0.0639127 0.997956 1.265e-06 180";scale = "1.50001 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.075 -415.136 165.214";rotation = "0 0 1 119.829";scale = "0.99991 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.953 -402.049 167.655";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65006";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "829.65 -416.826 169.214";rotation = "0.0639127 0.997956 1.265e-06 180";scale = "0.623587 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826.399 -402.107 167.305";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65206";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.915 -420.085 165.214";rotation = "0 0 1 142.329";scale = "2.62875 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.5 -417.747 165.964";rotation = "0.600438 0.528158 0.600436 124.318";scale = "0.375 0.166666 7.99956";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.025 -401.93 166.813";rotation = "0.551116 -0.626528 -0.551121 115.863";scale = "0.7995 0.166666 5.652";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826.792 -402.157 166.954";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65006";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.5 -417.748 165.964";rotation = "-0.448139 0.773528 -0.448136 104.554";scale = "0.375 0.166666 8.00056";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "811.27 -427.811 165.964";rotation = "0.687393 0.234488 0.687391 153.607";scale = "0.375 0.166666 36.7412";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.53 -402.505 167.905";rotation = "0.997956 -0.0639044 -8.10047e-08 180";scale = "1.1534 0.166666 5.38198";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.165 -402.205 166.568";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65002";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.508 -421.218 165.964";rotation = "-0.307241 0.90067 -0.30724 95.9836";scale = "0.375 0.166666 7.9972";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "814.11 -430.673 165.964";rotation = "0.687394 0.234485 0.687391 153.607";scale = "0.375 0.166666 42.1226";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "810.103 -410.922 164.964";rotation = "0.0452379 0.706384 -0.706382 174.82";scale = "4.45085 0.166666 6.22094";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "807.405 -428.861 165.214";rotation = "0 0 -1 15.1718";scale = "2.00047 0.166666 3";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.56 -402.256 166.226";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65206";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "806.385 -432.767 165.964";rotation = "0.703993 0.0937531 0.703991 169.288";scale = "0.375 0.166666 15.9988";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.339 -423.662 165.964";rotation = "-0.130875 0.982723 -0.130874 90.9989";scale = "0.375 0.166666 7.99452";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "805.785 -410.366 164.964";rotation = "0.0452344 0.706384 0.706382 185.181";scale = "6.6284 0.166666 27.2948";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.548 -429.906 165.964";rotation = "-0.307242 0.900669 -0.307241 95.9836";scale = "0.375 0.166666 8.00194";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.664 -426.757 164.964";rotation = "-0.528162 0.600436 0.600434 124.318";scale = "5.55993 0.166666 62.202";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.884 -402.298 165.772";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65208";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "793.972 -428.667 165.964";rotation = "0.600438 0.528158 0.600436 124.318";scale = "0.375028 0.166666 7.92488";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "806.397 -432.761 165.964";rotation = "-0.307241 0.90067 -0.30724 95.9836";scale = "0.375033 0.166666 9.08128";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.849 -404.925 164.964";rotation = "-0.626531 -0.551115 -0.551118 115.863";scale = "3.22787 0.166666 24.966";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "821.021 -413.524 165.214";rotation = "0.750852 0.66047 5.73041e-06 180";scale = "7.09674 9.32002 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.383 -432.352 165.964";rotation = "0.0637748 0.995924 0.0637742 90.234";scale = "0.375 0.166666 7.99526";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.329 -402.355 165.465";rotation = "0.995925 -0.0637717 0.0637712 90.234";scale = "0.125 0.166666 5.65208";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.418 -431.842 165.964";rotation = "0.403463 0.82124 0.403462 101.212";scale = "0.375 0.166666 8.00202";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "793.573 -408.796 164.964";rotation = "-0.0452377 -0.70638 0.706385 185.18";scale = "0.472865 0.166666 6.22286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.494 -412.417 164.964";rotation = "-0.995924 0.0637808 0.0637752 90.234";scale = "1.97461 0.166666 52.172";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.701 -408.94 164.373";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.142 -408.997 163.963";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.546 -409.049 163.466";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.894 -409.093 163.027";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.214 -409.134 162.489";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.471 -409.168 162.026";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.763 -409.205 161.594";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.101 -409.249 161.18";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.529 -409.304 160.66";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.269 -413.678 159.753";rotation = "-0.0637828 -0.995924 0.0637751 90.234";scale = "2.4805 0.166666 44.1468";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.905 -413.638 164.704";rotation = "-0.660468 0.750854 -1.81178e-06 180";scale = "1.01982 0.166667 19.824";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.2 -407.732 154.842";rotation = "0 0 -1 105.172";scale = "2.00015 0.166666 19.744";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "815.415 -402.876 154.842";rotation = "0 0 1 209.829";scale = "0.999478 0.166666 19.744";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.887 -409.35 160.094";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.235 -408.122 154.781";rotation = "0 0 -1 60.1715";scale = "2.00015 0.166666 19.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.415 -402.495 154.78";rotation = "0 0 1 187.329";scale = "3.25307 0.166666 19.866";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.77 -412.596 164.715";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "2.30054 0.166666 19.846";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.245 -409.015 164.715";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "2.30787 0.166666 19.846";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.155 -404.129 154.781";rotation = "0 0 -1 15.1714";scale = "0.998528 0.166666 19.864";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.216 -409.392 159.492";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "830.218 -422.168 159.753";rotation = "-0.706381 0.0452417 0.706384 185.181";scale = "2.48075 0.166667 14.4381";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.46 -416.143 159.753";rotation = "0.600437 0.528162 -0.600434 235.682";scale = "2.48075 0.166667 43.7512";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.524 -409.432 159.1";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.792 -409.466 158.659";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.082 -409.503 158.074";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.465 -409.553 157.58";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.743 -409.588 157.163";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.2248";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.052 -409.628 156.774";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.354 -409.667 156.303";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.023 -414.102 154.791";rotation = "0.319029 -0.362687 0.875602 104.793";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.164 -413.006 154.791";rotation = "0.319029 -0.362687 0.875602 104.793";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.937 -415.548 154.791";rotation = "0.319029 -0.362687 0.875602 104.793";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.296 -411.986 154.791";rotation = "0.319029 -0.362687 0.875602 104.793";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.751 -409.718 155.829";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.99 -407.159 154.792";rotation = "0 0 -1 37.6717";scale = "1.99999 0.166666 3";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "808.345 -403.227 154.792";rotation = "0 0 -1 82.6721";scale = "0.750162 0.166666 3";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.404 -394.891 156";rotation = "0.706384 -0.0452357 0.706382 185.18";scale = "22.5 0.166666 78.0012";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.072 -409.759 155.408";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "808.534 -401.735 155.542";rotation = "0.403461 0.821242 0.40346 101.212";scale = "0.375005 0.166666 5.98414";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "820.898 -413.49 154.291";rotation = "3.68487e-05 -8.3703e-06 1 7.32798";scale = "7.86859 9.12654 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.543 -409.82 155.042";rotation = "0.600436 0.528163 -0.600434 235.682";scale = "0.125 0.166666 6.22486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.744 -413.52 154.541";rotation = "0.706384 -0.0452365 -0.706381 174.82";scale = "0.125 1.31709 53.029";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "805.846 -409.869 154.541";rotation = "0.0452349 0.706384 0.706382 185.181";scale = "6.62867 0.166666 26.2948";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.97 -416.057 154.541";rotation = "0.0452363 0.706381 0.706385 185.181";scale = "0.125 0.166666 9.12654";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.821 -426.949 154.541";rotation = "-0.528162 0.600436 0.600434 124.318";scale = "5.475 0.166666 62.5552";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "830.838 -417.345 154.541";rotation = "-0.528162 0.600436 0.600434 124.318";scale = "0.125 0.166666 15.4362";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.875 -404.738 154.541";rotation = "-0.626531 -0.551115 -0.551118 115.863";scale = "3.1341 0.166666 24.9658";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.399 -416.64 154.541";rotation = "0.04524 0.706384 -0.706382 174.82";scale = "0.125 0.166666 42.7514";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "830.113 -412.375 154.541";rotation = "-0.995924 0.0637808 0.0637752 90.234";scale = "0.677042 0.166666 9.17488";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "829.476 -417.422 154.541";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.671498 0.166666 8.65862";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.005 -429.42 154.541";rotation = "0.52816 -0.600434 0.600437 124.318";scale = "4.26127 0.166666 14.44";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.328 -438.826 151";rotation = "0.600437 0.528163 0.600433 124.317";scale = "25 0.166666 78.0012";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.127 -395.106 151";rotation = "-0.551118 0.62653 -0.551117 115.864";scale = "25 0.166666 78.0012";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.051 -439.042 151";rotation = "0.0637753 0.995924 0.0637746 90.2339";scale = "25 0.166666 78.0012";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "833.336 -399.896 101";rotation = "0 0 1 187.328";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "794.158 -394.858 101";rotation = "0 0 1 187.328";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.298 -439.074 101";rotation = "0 0 1 187.328";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "789.12 -434.036 101";rotation = "0 0 1 187.328";scale = "0.125 0.166666 200";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration1";position = "812.568 -396.723 141.795";rotation = "-1.14896e-06 -1.18901e-06 1 187.328";scale = "1 1 1";team = "6";ownerGUID = "2000343";needsfit = "1";};%target = new StaticShape() {datablock = "DeployedLTarget";position = "812.536 -396.971 144.595";rotation = "0.995924 -0.0637767 0.0637767 90.2334";scale = "0.625 1.66667 0.3";team = "6";lMain = %building;};%building.lTarget = %target;addToDeployGroup(%target);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.866 -415.593 138.132";rotation = "0.0637753 0.995924 0.0637746 90.2339";scale = "8.0795 0.166666 7.94692";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.05 -413.687 118.925";rotation = "0 0 1 187.328";scale = "5.48405 0.166666 70.732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.36 -416.427 118.925";rotation = "0 0 1 187.328";scale = "3.2722 0.166666 70.732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedGravityField1";position = "828.288 -412.3 154.301";rotation = "-0.660471 0.750851 9.51772e-07 180";scale = "4.27 4.27 35.809";team = "6";ownerGUID = "2000343";needsfit = "1";velocityMod = "1";gravityMod = "0";appliedForce = "0.000527141 0.00575701 1000";powerFreq = "5";};setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedGravityField0";position = "827.464 -421.498 154.301";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "4.27 4.27 35.809";team = "6";ownerGUID = "2000343";needsfit = "1";velocityMod = "1";gravityMod = "0";appliedForce = "-0.00465217 0.00378667 -500";powerFreq = "5";};setTargetSensorGroup(%building.getTarget(),6);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine3";position = "815.866 -415.589 120.437";rotation = "0.995924 -0.0637813 0.0637772 90.234";scale = "0.134275 0.0748572 0.0338659";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "830.849 -417.262 118.675";rotation = "0.0637753 0.995924 0.0637743 90.2333";scale = "0.125 0.166666 77.995";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "820.996 -413.431 118.002";rotation = "1.35136e-06 -8.03428e-06 1 187.329";scale = "8.05839 6.39626 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.301 -413.352 118.252";rotation = "-0.528166 0.600433 0.600433 124.317";scale = "0.666935 0.166667 32.7916";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.378 -414.707 118.252";rotation = "0.995924 -0.0637792 0.0637752 90.2334";scale = "0.125 0.166666 32.693";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.34 -405.246 118.252";rotation = "0.626527 0.551122 -0.551116 115.862";scale = "3.41945 0.166666 52.1056";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "808.74 -436.306 118.252";rotation = "0.995924 -0.063779 0.0637755 90.2334";scale = "9.7494 0.166667 45.304";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.206 -405.604 118.252";rotation = "0.626528 0.55112 -0.551116 115.862";scale = "3.28685 0.166666 8.73538";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826.962 -415.812 118.252";rotation = "0.0452377 0.70638 0.706385 185.18";scale = "2.01849 0.166666 32.695";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.04 -409.017 118.252";rotation = "0.0452317 0.706388 -0.706378 174.82";scale = "1.2144 0.166666 5.3335";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.639 -409.35 117.752";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.926 -409.387 117.571";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.328 -409.439 117.053";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.921 -413.014 116.567";rotation = "-0.626534 -0.551116 -0.551114 115.863";scale = "0.874888 0.953999 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.424 -411.062 115.136";rotation = "0 0 -1 82.6715";scale = "0.125 0.166666 5.732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.439 -411.069 116.569";rotation = "-0.995924 0.0637786 0.0637826 90.234";scale = "0.874888 0.955332 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.391 -411.572 115.136";rotation = "0 0 1 7.32862";scale = "0.125 0.166666 5.732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.618 -409.476 116.66";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "827.749 -412.755 116.169";rotation = "0.045235 0.706384 0.706382 185.18";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5.553";isSwitchedOff = "1";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.951 -409.519 116.235";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.265 -412.244 118.002";rotation = "0.997956 -0.0639069 -8.10078e-08 180";scale = "2.52437 0.166666 6.732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.69 -409.105 118.002";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "2.53548 0.166666 6.732";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "831.338 -413.469 116.354";rotation = "0.0637753 0.995924 0.0637743 90.2334";scale = "0.8235 0.166666 15.5188";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "809.565 -413.389 115.386";rotation = "0.18508 0.694891 0.69489 200.971";scale = "0.125 0.5 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.395 -409.576 115.771";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "809.658 -413.73 115.386";rotation = "0.621955 -0.475762 0.621951 230.887";scale = "0.375 0.166666 15.9998";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "809.659 -413.73 115.386";rotation = "-0.379086 0.654328 0.654331 138.478";scale = "0.125 0.5 15.997";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "813.545 -406.449 115.386";rotation = "0.475762 0.621954 0.621951 230.886";scale = "0.125 0.5 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.495 -426.061 115.386";rotation = "0.600438 0.52816 0.600434 124.318";scale = "0.375 0.166666 22.7456";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "810.735 -429.386 115.386";rotation = "0.600436 0.528162 0.600434 124.318";scale = "0.375 0.166666 16.0006";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.835 -409.633 115.352";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.946 -414.781 114.886";rotation = "0.600438 0.52816 0.600434 124.318";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.095 -416.063 115.386";rotation = "-0.551114 0.626537 -0.551112 115.863";scale = "0.375 0.166666 15.9986";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.672 -411.094 114.886";rotation = "-0.626534 -0.551116 -0.551114 115.863";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.151 -420.918 115.377";rotation = "0.667951 -0.328154 0.66795 216.335";scale = "0.375 0.166666 15.9968";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "807.567 -431.83 115.386";rotation = "0.328151 0.667951 0.66795 216.335";scale = "0.125 0.5 8.0004";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5.553";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "800.219 -409.682 114.886";rotation = "0.0452357 0.706384 -0.706381 174.82";scale = "0.125 0.166666 5.3355";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.123 -427.858 115.386";rotation = "0.519251 0.678793 0.519247 111.663";scale = "0.375 0.166666 7.99844";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.198 -430.307 115.386";rotation = "-0.528157 0.600441 -0.600434 235.682";scale = "0.125 0.5 16";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "816.984 -430.027 115.386";rotation = "-0.551116 0.626536 -0.551112 115.863";scale = "0.375 0.166666 14.5612";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.254 -405.607 114.386";rotation = "0.626537 0.551116 -0.55111 115.864";scale = "3.28632 0.166666 61.94";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "801.035 -427.249 115.377";rotation = "-0.551118 0.626529 -0.551117 115.863";scale = "0.375 0.166666 16.0011";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSwitch";position = "800.362 -430.523 115.319";rotation = "-0.528165 0.600435 0.600433 124.317";scale = "0.5 0.5 0.2";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5.553";isSwitchedOff = "1";switchRadius = "50";timed = "2";nametoset = "FF Trap";SwitchTimer = "3000";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[OFF] Frequency" SPC %obj.powerFreq));setTargetSkin(%building.target,'baseb');%building.lastState = "";%building.getDataBlock().losePower(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration6";position = "799.291 -402.251 114.635";rotation = "0 0 1 97.3106";scale = "1 1 0.1";team = "6";ownerGUID = "2000343";needsfit = "1";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "827.125 -427.859 115.386";rotation = "-0.448137 0.77353 -0.448135 104.554";scale = "0.375 0.166666 7.99902";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "791.05 -420.998 114.386";rotation = "-0.626539 -0.55111 -0.551114 115.863";scale = "6.4638 0.166667 53.2552";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "819.164 -415.061 114.386";rotation = "0.528155 -0.600438 0.600439 124.317";scale = "0.125 0.166666 23.74";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.948 -414.781 114.386";rotation = "0.600439 0.528159 -0.600434 235.682";scale = "0.125 0.166666 45.3042";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826.987 -415.815 114.386";rotation = "0.995924 -0.0637757 0.0637866 90.234";scale = "2.00691 0.166666 32.693";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.943 -424.552 114.386";rotation = "0.528155 -0.600438 0.600439 124.317";scale = "4.65955 0.166666 23.7418";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedWoodSpine";position = "821.058 -413.437 114.636";rotation = "0.997956 -0.0639099 1.64691e-06 180";scale = "8.0082 6.40618 0.872";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.000001";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "818.73 -414.501 112.554";rotation = "0.706384 -0.0452365 -0.706381 174.82";scale = "0.791 0.166666 44.4028";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826.129 -435.001 114.386";rotation = "-0.995924 0.0637863 0.0637749 90.2346";scale = "1.20937 0.166666 7.02738";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.685 -434.718 113.886";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.79 -416.876 110.972";rotation = "0 0 1 97.3278";scale = "8.8105 0.166666 6.326";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.287 -434.667 113.587";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.827 -406.866 112.553";rotation = "-0.528166 0.600434 0.600433 124.317";scale = "0.125 1.054 7.85216";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "810.33 -421.739 111.722";rotation = "0.600436 0.528162 0.600434 124.318";scale = "0.375 0.166666 16.0006";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.889 -434.615 113.234";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.999 -426.629 111.722";rotation = "0.687393 0.234487 0.687391 153.607";scale = "0.375 0.166666 16.0011";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "810.666 -425.655 111.722";rotation = "0.706384 -0.0452429 0.706381 185.181";scale = "0.375003 0.166666 8.0035";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "807.496 -428.1 111.722";rotation = "0.687394 0.234483 0.687392 153.607";scale = "0.375 0.166666 8.00476";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.499 -434.565 112.865";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.072 -429.331 111.722";rotation = "0.403468 0.821235 0.403467 101.212";scale = "0.375 0.166666 7.99912";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.42 -434.303 114.136";rotation = "-0.660468 0.750855 9.51771e-07 180";scale = "0.125 4.12337 6.328";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804 -426.627 111.722";rotation = "0.0637803 0.995924 0.0637795 90.234";scale = "0.375 0.166666 8.0035";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.029 -434.505 112.498";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96286";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "817.075 -429.332 111.722";rotation = "-0.551114 0.626537 -0.551112 115.863";scale = "0.375 0.166666 7.9988";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "815.662 -397.875 110.722";rotation = "-0.551118 0.62653 -0.551117 115.864";scale = "0.125 11.6908 78.0012";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.52 -434.439 112.181";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedLogoProjector";position = "815.407 -382.695 111";rotation = "0 0 1 7.78448";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";holoBlock = "DSwordLogo";};%holo = new StaticShape() {datablock = "DSwordLogo";position = "815.407 -382.695 121";rotation = "0 0 1 7.78448";scale = "1 1 1";};%building.holo = %holo;%holo.projector = %building;
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.176 -398.59 110.75";rotation = "0.0637753 0.995924 0.0637746 90.2339";scale = "0.125 0.166666 37.9378";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.152 -434.392 111.707";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96486";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "795.072 -420.512 110.722";rotation = "-0.528167 0.600432 0.600435 124.318";scale = "6.96085 0.166666 7.85228";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";nametoset = "Ground Floor Stair";};setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "820.729 -434.338 111.222";rotation = "0.0452379 0.706384 -0.706381 174.819";scale = "0.125 0.166666 6.96282";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "798.032 -397.477 110.722";rotation = "-0.528167 0.600432 0.600435 124.318";scale = "0.927075 0.166666 7.85216";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.772 -399.513 110.222";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.8541";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.487 -388.424 110.75";rotation = "0.0637753 0.995924 0.0637746 90.2339";scale = "0.125 6.66713 38.0002";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.71 -399.992 109.939";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.667 -400.327 109.413";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.61 -400.769 108.992";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.8541";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.564 -401.13 108.535";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "821.316 -406.261 108.018";rotation = "0.687394 0.234488 0.68739 153.607";scale = "1.227 0.166666 14.5494";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.519 -401.477 108.053";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85408";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.482 -401.769 107.596";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.534 -428.634 107.194";rotation = "-0.706382 0.0452385 0.706384 185.179";scale = "1.6385 0.166667 30.0028";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.433 -402.148 107.152";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.8541";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.385 -402.521 106.689";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "808.407 -426.689 101.5";rotation = "0 0 1 7.32766";scale = "0.125 0.166666 17.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.41 -409.382 101";rotation = "7.31663e-07 -7.10016e-06 1 232.328";scale = "2.0001 0.166667 18.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "799.125 -414.957 101";rotation = "0 0 1 74.8277";scale = "3.9999 0.166666 18.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.341 -402.863 106.224";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.69 -424.668 101";rotation = "0 0 1 29.8277";scale = "1.99929 0.166666 18.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "824.835 -420.483 101";rotation = "0 0 -1 82.6721";scale = "4.00017 0.166666 18.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.782 -428.666 101.5";rotation = "0 0 1 7.32766";scale = "0.125 0.166666 17.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.775 -401.453 110.472";rotation = "-0.660475 0.750848 9.51768e-07 180";scale = "2.91532 0.166666 18.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.672 -398.654 106";rotation = "0.706384 -0.0452357 0.706382 185.18";scale = "2.5 0.166666 18.9871";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "803.865 -396.106 106";rotation = "0.0637753 0.995924 0.0637746 90.2339";scale = "2.5 0.166666 19.076";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.288 -403.277 105.725";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "828.66 -403.457 101";rotation = "0 0 1 232.328";scale = "2.74195 0.166666 18.944";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.726 -378.753 107.941";rotation = "0.626528 0.551116 -0.551121 115.863";scale = "0.125 1.70667 37.9962";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.228 -403.74 105.25";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.393 -398.869 106";rotation = "0.600437 0.528163 0.600433 124.317";scale = "2.5 0.166666 41.0004";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "804.068 -396.384 106";rotation = "0.600437 0.528163 0.600433 124.317";scale = "2.50003 0.166666 40.999";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.173 -404.166 104.61";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85216";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.14 -404.421 104.271";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85228";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.087 -404.839 103.819";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85408";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.185 -405.592 105.564";rotation = "0.946447 0.322858 4.09252e-07 180";scale = "0.547357 0.166666 9.128";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "825.955 -402.681 105.564";rotation = "0.946447 0.322858 4.09252e-07 180";scale = "0.709132 0.166666 9.128";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "797.034 -405.252 103.271";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.986 -405.623 102.78";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.85422";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.941 -405.973 102.303";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.8541";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "823.534 -428.634 102.029";rotation = "0.0637727 0.995925 0.0637721 90.234";scale = "0.265 0.166666 30.0028";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.881 -406.439 101.773";rotation = "0.626527 0.551122 -0.551116 115.864";scale = "0.125 0.166666 7.8541";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "808.16 -426.657 101.25";rotation = "-0.0637737 -0.995925 0.0637702 90.234";scale = "0.125 0.166666 32.0012";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "796.814 -406.956 101.25";rotation = "-0.706381 0.0452333 0.706385 185.18";scale = "0.125 0.166666 7.85228";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "811.228 -416.966 99.5";rotation = "0 0 1 187.328";scale = "10 13.3333 3";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "810.66 -376.815 105.381";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "1.90382 0.166666 8.762";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "822.565 -378.346 105.381";rotation = "0.0639077 0.997956 1.265e-06 180";scale = "1.59273 0.166666 8.762";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "815.054 -387.211 99.5";rotation = "0 0 1 187.328";scale = "5 6.66666 3";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "780.963 -429.198 100";rotation = "0 0 1 6.49358";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SW Tower Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "807.4 -446.723 91";rotation = "0 0 1 187.328";scale = "24.9999 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "837.582 -437.009 100";rotation = "0 0 1 7.67453";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SE Tower Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "842.858 -386.006 100";rotation = "0 0 1 185.159";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NE Tower Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "852.175 -412.151 91";rotation = "0 0 1 187.328";scale = "5 19.9997 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "772.83 -401.948 91";rotation = "0 0 1 187.328";scale = "5 19.9998 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "807.062 -374.86 100.24";rotation = "-0.543145 -0.710043 -0.448142 104.554";scale = "0.666265 0.166666 38.0004";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "787.353 -376.809 100";rotation = "0 0 1 190.943";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NW Tower Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "826 -378.536 100.75";rotation = "0.0531705 0.830294 0.554783 184.07";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "806.659 -376.049 100.75";rotation = "0.0531705 0.830294 0.554783 184.07";scale = "0.125 0.166666 8";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "833.933 -318.809 119.75";rotation = "-0.528163 0.600437 0.600433 124.317";scale = "0.125 0.166666 40.0046";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.9";};
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "847.36 -371.202 91";rotation = "0 0 1 187.328";scale = "9.9999 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "787.85 -363.548 91";rotation = "0 0 1 187.328";scale = "9.9999 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "799.745 -506.235 100";rotation = "0 0 1 187.328";scale = "45.0003 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate4";position = "824.014 -317.533 100";rotation = "-3.9584e-05 -1.57037e-05 1 7.32734";scale = "18.1839 0.486146 18.5714";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "911.685 -419.803 100";rotation = "0 0 1 187.328";scale = "5 73.334 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "713.32 -394.294 100";rotation = "0 0 1 187.328";scale = "5 73.334 40";team = "6";ownerGUID = "2000343";needsfit = "1";grounded = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "836.652 -297.663 119.75";rotation = "-0.528163 0.600437 0.600433 124.317";scale = "0.125 0.166666 40.0026";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.9";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "836.727 -297.08 119.75";rotation = "-0.528163 0.600437 0.600433 124.317";scale = "0.125 0.166666 40.0028";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.9";};
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "836.218 -322.741 100";rotation = "0 0 1 185.504";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.9";nametoset = "Gate Control (9.9)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "810.604 -319.299 100";rotation = "0 0 1 186.07";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "9.9";nametoset = "Gate Control (9.9)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "Deployedwall";position = "846.37 -300.496 100";rotation = "0 0 1 187.328";scale = "5 13.3333 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwall";position = "806.695 -295.395 100";rotation = "0 0 1 187.328";scale = "5 13.3333 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate6";position = "826.701 -296.636 109.75";rotation = "0.551118 -0.626525 -0.551122 115.864";scale = "9.59268 20.1808 0.489404";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate6";position = "826.776 -296.053 109.75";rotation = "0.551118 -0.626525 -0.551122 115.864";scale = "9.59268 20.181 0.489404";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "893.645 -487.559 103.197";rotation = "0.995924 -0.0637793 0.0637767 90.234";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "838.971 -279.632 119.75";rotation = "-0.528163 0.600437 0.600433 124.317";scale = "0.125 0.166666 40.0028";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "9.9";};
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "884.77 -315.517 100";rotation = "0 0 1 187.328";scale = "14.9998 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "765.745 -300.211 100";rotation = "0 0 1 187.328";scale = "15 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "894.06 -484.336 102.947";rotation = "0.750852 0.66047 8.37206e-07 180";scale = "0.125 0.166666 5.894";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "893.613 -487.807 102.947";rotation = "0.997956 -0.0639084 -8.10097e-08 180";scale = "0.125 0.166666 5.894";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "894.308 -484.367 103.197";rotation = "-0.626532 -0.551118 -0.551114 115.863";scale = "0.125 0.166666 38.0006";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "903.505 -487.315 103.447";rotation = "0.0639068 0.997956 3.72876e-06 180";scale = "4.75005 1.00018 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "893.365 -487.775 103.197";rotation = "-0.626531 -0.551119 -0.551114 115.863";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "903.698 -485.827 101.484";rotation = "0.995924 -0.0637751 0.0637773 90.2339";scale = "4.75005 0.997 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "908.23 -478.484 100";rotation = "0 0 1 3.15735";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";};setTargetSensorGroup(%building.getTarget(),6);%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "903.315 -488.802 101.598";rotation = "0.0452364 0.706384 -0.706381 174.82";scale = "4.75005 1.06567 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "889.189 -501.532 100";rotation = "0 0 1 11.1893";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SE Interior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "692.222 -500.45 120";rotation = "0 0 1 186.098";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "SW Interior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "905.026 -528.013 120";rotation = "0 0 1 185.548";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "SE Interior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "714.542 -481.829 100";rotation = "0 0 1 6.28398";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SW Interior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedCrate8";position = "829.02 -278.604 109.75";rotation = "0.551118 -0.626525 -0.551122 115.864";scale = "3.19672 6.45203 0.163934";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "912.986 -490.046 103.197";rotation = "0.995924 -0.0637793 0.0637767 90.234";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "913.401 -486.823 102.947";rotation = "0.750852 0.66047 8.37206e-07 180";scale = "0.125 0.166666 5.894";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "TelePadDeployedBase";position = "912.523 -488.543 101.455";rotation = "-0.626529 -0.551118 -0.551118 115.863";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";frequency = "11";teleMode = "0";};setTargetSensorGroup(%building.getTarget(),6);%beam = new StaticShape() {datablock = "TelePadBeam";position = "912.523 -488.543 101.455";rotation = "0.626531 0.551116 -0.551117 115.864";scale = "1 1 0.4";};%building.beam = %beam;%beam.playThread(0,"ambient");%beam.setThreadDir(0,true);%beam.flashThreadDir = true;setTargetName(%building.target,addTaggedString("Frequency" SPC %building.frequency));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "913.425 -488.59 101.474";rotation = "0.62653 0.551122 -0.551113 115.863";scale = "0.749883 0.982332 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "TelePadDeployedBase";position = "913.81 -488.733 101.56";rotation = "-0.528163 0.600435 0.600434 124.318";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";frequency = "11";teleMode = "0";};setTargetSensorGroup(%building.getTarget(),6);%beam = new StaticShape() {datablock = "TelePadBeam";position = "913.81 -488.733 101.56";rotation = "0.528161 -0.600434 0.600437 124.317";scale = "1 1 0.4";};%building.beam = %beam;%beam.playThread(0,"ambient");%beam.setThreadDir(0,true);%beam.flashThreadDir = true;setTargetName(%building.target,addTaggedString("Frequency" SPC %building.frequency));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "912.954 -490.294 102.947";rotation = "0.997956 -0.0639084 -8.10097e-08 180";scale = "0.125 0.166666 5.894";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "911.214 -333.556 100";rotation = "0 0 1 185.01";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NE Interior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "719.879 -287.436 120";rotation = "0 0 1 5.83357";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "NW Interior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "932.27 -313.915 120";rotation = "0 0 1 5.92123";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "NE Interior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "735.324 -309.994 100";rotation = "0 0 1 185.592";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NW Interior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "792.09 -565.745 100";rotation = "0 0 1 187.328";scale = "85.0005 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "972.475 -417.534 100";rotation = "0 0 1 187.328";scale = "5 106.67 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "655.075 -376.72 100";rotation = "0 0 1 187.328";scale = "5 106.668 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "909.418 -534.664 100";rotation = "0 0 -1 14.799";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SE Interior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "685.243 -508.575 100";rotation = "0 0 -1 22.8631";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SW Interior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "952.597 -495.641 103.652";rotation = "0.0452357 0.706384 -0.706382 174.82";scale = "0.125 0.166666 7";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "714.56 -276.779 100";rotation = "0 0 1 187.064";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NW Interior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "952.182 -498.864 103.402";rotation = "-0.660475 0.750848 9.51768e-07 180";scale = "0.125 0.166666 6.804";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "944.424 -303.81 100";rotation = "0 0 1 231.124";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NE Interior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "962.11 -498.376 103.902";rotation = "0.063906 0.997956 7.16886e-06 180";scale = "4.76692 0.999809 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "952.43 -498.896 103.652";rotation = "0.528161 -0.600434 0.600437 124.317";scale = "0.125 0.166666 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "961.908 -499.863 101.783";rotation = "0.0452344 0.706387 -0.706379 174.82";scale = "4.76215 1.18833 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "912.26 -258.555 100";rotation = "0 0 1 187.328";scale = "34.999 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "Deployedfloor";position = "753.56 -238.147 100";rotation = "0 0 1 187.328";scale = "35.0008 6.66667 40";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "971.622 -501.112 103.652";rotation = "0.995924 -0.0637718 0.0637797 90.2334";scale = "0.125 0.166666 5.99912";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "TelePadDeployedBase";position = "971.148 -499.55 101.848";rotation = "-0.626528 -0.551116 -0.55112 115.863";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";frequency = "9";teleMode = "0";};setTargetSensorGroup(%building.getTarget(),6);%beam = new StaticShape() {datablock = "TelePadBeam";position = "971.148 -499.55 101.848";rotation = "0.626531 0.551118 -0.551115 115.864";scale = "1 1 0.4";};%building.beam = %beam;%beam.playThread(0,"ambient");%beam.setThreadDir(0,true);%beam.flashThreadDir = true;setTargetName(%building.target,addTaggedString("Frequency" SPC %building.frequency));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "972.042 -499.654 101.701";rotation = "0.626528 0.551123 -0.551114 115.863";scale = "0.750133 1.134 1";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "TelePadDeployedBase";position = "972.444 -499.667 101.742";rotation = "-0.528163 0.600437 0.600433 124.317";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "5";frequency = "9";teleMode = "0";};setTargetSensorGroup(%building.getTarget(),6);%beam = new StaticShape() {datablock = "TelePadBeam";position = "972.444 -499.667 101.742";rotation = "0.528165 -0.600431 0.600437 124.318";scale = "1 1 0.4";};%building.beam = %beam;%beam.playThread(0,"ambient");%beam.setThreadDir(0,true);%beam.flashThreadDir = true;setTargetName(%building.target,addTaggedString("Frequency" SPC %building.frequency));
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "971.571 -501.358 103.402";rotation = "0.997956 -0.0639054 -8.10059e-08 180";scale = "0.125 0.166666 6.804";team = "6";ownerGUID = "2000343";needsfit = "1";powerFreq = "5";};
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "650.333 -534.392 100";rotation = "0 0 1 98.2004";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SW Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "939.106 -571.015 100";rotation = "0 0 -1 83.1178";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SE Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "972.09 -278.871 100";rotation = "0 0 -1 83.6341";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NE Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "687.213 -243.41 100";rotation = "0 0 1 94.1903";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NW Exterior (1)";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "622.926 -553.821 120";rotation = "0 0 1 185.91";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "SW Exterior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "958.829 -597.018 120";rotation = "0 0 1 186.992";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "SE Exterior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "1001.85 -260.506 120";rotation = "0 0 1 6.5524";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "NE Exterior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (Turret) () {datablock = "TurretDeployedBase";position = "665.781 -217.029 120";rotation = "0 0 1 4.95941";scale = "1 1 1";team = "6";ownerGUID = "2000343";powerFreq = "1";nametoset = "NW Exterior";initialBarrel = "PlasmaCannonBarrelLarge";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));%building.setRechargeRate(%building.getDatablock().rechargeRate);
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "961.69 -599.217 100";rotation = "0 0 1 59.4512";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SE Exterior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "618.238 -555.594 100";rotation = "0 0 1 155.659";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "SW Exterior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "1004.69 -258.338 100";rotation = "0 0 1 236.513";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NE Exterior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
%building = new (StaticShape) () {datablock = "SensorLargePulse";position = "662.961 -210.38 100";rotation = "0 0 1 159.109";scale = "1 1 1";team = "6";ownerGUID = "2000343";deployed = "1";powerFreq = "1";nametoset = "NW Exterior";};setTargetSensorGroup(%building.getTarget(),6);setTargetName(%building.getTarget(), addTaggedString(%building.nametoset));
|
||||
|
||||
TWM2PowerCheck(); //and eval power
|
||||
178
missions/HelljumpIsland.mis
Normal file
178
missions/HelljumpIsland.mis
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
// DisplayName = Beach of Helljump Island
|
||||
// MissionTypes = None Helljump
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// Beach OF Highrock Island Required To Play
|
||||
// By EEK n IkE.
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//Helljump Mission
|
||||
//Don't run for the ocean! You'll drown out there!
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
musicTrack = "desert";
|
||||
powerCount = "0";
|
||||
cdTrack = "6";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1744 -2216 3440 3824";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-791.454 499.031 523.269";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "100";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "100";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "1";
|
||||
providesPower = "1";
|
||||
|
||||
};
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "ISLANDbeach.ter";
|
||||
squareSize = "8";
|
||||
|
||||
locked = "true";
|
||||
position = "-1024 -1024 0";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
GraphFile = "Flatland.nav";
|
||||
scale = "1 1 1";
|
||||
locked = "true";
|
||||
conjoinBowlDev = "20";
|
||||
position = "0 0 0 1";
|
||||
coverage = "0";
|
||||
rotation = "0 0 0 0";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera() {
|
||||
position = "-411.34 734.036 534.261";
|
||||
rotation = "-0.0803515 -0.163301 0.983299 231.638";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "false";
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.250000 0.750000 1.000000 1.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.700000 0.800000 0.900000 1.000000";
|
||||
fogVolume1 = "200 99 101";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "SOM_TR2_StonedBlue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
};
|
||||
new WaterBlock() {
|
||||
position = "-272 456 178.128";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "2048 2048 69";
|
||||
liquidType = "OceanWater";
|
||||
density = "1";
|
||||
viscosity = "15";
|
||||
waveMagnitude = "2";
|
||||
surfaceTexture = "LiquidTiles/icebound_water";
|
||||
surfaceOpacity = "0.7";
|
||||
envMapTexture = "LiquidTiles/archipelago_emap_cloudsground";
|
||||
envMapIntensity = "0.4";
|
||||
removeWetEdges = "0";
|
||||
|
||||
textureSize = "32 32";
|
||||
floodFill = "1";
|
||||
extent = "100 100 10";
|
||||
seedPoints = "0 0 1 0 1 1 0 1";
|
||||
params3 = "1.21 -0.61 0.13 -0.33";
|
||||
params2 = "0.39 0.39 0.2 0.133";
|
||||
params0 = "0.32 -0.67 0.066 0.5";
|
||||
params1 = "0.63 -2.41 0.33 0.21";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
1828
missions/MyrkWood2.mis
Normal file
1828
missions/MyrkWood2.mis
Normal file
File diff suppressed because it is too large
Load diff
847
missions/Oasis2.mis
Normal file
847
missions/Oasis2.mis
Normal file
|
|
@ -0,0 +1,847 @@
|
|||
// MissionTypes = Sabotage Infection
|
||||
|
||||
//--- MISSION QUOTE BEGIN ---
|
||||
// War, it leaves many terrains scarred from explosions, this bomb
|
||||
// will only add to this sad truth
|
||||
// --Phantom139
|
||||
//--- MISSION QUOTE END ---
|
||||
|
||||
//--- MISSION STRING BEGIN ---
|
||||
//Inventory stations available in all towers
|
||||
//--- MISSION STRING END ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
powerCount = "0";
|
||||
DM_scoreLimit = "25";
|
||||
cdTrack = "6";
|
||||
musicTrack = "desert";
|
||||
DM_timeLimit = "25";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-400 -360 752 752";
|
||||
flightCeiling = "2000";
|
||||
flightCeilingRange = "50";
|
||||
locked = "true";
|
||||
};
|
||||
new Sun() {
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "0.600000 0.600000 0.600000 1.000000";
|
||||
ambient = "0.200000 0.200000 0.200000 1.000000";
|
||||
position = "-1680 -1880 0";
|
||||
rotation = "1 0 0 0";
|
||||
locked = "true";
|
||||
scale = "1 1 1";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Oasis.ter";
|
||||
squareSize = "8";
|
||||
emptySquares = "359010";
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
visibleDistance = "1200";
|
||||
hazeDistance = "250";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "45";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
position = "0 0 0 1";
|
||||
coverage = "0";
|
||||
XDimOverSize = "0";
|
||||
rotation = "0 0 0 0";
|
||||
YDimOverSize = "0";
|
||||
locked = "true";
|
||||
scale = "1 1 1";
|
||||
conjoinBowlDev = "20";
|
||||
GraphFile = "Oasis.nav";
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "-1680 -1880 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "500";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.390000 0.390000 0.390000 0.000000";
|
||||
fogDistance = "275";
|
||||
fogColor = "0.500000 0.500000 0.500000 1.000000";
|
||||
fogVolume1 = "120 0 100";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Lush_l4.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
cloudSpeed0 = "0.000000 0.000000";
|
||||
locked = "true";
|
||||
};
|
||||
new WaterBlock() {
|
||||
position = "-128 -96 90";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "128 96 12";
|
||||
liquidType = "Water";
|
||||
density = "1";
|
||||
viscosity = "5";
|
||||
waveMagnitude = "0.2";
|
||||
surfaceTexture = "LiquidTiles/GreenWater";
|
||||
surfaceOpacity = "0.8";
|
||||
envMapTexture = "lush/skies/lushcloud1";
|
||||
envMapIntensity = "0.7";
|
||||
removeWetEdges = "1";
|
||||
locked = "true";
|
||||
AudioEnvironment = Underwater;
|
||||
};
|
||||
new SimGroup(environment) {
|
||||
|
||||
new TSStatic() {
|
||||
position = "-46.068 -90.5109 114.357";
|
||||
rotation = "0 0 -1 32.0856";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg17.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-117.452 -39.1965 105.735";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg34.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-97.266 -33.5638 105.025";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg33.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-122.789 -30.4939 104.096";
|
||||
rotation = "0 0 1 63.5983";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg17.dts";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
new Camera() {
|
||||
position = "-52.1118 -103.14 180.539";
|
||||
rotation = "0.363528 0.0766801 -0.928422 25.6001";
|
||||
scale = "1 1 0.930191";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new Camera() {
|
||||
position = "-186.237 59.4353 205.297";
|
||||
rotation = "0.15534 -0.287211 0.945188 125.847";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new Camera() {
|
||||
position = "-178.244 -55.5781 115.216";
|
||||
rotation = "0 0 1 88.8084";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new Camera() {
|
||||
position = "-43.2597 -178.425 205.963";
|
||||
rotation = "0.558326 0.148527 -0.816218 36.1036";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
new SimGroup(Team0) {
|
||||
|
||||
new SimGroup(Base0) {
|
||||
|
||||
new StaticShape() {
|
||||
position = "-202.863 -44.7028 122.075";
|
||||
rotation = "0 0 1 89.9544";
|
||||
scale = "1 1 1";
|
||||
nameTag = "West Stronghold";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-207.1 -40.064 97.59";
|
||||
rotation = "0 0 -1 48.1284";
|
||||
scale = "1 1 1";
|
||||
nameTag = "West Stronghold";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-202.509 -44.8018 107.6";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbunk1.dif";
|
||||
showTerrainInside = "0";
|
||||
AudioProfile = "Universal_Base_3";
|
||||
locked = "true";
|
||||
AudioEnvironment = SmallRoom;
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-102.796 21.1962 139.043";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bbunk2.dif";
|
||||
showTerrainInside = "0";
|
||||
AudioProfile = "Universal_Base_2";
|
||||
locked = "true";
|
||||
AudioEnvironment = SmallRoom;
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-58.1054 -111.149 132.645";
|
||||
rotation = "0 0 1 89.9544";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bbunk1.dif";
|
||||
showTerrainInside = "0";
|
||||
AudioProfile = "Universal_Base_2";
|
||||
locked = "true";
|
||||
AudioEnvironment = SmallRoom;
|
||||
};
|
||||
new Item() {
|
||||
position = "-209.9 -44.7356 105.823";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "RepairPack";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
collideable = "0";
|
||||
static = "1";
|
||||
rotate = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-208.747 -50.5824 97.59";
|
||||
rotation = "0 0 -1 89.9544";
|
||||
scale = "1 1 1";
|
||||
nameTag = "West Stronghold";
|
||||
dataBlock = "GeneratorLarge";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-70.6533 -106.666 126.66";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
nameTag = "South Stronghold";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-101.038 26.3027 142.92";
|
||||
rotation = "0 0 1 90.5273";
|
||||
scale = "1 1 1";
|
||||
nameTag = "North Stronghold";
|
||||
dataBlock = "GeneratorLarge";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-115.116 27.4632 132.54";
|
||||
rotation = "0 0 -1 89.9544";
|
||||
scale = "1 1 1";
|
||||
nameTag = "North Stronghold";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-90.4074 27.4432 132.54";
|
||||
rotation = "0 0 1 89.9544";
|
||||
scale = "1 1 1";
|
||||
nameTag = "North Stronghold";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-60.196 -115.78 126.66";
|
||||
rotation = "0 0 1 180.091";
|
||||
scale = "1 1 1";
|
||||
nameTag = "South Stronghold";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-64.0443 -106.333 135.48";
|
||||
rotation = "0 0 1 89.9544";
|
||||
scale = "1 1 1";
|
||||
nameTag = "South Stronghold";
|
||||
dataBlock = "GeneratorLarge";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(team1) {
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-70.435 -46.3061 116.136";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "180";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "10";
|
||||
outdoorWeight = "90";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new WayPoint() {
|
||||
position = "-112 -96 110.863";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "WayPointMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
name = "Oasis";
|
||||
team = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new SimGroup(team2) {
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-70.435 -46.3061 116.136";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "180";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "10";
|
||||
outdoorWeight = "90";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(RandomOrganics) {
|
||||
|
||||
new SimGroup(Addition4BEPlant1) {
|
||||
|
||||
new TSStatic() {
|
||||
position = "-105 -82 103.342";
|
||||
rotation = "0.462131 -0.253345 0.849854 46.3684";
|
||||
scale = "1.1 1.1 1.1";
|
||||
shapeName = "borg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-25 -2 121.987";
|
||||
rotation = "-0.0144114 0.0336269 0.999331 141.024";
|
||||
scale = "0.5 0.5 0.5";
|
||||
shapeName = "borg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-105 -106 123.459";
|
||||
rotation = "-0.108457 0.315024 0.942866 200.771";
|
||||
scale = "1.4 1.4 1.4";
|
||||
shapeName = "borg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-140.51 16.8311 131.494";
|
||||
rotation = "0 0 1 23.4913";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg16.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-49.5967 -116.738 125.795";
|
||||
rotation = "0 1 0 7.44851";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg5.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-94.8663 35.5787 131.797";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Addition5PhoenixPlant1) {
|
||||
|
||||
new TSStatic() {
|
||||
position = "-41 206 179.164";
|
||||
rotation = "0 0 1 6.00018";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-265 134 115.195";
|
||||
rotation = "0 0 1 149";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "63 118 180.078";
|
||||
rotation = "0 0 -1 109";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "87 70 167.875";
|
||||
rotation = "0 0 -1 69.0002";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-201 -98 127.793";
|
||||
rotation = "0 0 1 192";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-145 -34 106.539";
|
||||
rotation = "0 0 1 7.00012";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-137 150 168.086";
|
||||
rotation = "0 0 -1 82";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-185 -34 104.965";
|
||||
rotation = "0 0 1 236";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "47 110 181.051";
|
||||
rotation = "0 0 1 110";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-129 126 170.215";
|
||||
rotation = "0 0 1 39";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "95 214 146.312";
|
||||
rotation = "0 0 -1 105";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-57 118 163.344";
|
||||
rotation = "0 0 1 129";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-201 -26 110.246";
|
||||
rotation = "0 0 1 36";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-241 6 113.391";
|
||||
rotation = "0 0 1 99.0002";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "95 110 169.32";
|
||||
rotation = "0 0 -1 96.0002";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-105 174 174.695";
|
||||
rotation = "0 0 -1 20.9998";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-169 -130 120.356";
|
||||
rotation = "0 0 -1 118";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-113 54 132.18";
|
||||
rotation = "0 0 -1 59.0003";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg1.dts";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new SimGroup(Addition6PhoenixPlant2) {
|
||||
|
||||
new TSStatic() {
|
||||
position = "-137 102 168.824";
|
||||
rotation = "0 0 1 50";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-185 206 150.68";
|
||||
rotation = "0 0 -1 86.0004";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-257 -2 108.727";
|
||||
rotation = "0 0 1 236";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-265 38 137.941";
|
||||
rotation = "0 0 -1 104";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-1 94 165.027";
|
||||
rotation = "0 0 -1 60.0001";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "23 -58 130.398";
|
||||
rotation = "0 0 1 32";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-169 -138 122.379";
|
||||
rotation = "0 0 1 120";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "23 214 155.297";
|
||||
rotation = "0 0 1 7.00012";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-97 102 151.262";
|
||||
rotation = "0 0 1 34";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-41 -178 177.32";
|
||||
rotation = "0 0 1 139";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-25 134 158.785";
|
||||
rotation = "0 0 1 79";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-257 -186 180.27";
|
||||
rotation = "0 0 1 96.0002";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "103 -186 196.887";
|
||||
rotation = "0 0 1 70.9998";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "71 174 182.895";
|
||||
rotation = "0 0 1 192";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-17 166 166.719";
|
||||
rotation = "0 0 -1 120";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "71 102 175.273";
|
||||
rotation = "0 0 -1 50";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "95 -170 187.805";
|
||||
rotation = "0 0 1 113";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-25 70 142";
|
||||
rotation = "0 0 1 239";
|
||||
scale = "1 1 1";
|
||||
shapeName = "porg2.dts";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new SimGroup(Addition1BELgTree18) {
|
||||
|
||||
new TSStatic() {
|
||||
position = "-97.206 -50.249 101.355";
|
||||
rotation = "0 0 1 58.9997";
|
||||
scale = "1.2 1.2 1.2";
|
||||
shapeName = "borg18.dts";
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-32.5498 3.139 117.762";
|
||||
rotation = "0 0 1 57.9999";
|
||||
scale = "1.4 1.4 1.4";
|
||||
shapeName = "borg18.dts";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(Ambiance) {
|
||||
|
||||
new AudioEmitter() {
|
||||
position = "-60.3481 -42.8411 108.656";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/frog1.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "1";
|
||||
minDistance = "20";
|
||||
maxDistance = "1280";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "30000";
|
||||
maxLoopGap = "60000";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
new AudioEmitter() {
|
||||
position = "-121.581 -30.8508 119.614";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/bird_echo1.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "1";
|
||||
minDistance = "3";
|
||||
maxDistance = "192";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "10000";
|
||||
maxLoopGap = "40000";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
new AudioEmitter() {
|
||||
position = "-293.673 -11.7674 116.589";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/crickets_drygrass.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "1";
|
||||
minDistance = "35";
|
||||
maxDistance = "2240";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "0";
|
||||
maxLoopGap = "0";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
new AudioEmitter() {
|
||||
position = "-106.738 165.746 185.082";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/crickets_drygrass.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "0";
|
||||
minDistance = "35";
|
||||
maxDistance = "2240";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "0";
|
||||
maxLoopGap = "0";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
new AudioEmitter() {
|
||||
position = "154.36 64.0897 179.913";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/crickets_drygrass.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "1";
|
||||
minDistance = "35";
|
||||
maxDistance = "2240";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "0";
|
||||
maxLoopGap = "0";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
new AudioEmitter() {
|
||||
position = "23.604 -178.446 194.867";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/crickets_drygrass.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "1";
|
||||
minDistance = "35";
|
||||
maxDistance = "2240";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "0";
|
||||
maxLoopGap = "0";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
new AudioEmitter() {
|
||||
position = "-210.922 -185.037 192.368";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
fileName = "fx/environment/crickets_drygrass.wav";
|
||||
useProfileDescription = "0";
|
||||
outsideAmbient = "1";
|
||||
volume = "1";
|
||||
isLooping = "1";
|
||||
is3D = "1";
|
||||
minDistance = "35";
|
||||
maxDistance = "2240";
|
||||
coneInsideAngle = "360";
|
||||
coneOutsideAngle = "360";
|
||||
coneOutsideVolume = "1";
|
||||
coneVector = "0 0 1";
|
||||
loopCount = "-1";
|
||||
minLoopGap = "0";
|
||||
maxLoopGap = "0";
|
||||
type = "EffectAudioType";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
568
missions/SideSwipe.mis
Normal file
568
missions/SideSwipe.mis
Normal file
|
|
@ -0,0 +1,568 @@
|
|||
// DisplayName = Side Swipped
|
||||
// MissionTypes = Sabotage Domination CTF
|
||||
|
||||
//--- MISSION QUOTE BEGIN ---
|
||||
//What lies in god's home, stays there, what falls from god's home,
|
||||
//he smites down with his endless wrath
|
||||
//--Phantom139
|
||||
//--- MISSION QUOTE END ---
|
||||
|
||||
//--- MISSION STRING BEGIN ---
|
||||
// Dont Try Skydiving, It Will Abruptly End
|
||||
// Expect Stalemates. As the Battle for the top
|
||||
// Will Continue quickly
|
||||
//--- MISSION STRING END ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
cdTrack = "5";
|
||||
CTF_scoreLimit = "8";
|
||||
musicTrack = "ice";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-824 -904 1200 1504";
|
||||
flightCeiling = "5000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "500";
|
||||
useSkyTextures = "1";
|
||||
SkySolidColor = "0.365000 0.390000 0.420000 0.000000";
|
||||
fogDistance = "400";
|
||||
fogColor = "0.650000 0.650000 0.700000 1.000000";
|
||||
fogVolume1 = "450 0 100";
|
||||
fogVolume2 = "400 100 250";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "sky_ice_blue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
cloudSpeed0 = "0.000000 0.000000";
|
||||
locked = "true";
|
||||
};
|
||||
new Sun() {
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "0.700000 0.700000 0.700000 1.000000";
|
||||
ambient = "0.400000 0.400000 0.400000 1.000000";
|
||||
scale = "1 1 1";
|
||||
position = "0 0 0";
|
||||
locked = "true";
|
||||
rotation = "1 0 0 0";
|
||||
};
|
||||
new Precipitation(Precipitation) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Snow";
|
||||
percentage = "1";
|
||||
color1 = "1.000000 1.000000 1.000000 1.000000";
|
||||
color2 = "-1.000000 0.000000 0.000000 1.000000";
|
||||
color3 = "-1.000000 0.000000 0.000000 1.000000";
|
||||
offsetSpeed = "0.25";
|
||||
minVelocity = "0.25";
|
||||
maxVelocity = "1.5";
|
||||
maxNumDrops = "2000";
|
||||
maxRadius = "125";
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/snowdet2";
|
||||
terrainFile = "SlapDash.ter";
|
||||
squareSize = "8";
|
||||
position = "-1024 -1024 0";
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "70";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
rotation = "0 0 0 0";
|
||||
coverage = "0";
|
||||
locked = "true";
|
||||
scale = "1 1 1";
|
||||
XDimOverSize = "0";
|
||||
YDimOverSize = "0";
|
||||
GraphFile = "Slapdash.nav";
|
||||
position = "0 0 0 1";
|
||||
conjoinBowlDev = "20";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new StaticShape() {
|
||||
position = "-65.109 -275.23 353.455";
|
||||
rotation = "0 0 1 90";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
lastState = "1";
|
||||
locked = "1";
|
||||
needsPower = "0";
|
||||
Target = "33";
|
||||
Trigger = "7689";
|
||||
team = "1";
|
||||
};
|
||||
new Trigger() {
|
||||
position = "-99.1379 -101.585 353.517";
|
||||
rotation = "-0 0 -1 80";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "stationTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "-0.7500000 0.7500000 0.1000000 1.5000000 0.0000000 0.0000000 -0.0000000 -1.5000000 -0.0000000 -0.0000000 -0.0000000 2.3000000";
|
||||
|
||||
disableObj = "9536";
|
||||
station = "9536";
|
||||
mainObj = "9536";
|
||||
team = "1";
|
||||
};
|
||||
new SimGroup(SpawnSpheres) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-87.9076 -272.761 356.275";
|
||||
rotation = "0 0 1 177.409";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "1";
|
||||
homingCount = "0";
|
||||
radius = "10";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "25";
|
||||
outdoorWeight = "75";
|
||||
|
||||
locked = "1";
|
||||
team = "1";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(Team2) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new SimGroup(SpawnSpheres) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-82.5738 -103.833 356";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "1";
|
||||
homingCount = "0";
|
||||
radius = "10";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "25";
|
||||
outdoorWeight = "75";
|
||||
|
||||
locked = "1";
|
||||
team = "2";
|
||||
};
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "-99.1379 -101.585 353.517";
|
||||
rotation = "-0 0 -1 80";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
lastState = "1";
|
||||
locked = "1";
|
||||
needsPower = "0";
|
||||
Target = "34";
|
||||
Trigger = "7697";
|
||||
team = "2";
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(base0) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera(TreeCam) {
|
||||
position = "-12.1061 -349.087 139.698";
|
||||
rotation = "0 0 -1 16.6157";
|
||||
scale = "1 0.739761 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-82.7271 -275.388 353.516";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-11.0804 -195.984 379.725";
|
||||
rotation = "0 1 0 180";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Trigger(TheKill) {
|
||||
position = "-370.363 103.593 319.316";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "800 800 1";
|
||||
dataBlock = "deathTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-95.7265 -255.386 351.51";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-57.0685 -189.858 390.788";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-11.3536 -195.991 395.417";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new Trigger(TeleTrig1) {
|
||||
position = "-85.1243 -296.756 351.216";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "5 5 5";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
|
||||
emitter = "9571";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-49.2883 -195.936 394.917";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "dplat2.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-46.8049 -189.652 388.439";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-35.2001 -189.911 386.526";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-55.9008 -201.288 392.908";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new Trigger(TeleTrig2) {
|
||||
position = "-79.8255 -84.5653 351.278";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "5 5 5";
|
||||
dataBlock = "TransTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
|
||||
emitter = "9571";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-68.7622 -124.186 351.57";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-81.7157 -104.208 353.578";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-49.7912 -211.074 394.74";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-40.6231 -204.35 397.062";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-72.8801 -196.09 394.867";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "dplat2.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-96.0783 -237.389 352.01";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-93.108 -224.483 353.516";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-72.1189 -224.478 353.516";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-71.8976 -208.779 353.513";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-92.7553 -208.504 353.516";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-68.7611 -142.169 352.07";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-71.2928 -171.071 353.57";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-92.1529 -171.038 353.57";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-92.1139 -155.337 353.57";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-71.1253 -155.089 353.57";
|
||||
rotation = "0 0 1 180";
|
||||
scale = "0.5 0.5 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "8671 8679";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-92.2687 -189.786 351.59";
|
||||
rotation = "0 0 1 90";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "dplat2.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-72.1577 -189.852 351.59";
|
||||
rotation = "0 0 1 90";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "dplat2.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "18.4293 -177.674 381.074";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "20.5788 -188.356 382.723";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "13.9347 -166.37 379.73";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "3.03849 -162.353 378.121";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "19.0108 -198.155 384.714";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-57.0474 -184.876 357.862";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-37.9593 -177.5 361.853";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-47.982 -184.165 360.253";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
dObj = "19089";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-29.285 -175.125 364.443";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-21.1438 -172.301 367.034";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-18.8062 -166.21 369.624";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-11.6678 -159.548 372.215";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-4.55934 -152.938 374.606";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "1.7298 -151.879 376.796";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "bplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
562
missions/Skyline.mis
Normal file
562
missions/Skyline.mis
Normal file
|
|
@ -0,0 +1,562 @@
|
|||
// DisplayName = Skyline
|
||||
// MissionTypes = Domination Sabotage Infection
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// **Remnants of a dangerous FoV platform, be very cautious, while it's inhabitants are nowhere in sight, danger lurks every corner
|
||||
// By: Phantom139, TWM2 MAP Pack 2
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//Platform Defenses Activate at Random
|
||||
//Sniper Locations on Tower Tops
|
||||
//Objectives in the Towers
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
musicTrack = "lush";
|
||||
cdTrack = "2";
|
||||
powerCount = "0";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-825 -900 1200 1500";
|
||||
flightCeiling = "5000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
team = "1";
|
||||
locked = "true";
|
||||
};
|
||||
new Sun() {
|
||||
position = "-361.911 369.705 299.466";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "0.250000 0.350000 0.350000 1.000000";
|
||||
ambient = "0.240000 0.350000 0.350000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "560";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.260000 0.410000 0.440000 1.000000";
|
||||
fogDistance = "420";
|
||||
fogColor = "0.260000 0.410000 0.440000 1.000000";
|
||||
fogVolume1 = "0 0 0";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Starfallen.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -36610319922801672200.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 9500070315656657560000000.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 -2.58511e+36 2.28656e-38";
|
||||
high_fogVolume2 = "-1 -1991.03 nan";
|
||||
high_fogVolume3 = "-1 7945.87 7.22445e-09";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.0000003 0.0000003";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "70";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
coverage = "0";
|
||||
scale = "1 1 1";
|
||||
XDimOverSize = "0";
|
||||
position = "-1024 -1024 0 1";
|
||||
squareSize = "75";
|
||||
team = "1";
|
||||
YDimOverSize = "0";
|
||||
conjoinBowlDev = "20";
|
||||
GraphFile = "slapmydash.nav";
|
||||
rotation = "0 0 0 0";
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/lushdet2";
|
||||
terrainFile = "Slapdash.ter";
|
||||
squareSize = "75";
|
||||
emptySquares = "94579 99875";
|
||||
|
||||
position = "-1024 -1024 0";
|
||||
team = "1";
|
||||
visibleDistance = "1200";
|
||||
locked = "true";
|
||||
hazeDistance = "250";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(SpawnSpheres) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(base0) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-65.6987 -340.054 772";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new FileObject() {
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new FileObject() {
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-59.9537 -322.564 771.462";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-60.1366 -353.257 771.462";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-59.8945 -302.775 771.462";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-60.1134 -372.82 771.462";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-49.7241 -340.044 772";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-92.6685 -340.146 773.525";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-21.7029 -338.921 773.525";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-59.9759 -394.996 771.075";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-60.2531 -280.651 771.075";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-59.767 -257.268 761.825";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xtowr3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-58.4803 -418.668 738.425";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xtowr3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-40.5045 -395.309 737.4";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat1.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-40.0542 -365.837 740.909";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-82.0098 -365.818 740.909";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "splat7.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-35.9225 -253.761 761.852";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-35.9388 -265 761.351";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-36.3443 -274.548 760.651";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-36.4408 -283.987 759.95";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-36.9573 -294.755 757";
|
||||
rotation = "-0.1902 -0.188633 0.963453 92.6616";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgo.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-37.1714 -316.783 747.95";
|
||||
rotation = "-0.1902 -0.188633 0.963453 92.6616";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgo.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-38.4904 -335.825 741.813";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-46.028 -341.812 741.112";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-43.1036 -348.794 740.646";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pplat5.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-119.379 -365.035 747.461";
|
||||
rotation = "0 -1 0 26.929";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgn.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-139.783 -365.083 757.826";
|
||||
rotation = "0 -1 0 26.929";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgn.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-161.869 -365.195 760.383";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgn.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-153.877 -351.081 760.383";
|
||||
rotation = "0 0 -1 90";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgn.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-142.611 -344.101 763.332";
|
||||
rotation = "0 1 0 28.0749";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgn.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-121.606 -343.461 771.564";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "pbrdgn.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "21.2667 -401.276 780.275";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "28.0746 -295.011 780.925";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-142.239 -275.614 780.775";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "-150.202 -402.303 783.025";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "xplat3.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
team = "1";
|
||||
};
|
||||
new Turret(Turret1) {
|
||||
position = "25.4918 -294.055 782.921";
|
||||
rotation = "0 0 -1 89.9544";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "HunterDefenseCannon";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "33";
|
||||
powerCount = 1;
|
||||
team = "30";
|
||||
Invincible = 1;
|
||||
barrel = "HunterPBL";
|
||||
};
|
||||
new Turret(Turret2) {
|
||||
position = "18.5996 -400.721 782.071";
|
||||
rotation = "0 0 -1 90.5273";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "HunterDefenseCannon";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "34";
|
||||
powerCount = 1;
|
||||
team = "30";
|
||||
Invincible = 1;
|
||||
barrel = "HunterPBL";
|
||||
};
|
||||
new Turret(Turret3) {
|
||||
position = "-146.03 -402.666 785.021";
|
||||
rotation = "0 0 1 89.3814";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "HunterDefenseCannon";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "40";
|
||||
powerCount = 1;
|
||||
team = "30";
|
||||
Invincible = 1;
|
||||
barrel = "HunterPBL";
|
||||
};
|
||||
new Turret(Turret4) {
|
||||
position = "-137.111 -276.238 782.571";
|
||||
rotation = "0 0 1 91.6732";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "HunterDefenseCannon";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "41";
|
||||
powerCount = 1;
|
||||
team = "30";
|
||||
Invincible = 1;
|
||||
barrel = "HunterPBL";
|
||||
};
|
||||
new Trigger(KillTrigger) {
|
||||
position = "322 -135 600";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "2000 2000 20";
|
||||
dataBlock = deathTrigger;
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
|
||||
function Skyline__DefensesRandomize() {
|
||||
if($CurrentMission !$= "Skyline") {
|
||||
cancel($SkylineNextRandom);
|
||||
return;
|
||||
}
|
||||
if($SkylineNextRandom !$= "" && $SkylineNextRandom != 0) {
|
||||
cancel($SkylineNextRandom); //kill current one...
|
||||
}
|
||||
//
|
||||
%state = !Turret1.selfPower;
|
||||
if(%state == 1) {
|
||||
MessageAll('msgMission', "\c5ALERT: Station Defenses Now Online!!!~wfx/misc/red_alert.wav");
|
||||
}
|
||||
else {
|
||||
MessageAll('msgMission', "\c5Station Defenses Now Offline.");
|
||||
}
|
||||
//epic h4x
|
||||
Turret1.mountImage("HunterPBL", 0);
|
||||
Turret2.mountImage("HunterPBL", 0);
|
||||
Turret3.mountImage("HunterPBL", 0);
|
||||
Turret4.mountImage("HunterPBL", 0);
|
||||
//
|
||||
|
||||
Turret1.selfPower = %state;
|
||||
Turret2.selfPower = %state;
|
||||
Turret3.selfPower = %state;
|
||||
Turret4.selfPower = %state;
|
||||
|
||||
Turret1.PowerCheck(%state);
|
||||
Turret2.PowerCheck(%state);
|
||||
Turret3.PowerCheck(%state);
|
||||
Turret4.PowerCheck(%state);
|
||||
//
|
||||
$SkylineNextRandom = schedule(getRandom(60000, 180000), 0, Skyline__DefensesRandomize);
|
||||
}
|
||||
$SkylineNextRandom = Skyline__DefensesRandomize();
|
||||
354
missions/Strikers2.mis
Normal file
354
missions/Strikers2.mis
Normal file
|
|
@ -0,0 +1,354 @@
|
|||
//--- OBJECT WRITE BEGIN ---
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
// DisplayName = Strikers
|
||||
// MissionTypes = Sabotage Infection
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
//"There is no victory when there was no retaleation."
|
||||
//-by: Dondelium
|
||||
//
|
||||
//-map by: Dondelium
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//Made for Combat Construction
|
||||
//1) Just Fight!
|
||||
//-Download ccm mod and custom map pack at <a:www.angelfire.com/games4/deranged>www.angelfire.com/games4/deranged
|
||||
//--- Mission String End ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
powerCount = "0";
|
||||
cdTrack = "6";
|
||||
musicTrack = "desert";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-1024 -1024 2048 2048";
|
||||
flightCeiling = "4000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "1";
|
||||
providesPower = "1";
|
||||
|
||||
new SimGroup(spawnspheres) {
|
||||
|
||||
powerCount = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-9.76935 149.965 100.102";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "15";
|
||||
sphereWeight = "50";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "100";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "15.4846 118.008 100.117";
|
||||
rotation = "0 0 1 220.198";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "33";
|
||||
locked = "true";
|
||||
Trigger = "4333";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "26.3344 129.271 100.125";
|
||||
rotation = "0 0 1 44.1178";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "34";
|
||||
locked = "true";
|
||||
Trigger = "4335";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "20.4146 135 100.098";
|
||||
rotation = "0 0 1 41.253";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "35";
|
||||
locked = "true";
|
||||
Trigger = "4337";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "9.81867 123.962 100.077";
|
||||
rotation = "0 0 1 223.636";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "36";
|
||||
locked = "true";
|
||||
Trigger = "4339";
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "1";
|
||||
providesPower = "1";
|
||||
};
|
||||
new SimGroup(team2) {
|
||||
|
||||
powerCount = "1";
|
||||
providesPower = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "152.448 -0.84833 100.058";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
radius = "15";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "100";
|
||||
outdoorWeight = "100";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "119.074 20.9951 100.102";
|
||||
rotation = "0 0 1 223.063";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "37";
|
||||
locked = "true";
|
||||
Trigger = "4344";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "125.119 15.385 100.079";
|
||||
rotation = "0 0 1 225.355";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "38";
|
||||
locked = "true";
|
||||
Trigger = "4346";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "135.75 26.6431 100.122";
|
||||
rotation = "0 0 1 45.2637";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "39";
|
||||
locked = "true";
|
||||
Trigger = "4348";
|
||||
};
|
||||
new StaticShape() {
|
||||
position = "129.584 32.3413 100.091";
|
||||
rotation = "0 0 1 43.5448";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
Target = "40";
|
||||
locked = "true";
|
||||
Trigger = "4350";
|
||||
};
|
||||
};
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.57735 0.57735 -0.57735";
|
||||
color = "1.000000 1.000000 1.000000 1.000000";
|
||||
ambient = "0.500000 0.500000 0.500000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Flatland.ter";
|
||||
squareSize = "8";
|
||||
emptySquares = "98444 164229 229772 164484 295564 99203 426891 492682 99714 558474 99969 624265 427911 165776 428166 100497 231817 100753 166538 166787 101264 363648 167054 429440 167310 560769 102030 626561 167821 823426 692611 430725";
|
||||
|
||||
locked = "true";
|
||||
position = "-1024 -1024 0";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "50";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
|
||||
GraphFile = "Flatland.nav";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
scale = "1 1 1";
|
||||
coverage = "0";
|
||||
position = "0 0 0 1";
|
||||
rotation = "0 0 0 0";
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera() {
|
||||
position = "0 0 200";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
new Sky(Sky) {
|
||||
position = "0 0 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0002";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "0";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.250000 0.750000 1.000000 1.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.600000 0.600000 0.600000 1.000000";
|
||||
fogVolume1 = "200 99 101";
|
||||
fogVolume2 = "0 0 0";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "sky_desert_blue.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
};
|
||||
new InteriorInstance() {
|
||||
position = "83.3816 86.4043 16.1";
|
||||
rotation = "0 0 1 223.636";
|
||||
scale = "1 1 1";
|
||||
interiorFile = "dbase2.dif";
|
||||
showTerrainInside = "0";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "35.1941 122.022 104.484";
|
||||
rotation = "0.377423 -0.847435 -0.37337 98.831";
|
||||
scale = "2.27288 3.06824 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "109.783 27.8607 104.598";
|
||||
rotation = "0.377423 -0.847435 -0.37337 98.831";
|
||||
scale = "2.27288 3.06824 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "5.87104 158.993 106.88";
|
||||
rotation = "0.777046 -0.445261 0.444907 104.258";
|
||||
scale = "11.8008 5.5788 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-19.741 134.37 106.734";
|
||||
rotation = "0.974913 -0.157456 0.157331 91.41";
|
||||
scale = "13.6149 5.67061 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "-26.0007 161.626 106.834";
|
||||
rotation = "-0.264977 0.682102 -0.68156 209.704";
|
||||
scale = "13.3927 5.60577 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "168.934 -13.9842 108.218";
|
||||
rotation = "0.901932 0.305235 -0.305533 95.9472";
|
||||
scale = "13.3927 5.60577 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "165.105 13.718 108.118";
|
||||
rotation = "-0.144922 -0.69936 0.699924 196.485";
|
||||
scale = "13.6149 5.67061 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new TSStatic() {
|
||||
position = "137.419 -8.54752 108.264";
|
||||
rotation = "-0.408561 -0.645128 0.645669 224.419";
|
||||
scale = "11.8008 5.5788 1";
|
||||
shapeName = "dmiscf.dts";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new SimGroup() {
|
||||
|
||||
powerCount = "0";
|
||||
};
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
369
missions/WarTowerClassic.mis
Normal file
369
missions/WarTowerClassic.mis
Normal file
|
|
@ -0,0 +1,369 @@
|
|||
$Killstreak::GunshipSpawnLocation["WarTowerClassic"] = "0 -1000 -4000";
|
||||
$WarTower::SpawnZone["WarTowerClassic"] = "197.699 -2.4623 -4890";
|
||||
|
||||
// DisplayName = Tower 2009 Limited Edition
|
||||
// MissionTypes = Wartower
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// Return of the Classic TWM Game, War Tower comes
|
||||
// with a brand new tower to battle on
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//FFA Concepts apply, kill anyone in your way
|
||||
//Invincibility in the spawn room, as well
|
||||
//as inventories
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
musicTrack = "lush";
|
||||
cdTrack = "2";
|
||||
powerCount = "0";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-825 -900 1200 1500";
|
||||
flightCeiling = "5000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.622506 0.622506 -0.474313";
|
||||
color = "0.800000 0.800000 0.800000 1.000000";
|
||||
ambient = "0.400000 0.400000 0.400000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "70";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
coverage = "0";
|
||||
scale = "1 1 1";
|
||||
GraphFile = "slapmydash.nav";
|
||||
squareSize = "75";
|
||||
XDimOverSize = "0";
|
||||
position = "-1024 -1024 0 1";
|
||||
YDimOverSize = "0";
|
||||
rotation = "0 0 0 0";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Slapdash.ter";
|
||||
squareSize = "75";
|
||||
|
||||
locked = "true";
|
||||
hazeDistance = "250";
|
||||
position = "-1024 -1024 0";
|
||||
visibleDistance = "1200";
|
||||
};
|
||||
|
||||
new Sky(Sky) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0012";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.390000 0.390000 0.390000 0.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.500000 0.500000 0.500000 1.000000";
|
||||
fogVolume1 = "0 0 0";
|
||||
fogVolume2 = "100 100 120";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Lush_l4.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
};
|
||||
|
||||
new SimGroup(Teams) {
|
||||
new SimGroup(Team1) {
|
||||
|
||||
};
|
||||
new SimGroup(team0) {
|
||||
|
||||
};
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
new Camera() {
|
||||
position = "0 0 -4500";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "Observer";
|
||||
team = "0";
|
||||
locked = "true";
|
||||
};
|
||||
};
|
||||
new Trigger(TriggerOfDie) {
|
||||
position = "-1000 -1000 -5010";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "5000 5000 5";
|
||||
dataBlock = "deathTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
new Trigger(TriggerOfNoInvinc) {
|
||||
position = "208.315 -0.52968 -4898";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "20 20 20";
|
||||
dataBlock = "invincDisableTrigger";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 -0.0000000 -1.0000000 -0.0000000 -0.0000000 -0.0000000 1.0000000";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
//"197.699 -2.4623 -4899.5" <- Spawn Zone
|
||||
|
||||
//building
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "210.561 -0.77939 -4899.75";rotation = "-0.997501 0.0499524 0.04996 90.1428";scale = "1.12488 0.166666 16.0001";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "207.253 -8.49225 -4895.75";rotation = "0.59567 0.538849 0.595667 123.364";scale = "0.125 0.166666 16.0376";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (ForceFieldBare) () {datablock = "DeployedForceField15";position = "208.315 -0.52968 -4899.51";rotation = "-0.538848 0.595666 0.595672 123.364";scale = "8.0388 3.52977 0.48";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";noSlow = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.pzone.delete();%building.pzone = "";
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "208.526 -0.826263 -4896";rotation = "0.0500204 0.998748 1.266e-06 180";scale = "0.125 0.166666 7";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "208.1 -0.2669 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "207.776 -8.28877 -4896";rotation = "0.0500204 0.998748 1.266e-06 180";scale = "0.125 0.166666 7";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "207.228 -8.741 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "210.501 -1.27588 -4897.75";rotation = "0.0353928 0.706662 0.706665 184.054";scale = "0.879902 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "209.751 -8.73839 -4897.75";rotation = "0.0353928 0.706662 0.706665 184.054";scale = "0.879902 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "212.277 -1.20296 -4895.75";rotation = "0.0499583 0.997501 0.0499584 90.1434";scale = "0.125 0.166666 8.04024";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "211.527 -8.66547 -4895.75";rotation = "0.0499583 0.997501 0.0499584 90.1434";scale = "0.125 0.166666 8.04024";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "206.825 -10.457 -4897.75";rotation = "-0.615849 -0.557104 -0.557103 116.745";scale = "0.748842 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "212.526 -1.22794 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "211.776 -8.69045 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "206.924 -11.9722 -4895.75";rotation = "0.59567 0.538849 0.595667 123.364";scale = "0.125 0.166666 5.99074";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "206.899 -12.2209 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "208.321 -0.55447 -4891.75";rotation = "-0.706661 0.035391 0.706667 184.054";scale = "1.875 7.66673 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "199.571 12.3846 -4899.75";rotation = "-0.0353909 -0.706658 0.70667 184.054";scale = "5.00002 0.166666 48.0006";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "208.425 5.47239 -4897.75";rotation = "-0.615849 -0.557104 -0.557103 116.745";scale = "2.74653 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "209.222 10.913 -4895.75";rotation = "-0.557106 0.61585 -0.557102 116.747";scale = "0.125 0.166666 21.9722";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "206.899 -12.2209 -4895.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 16";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "197.173 -11.4955 -4897.75";rotation = "0.0353928 0.706662 0.706665 184.054";scale = "4.74977 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "209.222 10.913 -4887.75";rotation = "-0.557106 0.61585 -0.557102 116.747";scale = "0.125 0.166666 46.0004";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "206.65 -12.1959 -4895.75";rotation = "0.0499583 0.997501 0.0499584 90.1434";scale = "0.125 0.166666 37.9982";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "StationInventory";position = "204.842 8.90453 -4899.5";rotation = "0 0 1 6.29941";scale = "1 1 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.deploy();adjustTrigger(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "197.223 -10.9981 -4891.75";rotation = "-0.595668 -0.538849 0.59567 123.364";scale = "1.875 6.33303 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "198.372 0.4446 -4887.5";rotation = "0.741592 0.670851 -1.96627e-06 180";scale = "5.75005 6.33303 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "StationInventory";position = "198.925 9.29874 -4899.5";rotation = "0 0 1 5.72819";scale = "1 1 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.deploy();adjustTrigger(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "209.247 11.1617 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "187.746 -10.2976 -4887.75";rotation = "0.706665 -0.0353928 0.706662 184.054";scale = "0.125 0.166666 37.9982";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "209.247 11.1617 -4895.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 16";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "199.571 12.3846 -4897.75";rotation = "-0.997501 0.0499597 0.049965 90.143";scale = "4.74977 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "208.998 11.1867 -4895.75";rotation = "0.0499583 0.997501 0.0499584 90.1434";scale = "0.125 0.166666 37.9982";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "188.92 1.3937 -4897.75";rotation = "-0.538848 0.595666 0.595672 123.364";scale = "5.75005 1.16667 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "189.82 12.8613 -4895.75";rotation = "-0.557106 0.61585 -0.557102 116.747";scale = "0.125 0.166666 46.0004";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "StationInventory";position = "193.426 9.85031 -4899.5";rotation = "0 0 1 5.72819";scale = "1 1 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);checkPowerObject(%building);%building.deploy();adjustTrigger(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "199.521 11.8871 -4891.75";rotation = "0.557103 -0.615846 -0.557108 116.746";scale = "1.875 6.33299 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "187.497 -10.2726 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "188.423 1.44363 -4891.75";rotation = "-0.0499593 -0.997501 0.0499575 90.1429";scale = "1.875 7.66673 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "208.998 11.1867 -4887.75";rotation = "0.0499583 0.997501 0.0499584 90.1434";scale = "0.125 0.166666 37.9982";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "187.497 -10.2726 -4895.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 16";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "187.522 -10.0239 -4887.75";rotation = "0.59567 0.538849 0.595667 123.364";scale = "0.125 0.166666 46.0004";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "189.845 13.11 -4899.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 8";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "229.879 -6.77214 -4889.93";rotation = "0.0491699 0.981792 0.183486 30.5307";scale = "10.0004 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "189.845 13.11 -4895.5";rotation = "0 0 1 95.7344";scale = "0.125 0.166666 16";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.355 -8.72729 -4880";rotation = "-4.95942e-07 2.07948e-07 1 185.733";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.055 -11.7123 -4877";rotation = "0.997502 -0.0499514 0.0499502 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.339 -9.02694 -4877";rotation = "0.0499514 0.997502 0.0499489 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "251.359 11.2429 -4869.93";rotation = "-0.0129595 -0.258799 0.965844 185.537";scale = "1.25 13.3333 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "233.347 32.7219 -4849.93";rotation = "0.258797 -0.0129571 0.965845 185.538";scale = "10.0009 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "253.319 30.7169 -4860";rotation = "-3.98451e-05 1.36077e-06 1 5.73297";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "213.87 34.6773 -4840";rotation = "-1.28655e-07 3.70846e-06 1 185.733";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "211.862 14.7072 -4829.93";rotation = "0.981793 -0.0491647 0.183479 30.5306";scale = "1.25 13.3335 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "253.618 33.702 -4857";rotation = "0.0353804 0.706665 -0.706663 175.947";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "256.304 30.4171 -4857";rotation = "0.706665 -0.0353804 -0.706663 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.885 34.977 -4837";rotation = "-0.0499514 -0.997501 0.0499566 90.1434";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "214.169 37.6624 -4837";rotation = "-0.997502 0.0499514 0.0499486 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.905 -4.76687 -4820";rotation = "3.9681e-05 -3.14574e-06 1 5.73297";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "206.92 -4.46713 -4817";rotation = "0.706665 -0.0353804 0.706663 184.054";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.606 -7.75191 -4817";rotation = "0.0353804 0.706665 0.706663 184.054";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "229.877 -6.77179 -4809.93";rotation = "-0.258797 0.0129571 0.965845 185.538";scale = "10.0012 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.354 -8.72725 -4800";rotation = "1.28655e-07 -3.70846e-06 1 185.733";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.055 -11.7123 -4797";rotation = "0.997502 -0.0499514 0.0499486 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.339 -9.02693 -4797";rotation = "0.0499514 0.997501 0.0499566 90.1434";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "251.359 11.2429 -4789.93";rotation = "-0.0129586 -0.258799 0.965844 185.537";scale = "1.25 13.3333 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "253.319 30.7169 -4780";rotation = "-3.9681e-05 3.14574e-06 1 5.73297";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "253.618 33.702 -4777";rotation = "0.0353804 0.706665 -0.706663 175.947";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "256.304 30.4171 -4777";rotation = "0.706665 -0.0353804 -0.706663 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "233.347 32.7219 -4769.93";rotation = "0.258797 -0.0129571 0.965845 185.538";scale = "10.0012 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "213.871 34.6774 -4760";rotation = "4.95394e-05 1.10778e-05 1 5.73352";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.887 34.9771 -4757";rotation = "0.706665 -0.0353843 0.706663 184.054";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "214.171 37.6624 -4757";rotation = "0.0353843 0.706665 -0.706663 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "211.864 14.7076 -4749.93";rotation = "0.981789 -0.0491584 0.183504 30.5307";scale = "1.25 13.3334 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.906 -4.76641 -4740";rotation = "-3.65621e-06 -4.12642e-07 1 185.734";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "206.922 -4.46674 -4737";rotation = "-0.049956 -0.997501 0.0499535 90.1434";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.606 -7.75135 -4737";rotation = "0.997501 -0.049956 0.0499619 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "229.875 -6.77159 -4729.93";rotation = "-0.258798 0.0129604 0.965845 185.538";scale = "10.0003 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.354 -8.72683 -4720";rotation = "1.26069e-05 -3.5375e-06 1 5.73352";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.054 -11.7118 -4717";rotation = "0.0353843 0.706665 0.706663 184.054";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.339 -9.02648 -4717";rotation = "0.706665 -0.0353843 -0.706663 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "251.362 11.2429 -4709.93";rotation = "-0.0129586 -0.258797 0.965845 185.539";scale = "1.25 13.3334 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "253.318 30.7169 -4700";rotation = "1.2696e-05 -4.73697e-05 1 5.73407";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "253.618 33.7019 -4697";rotation = "0.0353869 0.706665 -0.706662 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "256.302 30.4172 -4697";rotation = "0.706665 -0.0353869 -0.706663 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "233.349 32.7225 -4689.93";rotation = "-0.0491615 -0.981785 0.183524 30.5308";scale = "10.0003 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "213.874 34.6783 -4680";rotation = "-4.30226e-07 3.71888e-06 1 185.735";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.889 34.978 -4677";rotation = "-0.0499599 -0.9975 0.0499679 90.1434";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "214.174 37.6633 -4677";rotation = "-0.997501 0.0499599 0.0499593 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "211.866 14.7085 -4669.93";rotation = "0.981785 -0.0491684 0.183524 30.5307";scale = "1.25 13.3334 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.909 -4.76541 -4660";rotation = "-2.75268e-05 3.93341e-05 1 5.73475";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "206.924 -4.46571 -4657";rotation = "0.706665 -0.0353919 0.706662 184.054";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.609 -7.75036 -4657";rotation = "0.0353919 0.706665 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "229.881 -6.77099 -4649.93";rotation = "-0.258797 0.0129614 0.965845 185.54";scale = "10.0007 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.356 -8.72703 -4640";rotation = "-4.60261e-05 -9.29761e-06 1 5.73529";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.056 -11.712 -4637";rotation = "0.0353956 0.706665 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.34 -9.0268 -4637";rotation = "0.706665 -0.0353956 -0.706662 175.944";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "250.93 6.93452 -4632.43";rotation = "-0.981778 0.0491743 0.183559 30.531";scale = "1.25 9.99997 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.455 22.0998 -4625";rotation = "2.843e-06 4.37506e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.755 25.0848 -4622";rotation = "-0.9975 0.0499704 0.0499754 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "255.439 21.8 -4622";rotation = "0.0499704 0.9975 0.0499687 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "236.793 23.673 -4617.43";rotation = "-0.0491828 -0.981779 0.183553 30.5311";scale = "7.50072 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "221.625 25.1964 -4610";rotation = "2.92715e-05 -3.19396e-05 1 5.73598";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "218.641 25.4962 -4607";rotation = "0.706665 -0.0354006 0.706662 184.056";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "221.925 28.1814 -4607";rotation = "0.0354006 0.706665 -0.706662 175.944";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "220.049 9.53503 -4602.43";rotation = "0.981778 -0.0491818 0.183559 30.5309";scale = "1.25 10 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "218.526 -5.63047 -4595";rotation = "-1.04084e-06 -4.5076e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "215.542 -5.33071 -4592";rotation = "-0.0499704 -0.9975 0.0499688 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "218.226 -8.61541 -4592";rotation = "0.9975 -0.0499704 0.0499719 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "234.188 -7.20354 -4587.43";rotation = "0.0491828 0.981779 0.183553 30.5311";scale = "7.50072 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.356 -8.72691 -4580";rotation = "-2.92715e-05 3.19396e-05 1 5.73598";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "249.056 -11.7119 -4577";rotation = "0.0354006 0.706665 0.706662 184.056";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.34 -9.02671 -4577";rotation = "0.706665 -0.0354006 -0.706662 175.944";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "250.93 6.93462 -4572.43";rotation = "-0.981778 0.049181 0.183559 30.531";scale = "1.25 10 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "242.005 18.1244 -4565";rotation = "0 0 1 5.7357";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "247.48 22.5996 -4565";rotation = "1.04084e-06 4.5076e-07 1 185.736";scale = "3.74977 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "239.521 23.3992 -4562";rotation = "-0.0499704 -0.9975 0.0499708 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "242.805 26.0843 -4562";rotation = "-0.9975 0.0499704 0.0499719 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "252.754 25.085 -4562";rotation = "-0.9975 0.0499704 0.0499719 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "255.439 21.8 -4562";rotation = "0.0499704 0.9975 0.0499688 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "240.432 2.46278 -4557.43";rotation = "0.981778 -0.049181 0.183559 30.5309";scale = "1.25 10 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "238.906 -12.7026 -4550";rotation = "-1.04084e-06 -4.5076e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "238.606 -15.6876 -4547";rotation = "0.9975 -0.0499704 0.0499719 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "241.891 -13.0024 -4547";rotation = "0.0499704 0.9975 0.0499708 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "223.245 -11.1295 -4542.43";rotation = "0.258798 -0.0129652 0.965844 185.54";scale = "7.50028 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "208.076 -9.60646 -4535";rotation = "-2.01028e-05 -2.75371e-05 1 5.73543";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "205.092 -9.30672 -4532";rotation = "0.706665 -0.0353969 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.776 -12.5914 -4532";rotation = "0.0353969 0.706665 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.649 6.05507 -4527.43";rotation = "-0.981778 0.0491759 0.183558 30.5312";scale = "1.25 10 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "211.176 21.2203 -4520";rotation = "0 0 1 185.736";scale = "6.24955 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "198.243 22.5194 -4517";rotation = "-0.0499704 -0.9975 0.0499698 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "201.528 25.2039 -4517";rotation = "-0.557097 0.615861 -0.557097 116.746";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "224.109 19.9212 -4517";rotation = "0.0499704 0.9975 0.0499698 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "221.423 23.2056 -4517";rotation = "0.595674 0.53884 -0.595671 236.635";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "199.867 8.71243 -4513.68";rotation = "0.981779 -0.0491828 0.183552 30.531";scale = "1.25 8.33327 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "219.768 6.71358 -4513.68";rotation = "0.981781 -0.0491843 0.183541 30.531";scale = "1.25 8.3333 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "208.517 -5.21217 -4506.18";rotation = "0.981781 -0.0491835 0.183541 30.531";scale = "6.25005 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "195.734 -2.42218 -4503.58";rotation = "0.708183 0.152239 0.68942 205.06";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "208.085 -9.52061 -4503.68";rotation = "0.981781 -0.0491825 0.18354 30.5312";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "221.599 -5.01953 -4503.58";rotation = "-0.68056 0.219391 0.699075 162.907";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.643 -13.915 -4502.5";rotation = "5.65836e-07 2.68445e-06 1 185.735";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "198.459 -5.30717 -4502.08";rotation = "-0.625562 0.69154 0.36117 223.53";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "218.354 -7.30553 -4502.08";rotation = "0.681737 0.616696 0.3936 140.804";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.628 -14.2147 -4499.5";rotation = "0.0499656 0.997501 0.0499594 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.343 -16.9 -4499.5";rotation = "0.9975 -0.0499656 0.0499639 90.1434";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "191.982 -12.342 -4494.93";rotation = "-0.0491783 -0.981782 0.183538 30.5309";scale = "7.50028 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "176.813 -10.819 -4487.5";rotation = "2.19887e-05 9.69757e-07 1 5.73529";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "176.513 -13.804 -4484.5";rotation = "0.0353956 0.706665 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "173.829 -10.5192 -4484.5";rotation = "0.706665 -0.0353956 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "178.389 4.84238 -4479.93";rotation = "-0.0129627 -0.258797 0.965845 185.54";scale = "1.25 9.99997 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "179.912 20.0078 -4472.5";rotation = "2.843e-06 4.37506e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "180.212 22.9928 -4469.5";rotation = "-0.9975 0.0499704 0.0499754 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "176.928 20.3076 -4469.5";rotation = "-0.0499704 -0.9975 0.049971 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "195.574 18.4349 -4464.93";rotation = "0.0491828 0.981779 0.18355 30.531";scale = "7.50072 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.742 16.9117 -4457.5";rotation = "1.83009e-05 2.75777e-05 1 5.73543";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "213.726 16.6119 -4454.5";rotation = "0.706665 -0.0353969 -0.706662 175.945";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "211.042 19.8967 -4454.5";rotation = "0.0353969 0.706665 -0.706662 175.946";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.167 1.25013 -4449.93";rotation = "0.0129632 0.258798 0.965845 185.54";scale = "1.25 9.99997 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.643 -13.9152 -4442.5";rotation = "-2.29305e-06 8.05055e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.627 -14.215 -4439.5";rotation = "0.0499704 0.9975 0.0499685 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.343 -16.9002 -4439.5";rotation = "0.9975 -0.0499704 0.0499745 90.1435";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "191.981 -12.342 -4434.93";rotation = "-0.0491828 -0.981779 0.183553 30.5311";scale = "7.50093 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "195.603 -77.659 -4432.57";rotation = "0 0 1 5.7357";scale = "3.74977 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "176.813 -10.8186 -4427.5";rotation = "2.92715e-05 -3.19396e-05 1 5.73598";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "200.078 -83.1335 -4432.57";rotation = "0 0 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "190.128 -82.1341 -4432.57";rotation = "2.17468e-07 1.63718e-06 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "194.603 -87.6085 -4432.57";rotation = "0 0 1 5.7357";scale = "3.74977 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "176.513 -13.8036 -4424.5";rotation = "0.0354005 0.706665 0.706662 184.055";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "173.829 -10.5188 -4424.5";rotation = "0.706665 -0.0354006 0.706662 184.056";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "198.246 -82.9497 -4427.14";rotation = "0.049674 0.991541 0.119913 45.3451";scale = "3.74833 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "178.387 4.84278 -4419.93";rotation = "-0.981774 0.0491817 0.183579 30.5312";scale = "1.25 10 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "201.685 -73.2002 -4421.32";rotation = "-0.93359 0.046697 0.355288 16.0518";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "201.18 -78.2195 -4421.98";rotation = "0 0 1 5.7357";scale = "3.75003 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "205.656 -83.6939 -4421.98";rotation = "0 0 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "190.73 -82.195 -4421.98";rotation = "0 0 1 185.736";scale = "3.75003 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "202.155 -68.5239 -4419.37";rotation = "-0.012954 -0.258783 0.965849 185.54";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "200.18 -88.1695 -4421.98";rotation = "0 0 1 5.7357";scale = "3.75003 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "202.559 -64.508 -4416.28";rotation = "-0.99154 0.049646 0.119932 45.3436";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "179.912 20.0082 -4412.5";rotation = "2.34971e-06 5.02829e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "202.869 -61.4276 -4412.24";rotation = "-0.02503 -0.499832 0.865761 184.967";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "180.212 22.9932 -4409.5";rotation = "-0.997499 0.049976 0.0499787 90.144";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "176.928 20.308 -4409.5";rotation = "-0.049976 -0.997499 0.0499753 90.1434";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "203.015 -59.9692 -4407.41";rotation = "0.039719 0.792735 0.608271 183.49";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "195.573 18.4349 -4404.93";rotation = "-0.258799 0.0129662 0.965844 185.54";scale = "7.5003 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "203.344 -56.6939 -4406.38";rotation = "0.0129769 0.25881 0.965841 185.54";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "203.65 -53.6417 -4404.79";rotation = "0.0397184 0.792731 0.608276 183.49";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "203.979 -50.3664 -4403.76";rotation = "0.0129722 0.258798 0.965844 185.54";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "204.333 -46.8431 -4402.29";rotation = "-0.996631 0.0499176 0.0650699 75.1869";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "204.556 -44.6289 -4401.25";rotation = "0.0108476 0.216425 0.976239 185.599";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "204.918 -41.0345 -4399.57";rotation = "-0.996631 0.0499242 0.065071 75.187";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "205.152 -38.6994 -4398.35";rotation = "0.00870214 0.173639 0.984771 185.649";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "210.742 16.9115 -4397.5";rotation = "2.07534e-05 3.40332e-05 1 5.73598";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "205.517 -35.0716 -4396.44";rotation = "-0.996631 0.0499221 0.0650663 75.1869";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "213.727 16.6117 -4394.5";rotation = "0.706665 -0.0354006 -0.706662 175.945";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "205.763 -32.6286 -4395.03";rotation = "0.00654109 0.130523 0.991424 185.686";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "211.042 19.8965 -4394.5";rotation = "0.0354005 0.706665 -0.706662 175.945";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "206.13 -28.977 -4392.9";rotation = "-0.996631 0.0499268 0.0650675 75.187";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "206.383 -26.4522 -4391.29";rotation = "0.00436656 0.0871534 0.996185 185.714";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "150.363 -78.1402 -4398.93";rotation = "0.300671 -0.0150644 0.953609 185.47";scale = "20.0137 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "209.167 1.25003 -4389.93";rotation = "0.981774 -0.0491813 0.183579 30.5312";scale = "1.25 10 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "206.751 -22.796 -4388.94";rotation = "-0.996631 0.049931 0.0650678 75.187";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.01 -20.2076 -4387.11";rotation = "0.00218405 0.043616 0.999046 185.731";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.376 -16.566 -4384.54";rotation = "-0.996631 0.0499325 0.0650663 75.187";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "207.643 -13.9153 -4382.5";rotation = "-2.34971e-06 -5.02829e-07 1 185.736";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "115.975 -71.1329 -4378.94";rotation = "-0.130523 0.00653833 0.991424 185.686";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "111.46 -65.6098 -4378.94";rotation = "-0.00653833 -0.130523 0.991424 185.686";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "110.956 -70.6288 -4379.6";rotation = "7.04371e-06 -1.35004e-05 1 5.73557";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "111.93 -60.9343 -4376.99";rotation = "-0.98178 0.049181 0.183547 30.531";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "105.937 -70.1247 -4378.94";rotation = "0.130523 -0.00653833 0.991424 185.686";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "110.494 -75.2261 -4377.69";rotation = "0.0191671 0.382612 0.92371 185.299";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "115.578 -74.6455 -4376.07";rotation = "0 0 1 185.736";scale = "1.25 5.0001 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "111.103 -69.1707 -4376.07";rotation = "0 0 1 5.7357";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "101.261 -69.6552 -4376.99";rotation = "-0.049181 -0.98178 0.183547 30.531";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "110.103 -79.1207 -4376.07";rotation = "0 0 1 5.7357";scale = "1.25 1.66666 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
%building = new (StaticShape) () {datablock = "Deployedwwall";position = "105.628 -73.646 -4376.07";rotation = "0 0 1 185.736";scale = "1.25 5.00007 1";team = "0";powerCount="1";invincible="1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};checkPowerObject(%building);
|
||||
211
missions/slapmydashH.mis
Normal file
211
missions/slapmydashH.mis
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
// DisplayName = Flatdash Horde
|
||||
// MissionTypes = Horde Helljump Construction
|
||||
|
||||
//--- Mission Quote Begin ---
|
||||
// Flat. Dash. ZOMBIES!
|
||||
// Serverside Horde Mission
|
||||
//--- Mission Quote End ---
|
||||
|
||||
//--- Mission String Begin ---
|
||||
//[Horde] Hold out from 50 Waves of Zombies
|
||||
//[Horde] The Waves get tougher as you kill them
|
||||
//[Horde] 1 Life Per Wave, Lives do not Stack
|
||||
//--- Mission String End ---
|
||||
|
||||
//--- OBJECT WRITE BEGIN ---
|
||||
new SimGroup(MissionGroup) {
|
||||
|
||||
musicTrack = "lush";
|
||||
cdTrack = "2";
|
||||
powerCount = "0";
|
||||
|
||||
new MissionArea(MissionArea) {
|
||||
area = "-825 -900 1200 1500";
|
||||
flightCeiling = "5000";
|
||||
flightCeilingRange = "20";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new Sun(Sun) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
direction = "0.622506 0.622506 -0.474313";
|
||||
color = "0.800000 0.800000 0.800000 1.000000";
|
||||
ambient = "0.400000 0.400000 0.400000 1.000000";
|
||||
texture[0] = "special/sunFlare";
|
||||
texture[1] = "special/sunFlare02";
|
||||
texture[2] = "special/LensFlare/flare01";
|
||||
texture[3] = "special/LensFlare/flare02";
|
||||
texture[4] = "special/LensFlare/flare03";
|
||||
lensFlareScale = "0.7";
|
||||
lensFlareIntensity = "1";
|
||||
frontFlareSize = "300";
|
||||
backFlareSize = "450";
|
||||
flareColor = "1.000000 1.000000 1.000000 1.000000";
|
||||
|
||||
locked = "true";
|
||||
};
|
||||
new NavigationGraph(NavGraph) {
|
||||
conjoinAngleDev = "70";
|
||||
cullDensity = "0.3";
|
||||
customArea = "0 0 0 0";
|
||||
conjoinBowlDev = "20";
|
||||
locked = "true";
|
||||
coverage = "0";
|
||||
scale = "1 1 1";
|
||||
GraphFile = "slapmydash.nav";
|
||||
squareSize = "75";
|
||||
XDimOverSize = "0";
|
||||
position = "-1024 -1024 0 1";
|
||||
YDimOverSize = "0";
|
||||
rotation = "0 0 0 0";
|
||||
};
|
||||
new TerrainBlock(Terrain) {
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
detailTexture = "details/desertdet1";
|
||||
terrainFile = "Slapdash.ter";
|
||||
squareSize = "75";
|
||||
emptySquares = "94579 99875";
|
||||
|
||||
locked = "true";
|
||||
hazeDistance = "250";
|
||||
position = "-1024 -1024 0";
|
||||
visibleDistance = "1200";
|
||||
};
|
||||
|
||||
new Sky(Sky) {
|
||||
position = "-1024 -1024 0";
|
||||
rotation = "1 0 0 0";
|
||||
scale = "1 1 1";
|
||||
cloudHeightPer[0] = "0.349971";
|
||||
cloudHeightPer[1] = "0.25";
|
||||
cloudHeightPer[2] = "0.199973";
|
||||
cloudSpeed1 = "0.0001";
|
||||
cloudSpeed2 = "0.0012";
|
||||
cloudSpeed3 = "0.0003";
|
||||
visibleDistance = "800";
|
||||
useSkyTextures = "1";
|
||||
renderBottomTexture = "0";
|
||||
SkySolidColor = "0.390000 0.390000 0.390000 0.000000";
|
||||
fogDistance = "750";
|
||||
fogColor = "0.500000 0.500000 0.500000 1.000000";
|
||||
fogVolume1 = "0 0 0";
|
||||
fogVolume2 = "100 100 120";
|
||||
fogVolume3 = "0 0 0";
|
||||
materialList = "Lush_l4.dml";
|
||||
windVelocity = "1 0 0";
|
||||
windEffectPrecipitation = "0";
|
||||
fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.040112";
|
||||
fogVolumeColor2 = "128.000000 128.000000 128.000000 0.742938";
|
||||
fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000";
|
||||
high_visibleDistance = "-1";
|
||||
high_fogDistance = "-1";
|
||||
high_fogVolume1 = "-1 2.33105e-09 6.40969e-10";
|
||||
high_fogVolume2 = "-1 1.07461e-38 0";
|
||||
high_fogVolume3 = "-1 7.9874e-44 5.9061e-32";
|
||||
|
||||
locked = "true";
|
||||
cloudSpeed0 = "0.000503 0.000020";
|
||||
};
|
||||
|
||||
|
||||
new SimGroup(Teams) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(Team1) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(SpawnSpheres) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new SpawnSphere() {
|
||||
position = "-60.1702 -231.369 129.675";
|
||||
rotation = "0 0 1 177.409";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "SpawnSphereMarker";
|
||||
lockCount = "1";
|
||||
homingCount = "0";
|
||||
radius = "30";
|
||||
sphereWeight = "100";
|
||||
indoorWeight = "25";
|
||||
outdoorWeight = "75";
|
||||
team = "1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
new SimGroup(team0) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new SimGroup(base0) {
|
||||
|
||||
providesPower = "1";
|
||||
powerCount = "1";
|
||||
|
||||
new TSStatic() {
|
||||
position = "-16.5982 -360.09 128.145";
|
||||
rotation = "-0 0 -1 16.0428";
|
||||
scale = "1 1 1";
|
||||
shapeName = "borg17.dts";
|
||||
|
||||
locked = "true";
|
||||
team = "0";
|
||||
};
|
||||
new StaticShape(VehicleStation) {
|
||||
position = "-62.3581 -259.598 126.2";
|
||||
rotation = "0 0 1 0.573347";
|
||||
scale = "1 1 1";
|
||||
dataBlock = "StationVehiclePad";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
lastState = "1";
|
||||
Ready = "1";
|
||||
Target = "33";
|
||||
team = "0";
|
||||
station = "9838";
|
||||
};
|
||||
new StaticShape(InventoryStation) {
|
||||
position = "-61.7752 -222.35 129.128";
|
||||
rotation = "-0.826342 0.00281586 -0.563161 0.69323";
|
||||
scale = "1 1 1";
|
||||
nameTag = "\x01792";
|
||||
dataBlock = "StationInventory";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
locked = "true";
|
||||
lastState = "1";
|
||||
Target = "34";
|
||||
Trigger = "9825";
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
new SimGroup(ObserverDropPoints) {
|
||||
|
||||
powerCount = "0";
|
||||
|
||||
new Camera(TreeCam) {
|
||||
position = "-11.8305 -349.906 139.298";
|
||||
rotation = "0 0 1 -16.6157";
|
||||
scale = "1 0.739761 1";
|
||||
dataBlock = "Observer";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
|
||||
team = "0";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
//--- OBJECT WRITE END ---
|
||||
194
scripts/ConstructionGame.cs
Normal file
194
scripts/ConstructionGame.cs
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
// DisplayName = Construction
|
||||
|
||||
//--- GAME RULES BEGIN ---
|
||||
// Build
|
||||
//--- GAME RULES END ---
|
||||
|
||||
// spam fix
|
||||
function ConstructionGame::AIInit(%game) {
|
||||
//call the default AIInit() function
|
||||
AIInit();
|
||||
}
|
||||
|
||||
function ConstructionGame::allowsProtectedStatics(%game) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function ConstructionGame::clientMissionDropReady(%game, %client) {
|
||||
messageClient(%client, 'MsgClientReady',"", "SinglePlayerGame");
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||
messageClient(%client, 'MsgSPCurrentObjective2' ,"", "Phantom139, DoL, Signal360");
|
||||
messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName );
|
||||
DefaultGame::clientMissionDropReady(%game, %client);
|
||||
}
|
||||
|
||||
function ConstructionGame::onAIRespawn(%game, %client)
|
||||
{
|
||||
//add the default task
|
||||
if (! %client.defaultTasksAdded)
|
||||
{
|
||||
%client.defaultTasksAdded = true;
|
||||
%client.addTask(AIPickupItemTask);
|
||||
%client.addTask(AIUseInventoryTask);
|
||||
%client.addTask(AITauntCorpseTask);
|
||||
%client.addTask(AIEngageTurretTask);
|
||||
%client.addTask(AIDetectMineTask);
|
||||
%client.addTask(AIBountyPatrolTask);
|
||||
%client.bountyTask = %client.addTask(AIBountyEngageTask);
|
||||
}
|
||||
|
||||
//set the inv flag
|
||||
%client.spawnUseInv = true;
|
||||
}
|
||||
|
||||
function ConstructionGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) {
|
||||
if (%game.testKill(%clVictim, %clKiller)) { //verify victim was an enemy
|
||||
%game.awardScoreKill(%clKiller);
|
||||
%game.awardScoreDeath(%clVictim);
|
||||
}
|
||||
else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide
|
||||
%game.awardScoreSuicide(%clVictim);
|
||||
}
|
||||
|
||||
function ConstructionGame::timeLimitReached(%game) {
|
||||
logEcho("game over (timelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function ConstructionGame::scoreLimitReached(%game) {
|
||||
logEcho("game over (scorelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function ConstructionGame::gameOver(%game) {
|
||||
//call the default
|
||||
DefaultGame::gameOver(%game);
|
||||
|
||||
//send the winner message
|
||||
%winner = "";
|
||||
if ($teamScore[1] > $teamScore[2])
|
||||
%winner = %game.getTeamName(1);
|
||||
else if ($teamScore[2] > $teamScore[1])
|
||||
%winner = %game.getTeamName(2);
|
||||
|
||||
if (%winner $= 'Storm')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" );
|
||||
else if (%winner $= 'Inferno')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" );
|
||||
else if (%winner $= 'Starwolf')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.swwin.wav" );
|
||||
else if (%winner $= 'Blood Eagle')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.bewin.wav" );
|
||||
else if (%winner $= 'Diamond Sword')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.dswin.wav" );
|
||||
else if (%winner $= 'Phoenix')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.pxwin.wav" );
|
||||
else
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" );
|
||||
|
||||
messageAll('MsgClearObjHud', "");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
%game.resetScore(%client);
|
||||
}
|
||||
for(%j = 1; %j <= %game.numTeams; %j++)
|
||||
$TeamScore[%j] = 0;
|
||||
}
|
||||
|
||||
function ConstructionGame::vehicleDestroyed(%game, %vehicle, %destroyer) {
|
||||
}
|
||||
|
||||
|
||||
function ConstructionGame::ToggleModifiers(%game, %modifier, %toggleTo) {
|
||||
switch$(%modifier) {
|
||||
case "Titan":
|
||||
%ModifierDesc = "Death is quite costly... it ends the bonus strike";
|
||||
$HellJump::Modifier["Titan"] = %toggleTo;
|
||||
case "Super-Lunge":
|
||||
%ModifierDesc = "Normal Zombies lunge at 3X normal distance";
|
||||
$HellJump::Modifier["SuperLunge"] = %toggleTo;
|
||||
case "Kamakaziiiii":
|
||||
%ModifierDesc = "Volatile Ravenger's move at 5X Speed... be cautious...";
|
||||
$HellJump::Modifier["Kamakazi"] = %toggleTo;
|
||||
case "Where's My Head":
|
||||
%ModifierDesc = "Zombies cannot be killed by a headshot";
|
||||
$HellJump::Modifier["WheresMyHead"] = %toggleTo;
|
||||
case "You can't see me":
|
||||
%ModifierDesc = "Normal zombies are now cloaked... mwuhahaha!!!";
|
||||
$HellJump::Modifier["YouCantSeeMe"] = %toggleTo;
|
||||
case "Oh Lordy":
|
||||
%ModifierDesc = "Zombie lords shoot 4 pulses instead of 2";
|
||||
$HellJump::Modifier["OhLordy"] = %toggleTo;
|
||||
case "It BURNS!":
|
||||
%ModifierDesc = "Demon Zombie Fireballs now cause Burns";
|
||||
$HellJump::Modifier["ItBurns"] = %toggleTo;
|
||||
case "The Destiny":
|
||||
%ModifierDesc = "Volatile Ravengers explosive power is doubled";
|
||||
$HellJump::Modifier["TheDestiny"] = %toggleTo;
|
||||
case "Scrambler":
|
||||
%ModifierDesc = "Zombie lords jam helicopter signals blocking you from calling them in";
|
||||
$HellJump::Modifier["Scrambler"] = %toggleTo;
|
||||
case "Demonic":
|
||||
%ModifierDesc = "All zombies take 50% of normal damage, thus doubling their HP";
|
||||
$HellJump::Modifier["Demonic"] = %toggleTo;
|
||||
case "All On":
|
||||
%ModifierDesc = "All Modifiers on";
|
||||
$HellJump::Modifier["SuperLunge"] = 1;
|
||||
$HellJump::Modifier["Kamakazi"] = 1;
|
||||
$HellJump::Modifier["WheresMyHead"] = 1;
|
||||
$HellJump::Modifier["YouCantSeeMe"] = 1;
|
||||
$HellJump::Modifier["OhLordy"] = 1;
|
||||
$HellJump::Modifier["ItBurns"] = 1;
|
||||
$HellJump::Modifier["TheDestiny"] = 1;
|
||||
$HellJump::Modifier["Scrambler"] = 1;
|
||||
$HellJump::Modifier["Demonic"] = 1;
|
||||
%game.schedule(2100, "ToggleModifiers", "Titan", 1);
|
||||
case "All Off":
|
||||
%ModifierDesc = "All Modifiers Off";
|
||||
$HellJump::Modifier["SuperLunge"] = 0;
|
||||
$HellJump::Modifier["Kamakazi"] = 0;
|
||||
$HellJump::Modifier["WheresMyHead"] = 0;
|
||||
$HellJump::Modifier["YouCantSeeMe"] = 0;
|
||||
$HellJump::Modifier["OhLordy"] = 0;
|
||||
$HellJump::Modifier["ItBurns"] = 0;
|
||||
$HellJump::Modifier["TheDestiny"] = 0;
|
||||
$HellJump::Modifier["Scrambler"] = 0;
|
||||
$HellJump::Modifier["Demonic"] = 0;
|
||||
$HellJump::Modifier["Titan"] = 0;
|
||||
}
|
||||
if(%modifier !$= "All On" && %modifier !$= "All Off") {
|
||||
if(%toggleTo == 1) {
|
||||
%toDisp = "On";
|
||||
}
|
||||
else {
|
||||
%toDisp = "Off";
|
||||
}
|
||||
//and now lets display our message
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
bottomPrint(%cl, ""@%modifier@" - "@%toDisp@" \n "@%ModifierDesc@"", 2, 2);
|
||||
messageClient(%cl, 'MsgClient', "\c5HELLJUMP: "@%modifier@" - "@%toDisp@" : "@%ModifierDesc@"");
|
||||
}
|
||||
}
|
||||
else {
|
||||
//and now lets display our message
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
bottomPrint(%cl, ""@%modifier@" \n "@%ModifierDesc@"", 2, 2);
|
||||
messageClient(%cl, 'MsgClient', "\c5HELLJUMP: "@%modifier@" : "@%ModifierDesc@"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ConstructionGame::CheckModifier(%game, %mod) {
|
||||
return $HellJump::Modifier[""@%mod@""];
|
||||
}
|
||||
|
||||
function ConstructionGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation) {
|
||||
DefaultGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation);
|
||||
DoTWM2MissionChecks(%clVictim);
|
||||
}
|
||||
|
||||
|
||||
25
scripts/Customize/CustomScripts.cs
Normal file
25
scripts/Customize/CustomScripts.cs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
//Mod Customization
|
||||
//Place your scripts in here:
|
||||
|
||||
//THIS FILE IS EXECUTED LAST
|
||||
|
||||
//it will not interfere with the patches, and thus prevents errors
|
||||
|
||||
//If you want to manipulate damage modifiers or datablock stuff, this is how you do it:
|
||||
//Datablockname.Modifier = new;
|
||||
//EX: S3Bullet.directDamage = 1.1; //.4 higher
|
||||
|
||||
//Add custom chat commands here!
|
||||
//I've included a little sample command (in comments)
|
||||
function parseCustomCommands(%sender, %command, %args) {
|
||||
switch$(strLwr(%command)) { //CAUTION! Note the strlwr here! that means your command must show in lowercase in each case "": statement
|
||||
//case "samplecommand":
|
||||
// %arg1 = getWord(%args, 0);
|
||||
// %arg2 = getWord(%args, 1)
|
||||
// //Do stuff here!
|
||||
// return 1; //return 1; - Command executed correctly
|
||||
}
|
||||
}
|
||||
//make sure you add all of your commands to the list by doing this:
|
||||
//addCMD("Custom", "sampleCommand", "Usage: /sampleCommand [arg1] [arg2]: Sample command ftw! people see this when they type /cmdHelp sampleCommand.");
|
||||
|
||||
512
scripts/DominationGame.cs
Normal file
512
scripts/DominationGame.cs
Normal file
|
|
@ -0,0 +1,512 @@
|
|||
// DisplayName = Domination
|
||||
|
||||
//--- GAME RULES BEGIN ---
|
||||
// Three Points are on the map
|
||||
// Secure a point to gain score
|
||||
// The more points secured, the faster the point gain
|
||||
//--- GAME RULES END ---
|
||||
|
||||
$InvBanList[Domination, "RPG"] = 1;
|
||||
|
||||
$DominGame::Rounds = 5;
|
||||
$DominGame::MaxScore = 350;
|
||||
|
||||
datablock StaticShapeData(DominationObjective) {
|
||||
className = "StaticShape";
|
||||
shapeFile = "flag.dts";
|
||||
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.3;
|
||||
|
||||
explosion = HandGrenadeExplosion;
|
||||
expDmgRadius = 1.0;
|
||||
expDamage = 0.05;
|
||||
expImpulse = 200;
|
||||
|
||||
dynamicType = $TypeMasks::StaticShapeObjectType;
|
||||
deployedObject = true;
|
||||
cmdCategory = "DSupport";
|
||||
cmdIcon = CMDSensorIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_deploymotionsensor";
|
||||
targetNameTag = 'Control Point';
|
||||
deployAmbientThread = true;
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = DeployableDebris;
|
||||
heatSignature = 0;
|
||||
needsPower = true;
|
||||
|
||||
collidable = false;
|
||||
};
|
||||
|
||||
function DominationGame::AIInit(%game) {
|
||||
//call the default AIInit() function
|
||||
AIInit();
|
||||
}
|
||||
|
||||
function DominationGame::allowsProtectedStatics(%game) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function DominationGame::clientMissionDropReady(%game, %client) {
|
||||
messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName );
|
||||
messageClient(%client, 'MsgClientReady',"", "SinglePlayerGame");
|
||||
DefaultGame::clientMissionDropReady(%game, %client);
|
||||
}
|
||||
|
||||
function DominationGame::onAIRespawn(%game, %client) {
|
||||
//add the default task
|
||||
if (!%client.defaultTasksAdded) {
|
||||
%client.defaultTasksAdded = true;
|
||||
%client.addTask(AIPickupItemTask);
|
||||
%client.addTask(AIUseInventoryTask);
|
||||
%client.addTask(AITauntCorpseTask);
|
||||
%client.addTask(AIEngageTurretTask);
|
||||
%client.addTask(AIDetectMineTask);
|
||||
%client.addTask(AIBountyPatrolTask);
|
||||
%client.bountyTask = %client.addTask(AIBountyEngageTask);
|
||||
}
|
||||
|
||||
//set the inv flag
|
||||
%client.spawnUseInv = true;
|
||||
}
|
||||
|
||||
function DominationGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) {
|
||||
if (%game.testKill(%clVictim, %clKiller)) { //verify victim was an enemy
|
||||
%game.awardScoreKill(%clKiller);
|
||||
%game.awardScoreDeath(%clVictim);
|
||||
}
|
||||
else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide
|
||||
%game.awardScoreSuicide(%clVictim);
|
||||
}
|
||||
|
||||
function DominationGame::timeLimitReached(%game) {
|
||||
logEcho("game over (timelimit)");
|
||||
%game.Intermit();
|
||||
}
|
||||
|
||||
function DominationGame::scoreLimitReached(%game) {
|
||||
logEcho("game over (scorelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function DominationGame::gameOver(%game) {
|
||||
//call the default
|
||||
DefaultGame::gameOver(%game);
|
||||
$TWM2::PlayingDomin = 0;
|
||||
$FissionEndsGame = 0;
|
||||
|
||||
$Ion::StopIon = 0;
|
||||
|
||||
$TeamWins[1] = 0;
|
||||
$TeamWins[2] = 0;
|
||||
|
||||
//send the winner message
|
||||
%winner = "";
|
||||
if ($teamScore[1] > $teamScore[2])
|
||||
%winner = %game.getTeamName(1);
|
||||
else if ($teamScore[2] > $teamScore[1])
|
||||
%winner = %game.getTeamName(2);
|
||||
|
||||
if (%winner $= 'Storm')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" );
|
||||
else if (%winner $= 'Inferno')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" );
|
||||
else if (%winner $= 'Starwolf')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.swwin.wav" );
|
||||
else if (%winner $= 'Blood Eagle')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.bewin.wav" );
|
||||
else if (%winner $= 'Diamond Sword')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.dswin.wav" );
|
||||
else if (%winner $= 'Phoenix')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.pxwin.wav" );
|
||||
else
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" );
|
||||
|
||||
messageAll('MsgClearObjHud', "");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
%game.resetScore(%client);
|
||||
}
|
||||
for(%j = 1; %j <= %game.numTeams; %j++)
|
||||
$TeamScore[%j] = 0;
|
||||
}
|
||||
|
||||
function DominationGame::vehicleDestroyed(%game, %vehicle, %destroyer) {
|
||||
|
||||
}
|
||||
|
||||
function DominationGame::startMatch(%game) {
|
||||
DefaultGame::StartMatch(%game);
|
||||
$Domination::TeamScore[1] = 0;
|
||||
$Domination::TeamScore[2] = 0;
|
||||
|
||||
$TeamWins[1] = 0;
|
||||
$TeamWins[2] = 0;
|
||||
|
||||
$Ion::StopIon = 1;
|
||||
|
||||
$TWM2::PlayingDomin = 1;
|
||||
$DominGame::RoundNumber = 1;
|
||||
$FissionEndsGame = 1;
|
||||
Game.NumTeams = 2;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
CenterPrint(%cl, "<Font:Arial Bold:18><just:center>DOMINATION", 5, 2);
|
||||
if(isObject(%cl.player)) {
|
||||
%cl.player.setMoveState(true);
|
||||
%cl.player.schedule(5000, "setMoveState", false);
|
||||
}
|
||||
}
|
||||
%game.InitialSetup($CurrentMission);
|
||||
%game.AddTeamScore();
|
||||
|
||||
setSensorGroupCount(7);
|
||||
}
|
||||
|
||||
function DominationGame::Intermit(%game) {
|
||||
$DominGame::RoundNumber++;
|
||||
$Domination::TeamScore[1] = 0;
|
||||
$Domination::TeamScore[2] = 0;
|
||||
|
||||
%game.flag1.Controller = 0;
|
||||
%game.flag2.Controller = 0;
|
||||
%game.flag3.Controller = 0;
|
||||
|
||||
%game.flag1.CapCount = 0;
|
||||
%game.flag2.CapCount = 0;
|
||||
%game.flag3.CapCount = 0;
|
||||
|
||||
if($DominGame::RoundNumber > $DominGame::Rounds) {
|
||||
%game.schedule(10000, "GameOver");
|
||||
CycleMissions();
|
||||
}
|
||||
else {
|
||||
MessageAll('msgInter', "\c5Domination: INTERMISSION, ROUND "@$DominGame::RoundNumber@" BEGINNING");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
CenterPrint(%cl, "<Font:Arial Bold:18><just:center>DOMINATION \n Round "@$DominGame::RoundNumber@"", 5, 2);
|
||||
if(isObject(%cl.player) && %cl.player.getState() !$= "dead") {
|
||||
%cl.player.setMoveState(true);
|
||||
%cl.player.schedule(5000, "setMoveState", false);
|
||||
%goto = %game.pickTeamSpawn(%cl.team);
|
||||
%cl.player.setPosition(%goto);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function DominationGame::InitialSetup(%game, %map) {
|
||||
%game.flag1 = new StaticShape() {
|
||||
dataBlock = DominationObjective;
|
||||
position = $DominationGame::ObjectiveLocation1[%map];
|
||||
};
|
||||
%game.flag2 = new StaticShape() {
|
||||
dataBlock = DominationObjective;
|
||||
position = $DominationGame::ObjectiveLocation2[%map];
|
||||
};
|
||||
%game.flag3 = new StaticShape() {
|
||||
dataBlock = DominationObjective;
|
||||
position = $DominationGame::ObjectiveLocation3[%map];
|
||||
};
|
||||
MissionCleanup.add(%game.flag1);
|
||||
MissionCleanup.add(%game.flag2);
|
||||
MissionCleanup.add(%game.flag3);
|
||||
|
||||
%name[1] = $dFlag[1];
|
||||
%name[2] = $dFlag[2];
|
||||
%name[3] = $dFlag[3];
|
||||
for(%i = 1; %i < 4; %i++) {
|
||||
if($Domination::Flag[%i, $CurrentMission] !$= "") {
|
||||
%name[%i] = $Domination::Flag[%i, $CurrentMission];
|
||||
}
|
||||
}
|
||||
|
||||
%game.flag1.Name = %name[1];
|
||||
%game.flag2.Name = %name[2];
|
||||
%game.flag3.Name = %name[3];
|
||||
|
||||
%game.flag1.Controller = 0;
|
||||
%game.flag2.Controller = 0;
|
||||
%game.flag3.Controller = 0;
|
||||
|
||||
%game.flag1.CapCount = 0;
|
||||
%game.flag2.CapCount = 0;
|
||||
%game.flag3.CapCount = 0;
|
||||
|
||||
%game.ScanFlagArea(%game.flag1);
|
||||
%game.ScanFlagArea(%game.flag2);
|
||||
%game.ScanFlagArea(%game.flag3);
|
||||
|
||||
%game.WPLoop(%game.flag1);
|
||||
%game.WPLoop(%game.flag2);
|
||||
%game.WPLoop(%game.flag3);
|
||||
}
|
||||
|
||||
function DominationGame::ScanFlagArea(%game, %area) {
|
||||
InitContainerRadiusSearch(%area.getPosition(), 25, $TypeMasks::PlayerObjectType);
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0) {
|
||||
if(%potentialTarget.team != %area.Controller) {
|
||||
%enemyPlayers++;
|
||||
}
|
||||
else {
|
||||
%friendlyPlayers++;
|
||||
}
|
||||
//
|
||||
%cl = %potentialTarget.client;
|
||||
if(%friendlyPlayers >= 1 && %enemyPlayers >= 1) {
|
||||
bottomPrint(%potentialTarget.client, "AREA CONTESTED", 1, 2);
|
||||
}
|
||||
else if(%friendlyPlayers == 0 && %enemyPlayers >= 1) {
|
||||
bottomPrint(%potentialTarget.client, "CAPTURING AREA ("@%area.CapCount@" / 30)", 1, 2);
|
||||
%game.CaptureArea(%area, %potentialTarget, %potentialTarget.team);
|
||||
}
|
||||
}
|
||||
%game.schedule(500, "ScanFlagArea", %area);
|
||||
}
|
||||
|
||||
function DominationGame::CaptureArea(%game, %area, %player, %team) {
|
||||
%area.CapCount++;
|
||||
if(%area.CapCount > 30) {
|
||||
%area.Controller = %team;
|
||||
MessageAll("\c5DOMINATON: Point "@%area.name@" captured by team "@%team@".");
|
||||
bottomPrint(%player.client, "Area "@%area.name@" captured, +20 XP", 3, 2);
|
||||
GainExperience(%player.client, 20, "Domination Territory Captured ");
|
||||
CompleteNWChallenge(%player.client, "ZoneCapture");
|
||||
recordAction(%player.client, "AREACAP");
|
||||
%area.CapCount = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function DominationGame::BuildFlagControlString(%game, %team) {
|
||||
%string = "";
|
||||
if(%game.flag1.Controller == %team) {
|
||||
%string = ""@%string@"[Alpha]";
|
||||
}
|
||||
if(%game.flag2.Controller == %team) {
|
||||
%string = ""@%string@" [Bravo]";
|
||||
}
|
||||
if(%game.flag3.Controller == %team) {
|
||||
%string = ""@%string@" [Charlie]";
|
||||
}
|
||||
//
|
||||
//they have all 3!
|
||||
if(%string $= "[Alpha] [Bravo] [Charlie]") {
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team == %team) {
|
||||
messageClient(%cl, 'msgDominated', "\c5TEAM: All Positions Locked Down, Hold Those Positions!!!");
|
||||
CompleteNWChallenge(%cl, "ABC");
|
||||
}
|
||||
else {
|
||||
messageClient(%cl, 'msgDominated', "\c5TEAM: We Are Being DOMINATED, Take Those Positions!!!");
|
||||
}
|
||||
}
|
||||
}
|
||||
return %string;
|
||||
}
|
||||
|
||||
function DominationGame::AddTeamScore(%game) {
|
||||
if(%game.flag1.Controller != 0)
|
||||
$Domination::TeamScore[%game.flag1.Controller]++;
|
||||
if(%game.flag2.Controller != 0)
|
||||
$Domination::TeamScore[%game.flag2.Controller]++;
|
||||
if(%game.flag3.Controller != 0)
|
||||
$Domination::TeamScore[%game.flag3.Controller]++;
|
||||
|
||||
MessageAll('MsgSPCurrentObjective1', "", "TEAM 1 ["@$TeamWins[1]@"/5]: ("@%game.BuildFlagControlString(1)@"), "@$Domination::TeamScore[1]@" / "@$DominGame::MaxScore@"");
|
||||
MessageAll('MsgSPCurrentObjective2', "", "TEAM 2 ["@$TeamWins[2]@"/5]: ("@%game.BuildFlagControlString(2)@"), "@$Domination::TeamScore[2]@" / "@$DominGame::MaxScore@"");
|
||||
|
||||
%game.schedule(3000, "AddTeamScore");
|
||||
%game.CheckIntermit();
|
||||
}
|
||||
|
||||
function DominationGame::CheckIntermit(%game) {
|
||||
if($Domination::TeamScore[1] >= $DominGame::MaxScore) {
|
||||
MessageTeam(1, 'MsgWin', "DOMINATION: Excellent Work, We Have Dominated!!!");
|
||||
MessageTeam(2, 'MsgWin', "DOMINATION: We have been Dominated, Try Harder Next Time");
|
||||
$teamScore[1] += 10000;
|
||||
$TeamWins[1]++;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team == 1) {
|
||||
recordAction(%cl, "DOMWIN");
|
||||
switch($TeamWins[1]) {
|
||||
case 1:
|
||||
CompleteNWChallenge(%cl, "MatchSet");
|
||||
case 3:
|
||||
CompleteNWChallenge(%cl, "3For5");
|
||||
case 5:
|
||||
CompleteNWChallenge(%cl, "Undefeatable");
|
||||
}
|
||||
}
|
||||
}
|
||||
%game.Intermit();
|
||||
}
|
||||
else if($Domination::TeamScore[2] >= $DominGame::MaxScore) {
|
||||
MessageTeam(1, 'MsgWin', "DOMINATION: We have been Dominated, Try Harder Next Time");
|
||||
MessageTeam(2, 'MsgWin', "DOMINATION: Excellent Work, We Have Dominated!!!");
|
||||
$teamScore[2] += 10000;
|
||||
$TeamWins[2]++;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team == 2) {
|
||||
recordAction(%cl, "DOMWIN");
|
||||
switch($TeamWins[2]) {
|
||||
case 1:
|
||||
CompleteNWChallenge(%cl, "MatchSet");
|
||||
case 3:
|
||||
CompleteNWChallenge(%cl, "3For5");
|
||||
case 5:
|
||||
CompleteNWChallenge(%cl, "Undefeatable");
|
||||
}
|
||||
}
|
||||
}
|
||||
%game.Intermit();
|
||||
}
|
||||
else if($Domination::TeamScore[1] == $DominGame::MaxScore && $Domination::TeamScore[2] == $DominGame::MaxScore) {
|
||||
MessageTeam(1, 'MsgWin', "DOMINATION: It's a DRAW!!!");
|
||||
MessageTeam(2, 'MsgWin', "DOMINATION: It's a DRAW!!!");
|
||||
%game.Intermit();
|
||||
}
|
||||
}
|
||||
|
||||
function DominationGame::pickTeamSpawn(%game, %team) {
|
||||
if(%team == 1) {
|
||||
%pos = vectorAdd($DominationGame::SpawnLocation1[$CurrentMission],GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 5");
|
||||
return %pos;
|
||||
}
|
||||
else if(%team == 2) {
|
||||
%pos = vectorAdd($DominationGame::SpawnLocation2[$CurrentMission],GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 5");
|
||||
return %pos;
|
||||
}
|
||||
}
|
||||
|
||||
function DominationGame::WPLoop(%game, %area) {
|
||||
if(!isObject(%area)) {
|
||||
return; //no console spamz 4 you
|
||||
}
|
||||
if(isObject(%area.wp)) {
|
||||
%area.wp.delete();
|
||||
}
|
||||
%area.wp = new WayPoint() {
|
||||
position = %area.getPosition();
|
||||
dataBlock = "WayPointMarker";
|
||||
team = %area.Controller;
|
||||
name = ""@%area.name@"";
|
||||
};
|
||||
MissionCleanup.add(%area.wp);
|
||||
%game.schedule(500, "WPLoop", %area);
|
||||
}
|
||||
|
||||
//MissionLists
|
||||
$DominationGame::SpawnLocation1["EngelamHimmel"] = "126.7 14.7 181";
|
||||
$DominationGame::SpawnLocation2["EngelamHimmel"] = "-282 16 181";
|
||||
$DominationGame::ObjectiveLocation1["EngelamHimmel"] = "-176.82 32.36 180.016";
|
||||
$DominationGame::ObjectiveLocation2["EngelamHimmel"] = "-100 0 251";
|
||||
$DominationGame::ObjectiveLocation3["EngelamHimmel"] = "-22.25 32 180.016";
|
||||
|
||||
$DominationGame::SpawnLocation1["SideSwipe"] = "-83 -270 354";
|
||||
$DominationGame::SpawnLocation2["SideSwipe"] = "-82.3 -114 354";
|
||||
$DominationGame::ObjectiveLocation1["SideSwipe"] = "-72 -216.75 354";
|
||||
$DominationGame::ObjectiveLocation2["SideSwipe"] = "-83.6 -196.2 397";
|
||||
$DominationGame::ObjectiveLocation3["SideSwipe"] = "-92.2 -163.13 354";
|
||||
|
||||
$DominationGame::SpawnLocation1["HarbingerTower"] = "810.5 -401.1 102";
|
||||
$DominationGame::SpawnLocation2["HarbingerTower"] = "814.2 -428.7 198";
|
||||
$DominationGame::ObjectiveLocation1["HarbingerTower"] = "799.4 -402.1 113";
|
||||
$DominationGame::ObjectiveLocation2["HarbingerTower"] = "820.7 -413.5 155";
|
||||
$DominationGame::ObjectiveLocation3["HarbingerTower"] = "815 -401.7 180";
|
||||
|
||||
$DominationGame::SpawnLocation1["Skyline"] = "-59.0467 -419.333 791.448";
|
||||
$DominationGame::SpawnLocation2["Skyline"] = "-60.0561 -256.818 814.83";
|
||||
$DominationGame::ObjectiveLocation1["Skyline"] = "-59.73 -280.06 773.08";
|
||||
$DominationGame::ObjectiveLocation2["Skyline"] = "-61.15 -366.13 740.925";
|
||||
$DominationGame::ObjectiveLocation3["Skyline"] = "-59.26 -394.66 773.08";
|
||||
|
||||
$DominationGame::SpawnLocation1["GeometricOrder"] = "-172.325 -396.557 159.9";
|
||||
$DominationGame::SpawnLocation2["GeometricOrder"] = "-10.7 -573.29 159.9";
|
||||
$DominationGame::ObjectiveLocation1["GeometricOrder"] = "4.23 -600.6 159.9";
|
||||
$DominationGame::ObjectiveLocation2["GeometricOrder"] = "-79.9 -487.06 159.9";
|
||||
$DominationGame::ObjectiveLocation3["GeometricOrder"] = "-185.68 -559.78 160.45";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function GenerateDominationChallengeMenu(%client, %tag, %index) {
|
||||
if(%client.CheckNWChallengeCompletion("ZoneCapture")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Zone Conquerer - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Zone Conquerer - Capture an Area.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("ABC")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Alpha Bravo Charlie - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Alpha Bravo Charlie - Secure All Three Areas at one Time.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("MatchSet")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Match Set - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Match Set - Win a Round Of Domination.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("3For5")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Three For Five - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Three For Five - Win 3 Rounds Of Domination.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Undefeatable")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Undefeatable - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Undefeatable - Go Undefeated in a full game of Domination.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
return %index;
|
||||
}
|
||||
2884
scripts/HelljumpGame.cs
Normal file
2884
scripts/HelljumpGame.cs
Normal file
File diff suppressed because it is too large
Load diff
1552
scripts/HordeGame.cs
Normal file
1552
scripts/HordeGame.cs
Normal file
File diff suppressed because it is too large
Load diff
1615
scripts/HuntersGame.cs
Normal file
1615
scripts/HuntersGame.cs
Normal file
File diff suppressed because it is too large
Load diff
649
scripts/InfectionGame.cs
Normal file
649
scripts/InfectionGame.cs
Normal file
|
|
@ -0,0 +1,649 @@
|
|||
// DisplayName = TWM Infection
|
||||
|
||||
//--- GAME RULES BEGIN ---
|
||||
// Humans vs. Zombies
|
||||
// 15 Seconds into the Game, A Human becomes a zombie
|
||||
// The Zombie Tries To Infect all the humans
|
||||
// Humans Killed By The Zombie, Become Zombies
|
||||
// Zombies Can Choose What Zombie To Use (Normal, Demon, Lord)
|
||||
//--- GAME RULES END ---
|
||||
|
||||
$InvBanList[Infection, "GrappleHook"] = 1;
|
||||
|
||||
$InfectionGame::Min2Alphas = 7;
|
||||
$InfectionGame::Min3Alphas = 10;
|
||||
$InfectionGame::Rounds = 5;
|
||||
|
||||
// spam fix
|
||||
function InfectionGame::AIInit(%game) {
|
||||
//call the default AIInit() function
|
||||
AIInit();
|
||||
}
|
||||
|
||||
function InfectionGame::allowsProtectedStatics(%game) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function InfectionGame::pickTeamSpawn(%game, %team) {
|
||||
%pos = vectorAdd($InfectionGame::SpawnLocation[$CurrentMission], GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 5");
|
||||
return %pos;
|
||||
}
|
||||
|
||||
|
||||
function InfectionGame::clientMissionDropReady(%game, %client) {
|
||||
$InfectionGame::Score[%client] = 0;
|
||||
$InfectionGame::ClientZombie[%client] = "Norm";
|
||||
messageClient(%client, 'MsgClientReady',"", "SinglePlayerGame");
|
||||
DefaultGame::clientMissionDropReady(%game, %client);
|
||||
}
|
||||
|
||||
function InfectionGame::onAIRespawn(%game, %client)
|
||||
{
|
||||
//add the default task
|
||||
if (! %client.defaultTasksAdded)
|
||||
{
|
||||
%client.defaultTasksAdded = true;
|
||||
%client.addTask(AIPickupItemTask);
|
||||
%client.addTask(AIUseInventoryTask);
|
||||
%client.addTask(AITauntCorpseTask);
|
||||
%client.addTask(AIEngageTurretTask);
|
||||
%client.addTask(AIDetectMineTask);
|
||||
%client.addTask(AIBountyPatrolTask);
|
||||
%client.bountyTask = %client.addTask(AIBountyEngageTask);
|
||||
}
|
||||
|
||||
//set the inv flag
|
||||
%client.spawnUseInv = true;
|
||||
}
|
||||
|
||||
function InfectionGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) {
|
||||
if (%game.testKill(%clVictim, %clKiller)) { //verify victim was an enemy
|
||||
%game.awardScoreKill(%clKiller);
|
||||
%game.awardScoreDeath(%clVictim);
|
||||
}
|
||||
else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide
|
||||
%game.awardScoreSuicide(%clVictim);
|
||||
}
|
||||
|
||||
function InfectionGame::timeLimitReached(%game) {
|
||||
logEcho("game over (timelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function InfectionGame::scoreLimitReached(%game) {
|
||||
logEcho("game over (scorelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function InfectionGame::startMatch(%game) {
|
||||
activatePackage(InfectionGamePackage);
|
||||
$TWM::PlayingInfection = 1;
|
||||
$TWM::TeamWars = 1;
|
||||
$Host::RankSystem = 0;
|
||||
$InfectionGame::TimeTilInfect = 15;
|
||||
$InfectionGame::RoundNumber = 1;
|
||||
$InfectionGame::ZombieTier = 1;
|
||||
$InfectionGame::Intermit = 1;
|
||||
|
||||
$InfectionGame::NoRespawning = 0;
|
||||
messageAll('MsgSPCurrentObjective1', "Selecting Alpha Zombie");
|
||||
messageAll('MsgSPCurrentObjective2', "Alpha Zombie Selected In: "@$InfectionGame::TimeTilInfect@" Seconds.");
|
||||
%game.StartTimeUntilInfect($InfectionGame::TimeTilInfect);
|
||||
DefaultGame::StartMatch(%game);
|
||||
Game.NumTeams = 1;
|
||||
//Disable Killstreaks and Perks
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
DisableAllPerkGroup(%client, 1);
|
||||
DisableAllPerkGroup(%client, 2);
|
||||
DisableAllPerkGroup(%client, 3);
|
||||
%client.DisableAllKillstreaks();
|
||||
messageClient(%client, 'msgOffline', "\c5INFECTION: All Killstreaks and Perks Disabled.");
|
||||
}
|
||||
}
|
||||
|
||||
function InfectionGame::TryInfectAnother(%game) {
|
||||
%selected = ClientGroup.getObject(GetRandom()*ClientGroup.getCount());
|
||||
if($InfectionGame::IsAlpha[%selected] || %selected.team == 0) {
|
||||
//do not pick observers or already infected
|
||||
return %game.TryInfectAnother();
|
||||
}
|
||||
return %selected;
|
||||
}
|
||||
|
||||
function InfectionGame::StartTimeUntilInfect(%game, %time) {
|
||||
%time--;
|
||||
if(%time <= 0) {
|
||||
if (ClientGroup.getCount() <= 1) {
|
||||
MessageAll('MsgError',"\c5Insufficient Players, Need At Least 2");
|
||||
$InfectionGame::TimeTilInfect = 15;
|
||||
%time = 15;
|
||||
%game.schedule(1000, "StartTimeUntilInfect", %time);
|
||||
return;
|
||||
}
|
||||
%ZString = "";
|
||||
if(ClientGroup.getCount() >= $InfectionGame::Min3Alphas) {
|
||||
for(%x = 0; %x < 3; %x++) {
|
||||
%selected = ClientGroup.getObject(GetRandom()*ClientGroup.getCount());
|
||||
if($InfectionGame::IsAlpha[%selected]) { //If this one is selected
|
||||
%selected = %game.TryInfectAnother(); //grab a different client
|
||||
}
|
||||
$InfectionGame::Infected[%selected] = 1;
|
||||
$InfectionGame::IsAlpha[%selected] = 1;
|
||||
// Game.clientChangeTeam( %selected, 2, 0 );
|
||||
$InfectionGame::ClientZombie[%selected] = "Demon"; //we start them as demonz :)
|
||||
if(isObject(%selected.player)) {
|
||||
%targetlastpos = %selected.player.getworldboxcenter();
|
||||
makePersonZombie(%targetlastpos, %selected, 4);
|
||||
}
|
||||
%ZString = ""@%ZString@" "@%selected.namebase@"";
|
||||
}
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Alpha Zombies:"@%ZString@"");
|
||||
messageClient(%client, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%client]@" | TIER 1.");
|
||||
}
|
||||
$InfectionGame::Intermit = 0;
|
||||
%game.timeUpdateLoop = %game.schedule(1, DoTierUpgrades);
|
||||
return;
|
||||
}
|
||||
else if(ClientGroup.getCount() >= $InfectionGame::Min2Alphas && ClientGroup.getCount() < $InfectionGame::Min3Alphas) {
|
||||
for(%x = 0; %x < 2; %x++) {
|
||||
%selected = ClientGroup.getObject(GetRandom()*ClientGroup.getCount());
|
||||
if($InfectionGame::IsAlpha[%selected]) { //If this one is selected
|
||||
%selected = %game.TryInfectAnother(); //grab a different client
|
||||
}
|
||||
$InfectionGame::Infected[%selected] = 1;
|
||||
$InfectionGame::IsAlpha[%selected] = 1;
|
||||
// Game.clientChangeTeam( %selected, 2, 0 );
|
||||
$InfectionGame::ClientZombie[%selected] = "Demon"; //we start them as demonz :)
|
||||
if(isObject(%selected.player)) {
|
||||
%targetlastpos = %selected.player.getworldboxcenter();
|
||||
makePersonZombie(%targetlastpos, %selected, 4);
|
||||
}
|
||||
%ZString = ""@%ZString@" "@%selected.namebase@"";
|
||||
}
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Alpha Zombies:"@%ZString@"");
|
||||
messageClient(%client, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%client]@" | TIER 1.");
|
||||
}
|
||||
$InfectionGame::Intermit = 0;
|
||||
%game.timeUpdateLoop = %game.schedule(1, DoTierUpgrades);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%selected = ClientGroup.getObject(GetRandom()*ClientGroup.getCount());
|
||||
$InfectionGame::Infected[%selected] = 1;
|
||||
$InfectionGame::IsAlpha[%selected] = 1;
|
||||
// Game.clientChangeTeam( %selected, 2, 0 );
|
||||
$InfectionGame::ClientZombie[%selected] = "Demon"; //we start them as demonz :)
|
||||
if(isObject(%selected.player)) {
|
||||
%targetlastpos = %selected.player.getworldboxcenter();
|
||||
makePersonZombie(%targetlastpos, %selected, 4);
|
||||
}
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Alpha Zombie: "@%selected.namebase@"");
|
||||
messageClient(%client, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%client]@" | TIER 1.");
|
||||
}
|
||||
messageClient(%selected, 'MsgSPCurrentObjective1' ,"", "You are The Alpha Zombie");
|
||||
$InfectionGame::Intermit = 0;
|
||||
|
||||
%game.timeUpdateLoop = %game.schedule(1, DoTierUpgrades);
|
||||
return;
|
||||
}
|
||||
}
|
||||
%game.schedule(1000, "StartTimeUntilInfect", %time);
|
||||
}
|
||||
|
||||
function InfectionGame::CheckPlayersAndLMS(%game) {
|
||||
%living = 0;
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
if(!$InfectionGame::Infected[%client]) {
|
||||
if(%client.team != 0)
|
||||
%living++;
|
||||
}
|
||||
}
|
||||
if(%living == 0) {
|
||||
if($InfectionGame::RoundNumber >= $InfectionGame::Rounds) {
|
||||
//%game.gameOver();
|
||||
//CycleMissions();
|
||||
$InfectionGame::NoRespawning = 1;
|
||||
$InfectionGame::RoundNumber = 1;
|
||||
MessageAll('MsgAdminForce', "\c5Infection: The Game has completed! Momentarily a vote will be initiated, vote yes to change maps, or no to stay on it.");
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Game Over: Map Cycle Vote");
|
||||
|
||||
cancel(%game.timeUpdateLoop);
|
||||
%game.timeinProgress = 0;
|
||||
%game.schedule(3500, "startMapCycleVote");
|
||||
}
|
||||
else {
|
||||
$InfectionGame::RoundNumber++;
|
||||
%game.Intermission();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function InfectionGame::startMapCycleVote(%game) {
|
||||
if(%game.schedulevote !$="") {
|
||||
cancel(%game.ScheduleVote);
|
||||
%Game.scheduleVote = "";
|
||||
%Game.kickClient = "";
|
||||
clearVotes();
|
||||
%count = clientgroup.getcount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
messageClient(clientgroup.getobject(%i), 'closeVoteHud', "");
|
||||
}
|
||||
messageAll('MsgAdminForce', "\c2SERVER: Current vote canceled to allow Infection Map Cycle Vote.");
|
||||
}
|
||||
|
||||
for ( %idx = 0; %idx < ClientGroup.getCount(); %idx++ ) {
|
||||
%cl = ClientGroup.getObject( %idx );
|
||||
if ( !%cl.isAIControlled() ) {
|
||||
messageClient( %cl, 'VoteStarted', '\c2SERVER: Change Maps? Vote Yes to change, or no to restart this map at Round 1.');
|
||||
%clientsVoting++;
|
||||
}
|
||||
}
|
||||
for ( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) {
|
||||
%cl = ClientGroup.getObject( %clientIndex );
|
||||
if ( !%cl.isAIControlled() ) {
|
||||
messageClient(%cl, 'openVoteHud', "", %clientsVoting, ($Host::VotePassPercent / 100));
|
||||
}
|
||||
}
|
||||
clearVotes();
|
||||
%Game.voteType = "MapCycleVote";
|
||||
%Game.scheduleVote = %game.schedule( ($Host::VoteTime * 1000), "MapCycleVoteEval", false);
|
||||
}
|
||||
|
||||
function InfectionGame::MapCycleVoteEval(%game, %isVP) {
|
||||
if (%game.scheduleVote !$= "") {
|
||||
%votesFor = 0;
|
||||
%votesAgainst = 0;
|
||||
for (%player = 0; %player < ClientGroup.GetCount(); %player++) {
|
||||
%client = ClientGroup.getObject(%player);
|
||||
if ( %client.vote !$= "" ) {
|
||||
if ( %client.vote ) {
|
||||
%votesFor++;
|
||||
}
|
||||
else {
|
||||
%votesAgainst++;
|
||||
}
|
||||
}
|
||||
}
|
||||
//who wins?!!?
|
||||
if (%VotesFor > %votesAgainst) {
|
||||
messageAll('MsgVotePassed', '\c1Map changes by vote');
|
||||
%game.gameOver();
|
||||
CycleMissions();
|
||||
$InfectionGame::NoRespawning = 0;
|
||||
}
|
||||
else {
|
||||
messageAll('MsgVoteFailed', '\c2Current map continues. Starting Round 1.');
|
||||
|
||||
$InfectionGame::NoRespawning = 0;
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
$InfectionGame::Infected[%client] = 0;
|
||||
$InfectionGame::IsAlpha[%client] = 0;
|
||||
$InfectionGame::Intermit = 1;
|
||||
$InfectionGame::ClientZombie[%client] = "Norm";
|
||||
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Intermission");
|
||||
if(isObject(%client.player)) {
|
||||
%client.player.scriptKill(0); // no damage type = no infect :)
|
||||
}
|
||||
}
|
||||
$InfectionGame::TimeTilInfect = 30;
|
||||
$InfectionGame::ZombieTier = 1;
|
||||
%game.StartTimeUntilInfect($InfectionGame::TimeTilInfect);
|
||||
}
|
||||
// Housekeeping time..
|
||||
for(%cl = 0; %cl < ClientGroup.getCount(); %cl++) {
|
||||
%client = ClientGroup.getObject(%cl);
|
||||
%client.vote = "";
|
||||
Game.voteType = "";
|
||||
messageClient(%client, 'clearVoteHud', "");
|
||||
messageClient(%client, 'closeVoteHud', "");
|
||||
}
|
||||
Game.scheduleVote = "";
|
||||
}
|
||||
}
|
||||
|
||||
function InfectionGame::Intermission(%game) {
|
||||
MessageAll('MsgComplete',"\c5Intermission, Beginning Round "@$InfectionGame::RoundNumber@" of "@$InfectionGame::Rounds@" in 30 Seconds.");
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
$InfectionGame::Infected[%client] = 0;
|
||||
$InfectionGame::IsAlpha[%client] = 0;
|
||||
$InfectionGame::ClientZombie[%client] = "Norm";
|
||||
$InfectionGame::Intermit = 1;
|
||||
|
||||
// Game.clientChangeTeam( %client, 1, 0 );
|
||||
|
||||
messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Intermission");
|
||||
if(isObject(%client.player)) {
|
||||
%client.player.scriptKill(0); // no damage type = no infect :)
|
||||
}
|
||||
}
|
||||
$InfectionGame::TimeTilInfect = 30;
|
||||
$InfectionGame::ZombieTier = 1;
|
||||
%game.StartTimeUntilInfect($InfectionGame::TimeTilInfect);
|
||||
|
||||
cancel(%game.timeUpdateLoop);
|
||||
%game.timeinProgress = 0;
|
||||
}
|
||||
|
||||
function InfectionGame::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation) {
|
||||
Parent::onClientKilled(%game, %clVictim, %clKiller, %damageType, %implement, %damageLocation);
|
||||
if(%clVictim !$= "") {
|
||||
if($InfectionGame::Intermit == 1) {
|
||||
CenterPrint(%clVictim, "<color:FF0000>ALERT: INTERMISSION\nIn Active Game Time, you Would be Infected, Be Advised!.",2,3);
|
||||
return;
|
||||
}
|
||||
if($InfectionGame::Infected[%clKiller] || (%damageType $= $DamageType::Zombie || %damageType $= $DamageType::Suicide || %damageType $= $DamageType::FellOff)) {
|
||||
if(!$InfectionGame::Infected[%clVictim]) {
|
||||
$InfectionGame::Infected[%clVictim] = 1;
|
||||
$InfectionGame::ClientZombie[%clVictim] = "Norm";
|
||||
// Game.clientChangeTeam( %client, 2, 0 );
|
||||
CenterPrint(%clVictim, "<color:FF0000>You have been infected.",2,3);
|
||||
Echo("Infection: "@%clVictim.namebase@" has been infected.");
|
||||
$InfectionGame::Score[%clKiller] += 10;
|
||||
messageClient(%clKiller, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%clKiller]@"");
|
||||
}
|
||||
else {
|
||||
CenterPrint(%clKiller, "<color:FF0000>Blargh, Don't kill your brothers!!! \n -5 Points",2,3);
|
||||
$InfectionGame::Score[%clKiller] -= 5;
|
||||
messageClient(%clKiller, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%clKiller]@"");
|
||||
}
|
||||
}
|
||||
else {
|
||||
if($InfectionGame::Infected[%clVictim]) {
|
||||
$InfectionGame::Score[%clKiller]++;
|
||||
messageClient(%clKiller, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%clKiller]@"");
|
||||
}
|
||||
else {
|
||||
CenterPrint(%clKiller, "<color:FF0000>Don't Kill The Living!!! \n -5 Points",2,3);
|
||||
$InfectionGame::Score[%clKiller] -= 5;
|
||||
messageClient(%clKiller, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%clKiller]@"");
|
||||
}
|
||||
}
|
||||
%game.CheckPlayersAndLMS();
|
||||
}
|
||||
}
|
||||
|
||||
function InfectionGame::DoTierUpgrades(%game) {
|
||||
%game.timeinProgress++;
|
||||
|
||||
%timeToNext = (5*60 + (5*60*($InfectionGame::ZombieTier-1))) - (%game.timeinProgress);
|
||||
%min = mFloor(%timeToNext / 60);
|
||||
%sec = %timeToNext % 60;
|
||||
if(%sec < 10) {
|
||||
%sec = "0"@%sec;
|
||||
}
|
||||
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
//messageClient(%client, 'MsgSPCurrentObjective1' ,"", "Alpha Zombie: "@%selected.namebase@"");
|
||||
if($InfectionGame::ZombieTier < 4) {
|
||||
messageClient(%client, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%client]@" | TIER "@$InfectionGame::ZombieTier@" ["@%min@":"@%sec@"].");
|
||||
}
|
||||
else {
|
||||
messageClient(%client, 'MsgSPCurrentObjective2' ,"", "Score: "@$InfectionGame::Score[%client]@" | TIER "@$InfectionGame::ZombieTier@".");
|
||||
}
|
||||
}
|
||||
|
||||
if(%game.timeinProgress >= (5*60) && $InfectionGame::ZombieTier <= 1) {
|
||||
$InfectionGame::ZombieTier = 2;
|
||||
CenterPrintAll("TIER 2 ZOMBIE ARMORS UNLOCKED!", 3, 3);
|
||||
}
|
||||
if(%game.timeinProgress >= (10*60) && $InfectionGame::ZombieTier <= 2) {
|
||||
$InfectionGame::ZombieTier = 3;
|
||||
CenterPrintAll("TIER 3 ZOMBIE ARMORS UNLOCKED!", 3, 3);
|
||||
}
|
||||
if(%game.timeinProgress >= (15*60) && $InfectionGame::ZombieTier <= 3) {
|
||||
$InfectionGame::ZombieTier = 4;
|
||||
CenterPrintAll("TIER 4 ZOMBIE ARMORS UNLOCKED!\nHIGHEST TIER ACHIEVED!", 3, 3);
|
||||
}
|
||||
|
||||
%game.timeUpdateLoop = %game.schedule(1000, DoTierUpgrades);
|
||||
}
|
||||
|
||||
function InfectionArmors(%client, %armorList) {
|
||||
if ( %client.favorites[0] !$= "Scout") {
|
||||
%armorList = %armorList TAB "Scout";
|
||||
}
|
||||
return %armorList;
|
||||
}
|
||||
|
||||
function InfectionGame::forceObserver( %game, %client, %reason ) {
|
||||
//if($InfectionGame::IsAlpha[%client]) {
|
||||
// %game.Intermission();
|
||||
//}
|
||||
DefaultGame::forceObserver( %game, %client, %reason );
|
||||
}
|
||||
|
||||
function InfectionGame::gameOver(%game) {
|
||||
//call the default
|
||||
deactivatePackage(InfectionGamePackage);
|
||||
$TWM::PlayingInfection = 0;
|
||||
$TWM::TeamWars = 0;
|
||||
$Host::RankSystem = 1;
|
||||
DefaultGame::gameOver(%game);
|
||||
|
||||
//send the winner message
|
||||
%winner = "";
|
||||
messageAll('MsgClearObjHud', "");
|
||||
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
//reset all vars
|
||||
$InfectionGame::Infected[%client] = 0;
|
||||
$InfectionGame::IsAlpha[%client] = 0;
|
||||
$InfectionGame::Score[%client] = 0;
|
||||
|
||||
%game.resetScore(%client);
|
||||
}
|
||||
}
|
||||
|
||||
function InfectionGame::leaveMissionArea(%game, %playerData, %player) {
|
||||
if(%player.getState() $= "Dead")
|
||||
return;
|
||||
|
||||
%player.client.outOfBounds = true;
|
||||
%player.OutsideKill = schedule(7500,0,"KillOutside", %player);
|
||||
messageClient(%player.client, 'LeaveMissionArea', '\c1You left the mission area, Return or be killed.~wfx/misc/warning_beep.wav');
|
||||
|
||||
}
|
||||
|
||||
function InfectionGame::enterMissionArea(%game, %playerData, %player) {
|
||||
if(%player.getState() $= "Dead")
|
||||
return;
|
||||
|
||||
cancel(%player.OutsideKill);
|
||||
%player.client.outOfBounds = false;
|
||||
messageClient(%player.client, 'EnterMissionArea', '\c1You are back in the mission area.');
|
||||
}
|
||||
|
||||
function KillOutside(%p) {
|
||||
if(isObject(%p) && %p.getState() !$= "dead") {
|
||||
%p.scriptKill(0);
|
||||
messageClient(%p.client, 'die', '\c1You were killed for being outside of the mission area.');
|
||||
MessageAll('Dead',"\c0"@%p.client.namebase@" was killed for leaving the mission area for too long.");
|
||||
}
|
||||
}
|
||||
|
||||
function InfectionGame::ResetScore(%client) {
|
||||
|
||||
}
|
||||
|
||||
package InfectionGamePackage {
|
||||
function GameConnection::onDrop(%client, %reason) { //no changes made
|
||||
if($InfectionGame::IsAlpha[%client]) {
|
||||
Game.Intermission();
|
||||
}
|
||||
parent::onDrop(%client, %reason);
|
||||
}
|
||||
};
|
||||
|
||||
function InfectionGame::spawnPlayer( %game, %client, %respawn ) {
|
||||
if($InfectionGame::NoRespawning) {
|
||||
CenterPrint(%client, "<color:FF0000>The Game is Currently in Intermission.",2,3);
|
||||
return;
|
||||
}
|
||||
|
||||
Parent::spawnPlayer( %game, %client, %respawn );
|
||||
}
|
||||
|
||||
|
||||
|
||||
$ZArmor[0, 1] = "Norm\t0\tNormal Zombie\tAbility: Jet Key To Lunge";
|
||||
$ZArmor[1, 1] = "Demon\t0\tDemon Zombie\tAbility: Jet Key To Throw Fireball";
|
||||
$ZArmor[2, 1] = "Lord\t1\tZombie Lord\tAbilities: Jet Key To Fire, Mine Key To Lift";
|
||||
|
||||
$ZArmor[0, 2] = "Norm\t0\tNormal Zombie\tAbility: Jet Key To Lunge";
|
||||
$ZArmor[1, 2] = "Rav\t0\tRavenger Zombie\tAbility: Jet Key To Speed Forward/Lunge";
|
||||
$ZArmor[2, 2] = "Lord\t0\tZombie Lord\tAbilities: Jet Key To Fire, Mine Key To Lift";
|
||||
$ZArmor[3, 2] = "Demon\t0\tDemon Zombie\tAbility: Jet Key To Throw Fireball";
|
||||
$ZArmor[4, 2] = "Rap\t1\tAir Rapier Zombie\tAbility: Jet Key Flies";
|
||||
|
||||
$ZArmor[0, 3] = "Norm\t0\tNormal Zombie\tAbility: Jet Key To Lunge";
|
||||
$ZArmor[1, 3] = "Rav\t0\tRavenger Zombie\tAbility: Jet Key To Speed Forward/Lunge";
|
||||
$ZArmor[2, 3] = "Lord\t0\tZombie Lord\tAbilities: Jet Key To Fire, Mine Key To Lift";
|
||||
$ZArmor[3, 3] = "Demon\t0\tDemon Zombie\tAbility: Jet Key To Throw Fireball";
|
||||
$ZArmor[4, 3] = "Rap\t0\tAir Rapier Zombie\tAbility: Jet Key Flies";
|
||||
$ZArmor[5, 3] = "VolRav\t0\tVolatile Ravenger Zombie\tAbility: Jet Key To Detonate C4";
|
||||
$ZArmor[6, 3] = "UDem\t1\tUltra Demon Zombie\tAbility: Jet Key To Fire, Mine To Charge Forward";
|
||||
$ZArmor[7, 3] = "Wraith\t1\tWraith Spec-Ops Zombie\tAbility: Jet Key To Charge, Armed with MP26-CMDO";
|
||||
|
||||
$ZArmor[0, 4] = "Norm\t0\tNormal Zombie\tAbility: Jet Key To Lunge";
|
||||
$ZArmor[1, 4] = "Rav\t0\tRavenger Zombie\tAbility: Jet Key To Speed Forward/Lunge";
|
||||
$ZArmor[2, 4] = "Lord\t0\tZombie Lord\tAbilities: Jet Key To Fire, Mine Key To Lift";
|
||||
$ZArmor[3, 4] = "Demon\t0\tDemon Zombie\tAbility: Jet Key To Throw Fireball";
|
||||
$ZArmor[4, 4] = "Rap\t0\tAir Rapier Zombie\tAbility: Jet Key Flies";
|
||||
$ZArmor[5, 4] = "VolRav\t0\tVolatile Ravenger Zombie\tAbility: Jet Key To Detonate C4";
|
||||
$ZArmor[6, 4] = "UDem\t0\tUltra Demon Zombie\tAbility: Jet Key To Fire, Mine To Charge Forward";
|
||||
$ZArmor[7, 4] = "Wraith\t0\tWraith Spec-Ops Zombie\tAbility: Jet Key To Charge, Armed with MP26-CMDO";
|
||||
$ZArmor[8, 4] = "Rog\t1\tGeneral Rog\tAbilities: Jet Key To fire zMG42, Shielded, Armed with BoV";
|
||||
|
||||
//Score Hud
|
||||
$ScoreHudMaxVisible = 19;
|
||||
function InfectionGame::updateScoreHud(%game, %client, %tag) {
|
||||
messageClient( %client, 'SetScoreHudHeader', "", "" );
|
||||
messageClient( %client, 'SetScoreHudHeader', "", "<a:gamelink\tGTP\t1>Infection - Command Hud</a><rmargin:600><just:right><a:gamelink\tNAC\t1>Close</a>" );
|
||||
messageClient( %client, 'SetScoreHudSubheader', "", "Infection Player Settings" );
|
||||
//The Menu
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Settings:");
|
||||
%index++;
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Zombie Armor [TIER "@$InfectionGame::ZombieTier@"]");
|
||||
%index++;
|
||||
%i = 0;
|
||||
while(isSet($ZArmor[%i, $InfectionGame::ZombieTier])) {
|
||||
%z = $ZArmor[%i, $InfectionGame::ZombieTier];
|
||||
if(getField(%z, 1) $= "1") {
|
||||
if($InfectionGame::IsAlpha[%client]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tSetZArmor\t"@getField(%z, 0)@"\t"@%i@">"@getField(%z, 2)@"</a> - "@getField(%z, 3));
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tSetZArmor\t"@getField(%z, 0)@"\t"@%i@">"@getField(%z, 2)@"</a> - "@getField(%z, 3));
|
||||
%index++;
|
||||
}
|
||||
%i++;
|
||||
}
|
||||
//end
|
||||
messageClient( %client, 'ClearHud', "", %tag, %index );
|
||||
}
|
||||
|
||||
function InfectionGame::processGameLink(%game, %client, %arg1, %arg2, %arg3, %arg4, %arg5){
|
||||
%tag = $TagToUseForScoreMenu;
|
||||
messageClient( %client, 'ClearHud', "", %tag, 1 );
|
||||
//Stuff
|
||||
if(%arg1 $= "")
|
||||
%arg1 = "Null";
|
||||
if(%arg2 $= "")
|
||||
%arg2 = "Null";
|
||||
if(%arg3 $= "")
|
||||
%arg3 = "Null";
|
||||
if(%arg4 $= "")
|
||||
%arg4 = "Null";
|
||||
if(%arg5 $= "")
|
||||
%arg5 = "Null";
|
||||
|
||||
echo("[F2] "@%client.namebase@": "@%arg1@", "@%arg2@", "@%arg3@", "@%arg4@", "@%arg5@".");
|
||||
switch$ (%arg1){
|
||||
case "NULL":
|
||||
echo("Null Arg");
|
||||
return;
|
||||
|
||||
case "GTP":
|
||||
%game.updateScoreHud(%client, %tag); //Infection Calls This
|
||||
%client.SCMPage = %arg2;
|
||||
return;
|
||||
|
||||
case "NAC":
|
||||
closeScoreHudFSERV(%client);
|
||||
return;
|
||||
|
||||
case "SetZArmor":
|
||||
echo("Set Z Armor");
|
||||
%armor = %arg2;
|
||||
|
||||
if(getField($ZArmor[%arg3, $InfectionGame::ZombieTier], 1) $= "1") {
|
||||
if(!$InfectionGame::IsAlpha[%client]) {
|
||||
MessageClient(%client, 'MsgNo', "\c5INFECTION: Alpha Zombie Status Required.");
|
||||
closeScoreHudFSERV(%client);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$InfectionGame::ClientZombie[%client] = %armor;
|
||||
MessageClient(%client, 'MsgNo', "\c5INFECTON: Zombie Armor Set To "@%armor@"");
|
||||
%game.updateScoreHud(%client, %tag); //Infection Calls This
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$InfectionGame::SpawnLocation["EngelamHimmel"] = "126.7 14.7 181";
|
||||
$InfectionGame::SpawnLocation["DerGott"] = "0.0299911 -3.61698 155";
|
||||
$InfectionGame::SpawnLocation["Strikers2"] = "-9.76935 149.965 105";
|
||||
$InfectionGame::SpawnLocation["Oasis2"] = "-70.435 -46.3061 116.136";
|
||||
$InfectionGame::SpawnLocation["MrykWood2"] = "-314 -7.5 103.543";
|
||||
$InfectionGame::SpawnLocation["Skyline"] = "-58.8556 -420.953 750.438";
|
||||
$InfectionGame::SpawnLocation["GeometricOrder"] = "-172.325 -396.557 159.9";
|
||||
322
scripts/JTLmeteorStorm.cs
Normal file
322
scripts/JTLmeteorStorm.cs
Normal file
|
|
@ -0,0 +1,322 @@
|
|||
// JTLmeteorStorm.cs
|
||||
//
|
||||
// This script (C) 2002 by JackTL
|
||||
//
|
||||
// Use, modify, but give credit
|
||||
//
|
||||
// Functions:
|
||||
//
|
||||
// JTLMeteorStorm(obj,forcePlayer[1/0],maxRad,numFb,dropAlt,dropAltVariance,dbName,dbType,timeOutMS,randomRot[1/0],randomPulse[1/0],maxPulse,speedVec,offsetSpeedVec[1/0])
|
||||
//
|
||||
|
||||
datablock ParticleData(JTLMeteorStormFireballParticle) {
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = -0.2;
|
||||
inheritedVelFactor = 0.0;
|
||||
|
||||
lifetimeMS = 700;
|
||||
lifetimeVarianceMS = 0;
|
||||
|
||||
textureName = "particleTest";
|
||||
|
||||
useInvAlpha = false;
|
||||
spinRandomMin = -160.0;
|
||||
spinRandomMax = 160.0;
|
||||
|
||||
animateTexture = true;
|
||||
framesPerSec = 15;
|
||||
|
||||
animTexName[0] = "special/Explosion/exp_0016";
|
||||
animTexName[1] = "special/Explosion/exp_0018";
|
||||
animTexName[2] = "special/Explosion/exp_0020";
|
||||
animTexName[3] = "special/Explosion/exp_0022";
|
||||
animTexName[4] = "special/Explosion/exp_0024";
|
||||
animTexName[5] = "special/Explosion/exp_0026";
|
||||
animTexName[6] = "special/Explosion/exp_0028";
|
||||
animTexName[7] = "special/Explosion/exp_0030";
|
||||
animTexName[8] = "special/Explosion/exp_0032";
|
||||
|
||||
colors[0] = "1.0 0.7 0.5 1.0";
|
||||
colors[1] = "1.0 0.5 0.2 1.0";
|
||||
colors[2] = "1.0 0.25 0.1 0.0";
|
||||
sizes[0] = 40.0;
|
||||
sizes[1] = 15.0;
|
||||
sizes[2] = 7.5;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.2;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(JTLMeteorStormFireballEmitter) {
|
||||
ejectionPeriodMS = 5;
|
||||
periodVarianceMS = 1;
|
||||
|
||||
ejectionVelocity = 0.25;
|
||||
velocityVariance = 0.0;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 30.0;
|
||||
|
||||
particles = "JTLMeteorStormFireballParticle";
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Explosion
|
||||
//--------------------------------------
|
||||
|
||||
datablock ParticleData(MetExplosionSmoke)
|
||||
{
|
||||
dragCoeffiecient = 0.4;
|
||||
gravityCoefficient = -0.30; // rises slowly
|
||||
inheritedVelFactor = 0.025;
|
||||
|
||||
lifetimeMS = 3500;
|
||||
lifetimeVarianceMS = 400;
|
||||
|
||||
useInvAlpha = true;
|
||||
spinRandomMin = -100.0;
|
||||
spinRandomMax = 100.0;
|
||||
|
||||
textureName = "special/Smoke/bigSmoke";
|
||||
|
||||
colors[0] = "0.7 0.7 0.7 1.0";
|
||||
colors[1] = "0.2 0.2 0.2 1.0";
|
||||
colors[2] = "0.2 0.2 0.2 1.0";
|
||||
colors[3] = "0.2 0.2 0.2 1.0";
|
||||
colors[4] = "0.1 0.1 0.1 0.0";
|
||||
colors[5] = "0.1 0.1 0.1 0.0";
|
||||
sizes[0] = 15.0;
|
||||
sizes[1] = 18.0;
|
||||
sizes[2] = 21.0;
|
||||
sizes[3] = 24.0;
|
||||
sizes[4] = 27.0;
|
||||
sizes[5] = 30.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.333;
|
||||
times[2] = 0.666;
|
||||
times[3] = 1.0;
|
||||
times[4] = 1.333;
|
||||
times[5] = 1.666;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(MetExplosionSmokeEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 2;
|
||||
periodVarianceMS = 0;
|
||||
|
||||
ejectionOffset = 10.0;
|
||||
|
||||
ejectionVelocity = 15.0;
|
||||
velocityVariance = 5.0;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 90.0;
|
||||
|
||||
lifetimeMS = 1500;
|
||||
|
||||
particles = "MetExplosionSmoke";
|
||||
};
|
||||
|
||||
datablock ShockwaveData(MetShockwave)
|
||||
{
|
||||
width = 30.0;
|
||||
numSegments = 32;
|
||||
numVertSegments = 6;
|
||||
velocity = 500;
|
||||
acceleration = 100.0;
|
||||
lifetimeMS = 500;
|
||||
height = 12.0;
|
||||
verticalCurve = 0.5;
|
||||
is2D = false;
|
||||
|
||||
texture[0] = "special/shockwave4";
|
||||
texture[1] = "special/gradient";
|
||||
texWrap = 6.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "0.4 1.0 0.4 0.50";
|
||||
colors[1] = "0.4 1.0 0.4 0.25";
|
||||
colors[2] = "0.4 1.0 0.4 0.0";
|
||||
|
||||
mapToTerrain = true;
|
||||
orientToNormal = false;
|
||||
renderBottom = false;
|
||||
};
|
||||
|
||||
datablock ExplosionData(MetSubExplosion)
|
||||
{
|
||||
explosionShape = "effect_plasma_explosion.dts";
|
||||
faceViewer = true;
|
||||
delayMS = 0;
|
||||
offset = 0.0;
|
||||
playSpeed = 0.15;
|
||||
|
||||
sizes[0] = "35.0 35.0 35.0";
|
||||
sizes[1] = "35.0 35.0 35.0";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.0;
|
||||
};
|
||||
|
||||
datablock ExplosionData(MetExplosion)
|
||||
{
|
||||
explosionShape = "effect_plasma_explosion.dts";
|
||||
soundProfile = plasmaExpSound;
|
||||
|
||||
particleEmitter = MetExplosionSmokeEmitter;
|
||||
|
||||
shockwave = MetShockwave;
|
||||
shockwaveOnTerrain = false;
|
||||
|
||||
subExplosion[0] = MetSubExplosion;
|
||||
particleDensity = 150;
|
||||
particleRadius = 1.25;
|
||||
faceViewer = true;
|
||||
|
||||
sizes[0] = "55.0 55.0 55.0";
|
||||
sizes[1] = "55.0 55.0 55.0";
|
||||
times[0] = 0.0;
|
||||
times[1] = 1.5;
|
||||
};
|
||||
|
||||
//---------------------------------------
|
||||
// Projectile
|
||||
//---------------------------------------
|
||||
|
||||
datablock GrenadeProjectileData(JTLMeteorStormFireball) {
|
||||
projectileShapeName = "plasmabolt.dts";
|
||||
scale = "40.0 40.0 40.0";
|
||||
emitterDelay = -1;
|
||||
directDamage = 0;
|
||||
directDamageType = $DamageType::Meteor;
|
||||
hasDamageRadius = true; // true;
|
||||
indirectDamage = 5; // 0.5;
|
||||
damageRadius = 150.0;
|
||||
radiusDamageType = $DamageType::Meteor;
|
||||
kickBackStrength = 5000;
|
||||
explosion = MetExplosion;
|
||||
splash = PlasmaSplash;
|
||||
baseEmitter = JTLMeteorStormFireballEmitter;
|
||||
armingDelayMS = 50;
|
||||
grenadeElasticity = 0.15;
|
||||
grenadeFriction = 0.4;
|
||||
drag = 0.1;
|
||||
gravityMod = 0.0;
|
||||
sound = GrenadeProjectileSound;
|
||||
|
||||
hasLight = true;
|
||||
lightRadius = 20.0;
|
||||
lightColor = "1 1 0.5";
|
||||
};
|
||||
|
||||
function JTLMeteorStormFireball::onExplode(%data,%proj,%pos,%mod) {
|
||||
// Ass-ume gravity does not change vec.. (gravityMod = 0.0) :P
|
||||
%vec = vectorNormalize(%proj.initialDirection);
|
||||
if (%data.hasDamageRadius)
|
||||
RadiusExplosion(%proj,vectorAdd(%pos,vectorScale(%vec,-0.1)),%data.damageRadius,%data.indirectDamage,%data.kickBackStrength,%proj.sourceObject,%data.radiusDamageType);
|
||||
%pPos = %proj.getPosition();
|
||||
%surface = containerRayCast(vectorAdd(%pPos,vectorScale(%vec,-0.1)),vectorAdd(%pPos,vectorScale(%vec,1)),-1,%proj);
|
||||
%tObj = firstWord(%surface);
|
||||
if (isObject(%tObj))
|
||||
%tObj.damage(%proj,%pPos,0.4,%proj.getDataBlock().directDamageType);
|
||||
// ionStormBeam(vectorAdd(%pPos,"0 0" SPC $IonStorm::Height));
|
||||
}
|
||||
|
||||
function JTLMeteorStorm (%obj,%forcePlayer,%maxRad,%numFb,%dropAlt,%dropAltVariance,%dbName,%dbType,%timeOutMS,%randomRot,%randomPulse,%maxPulse,%speedVec,%offsetSpeedVec,%createFB,%pos,%target) {
|
||||
%pi = 3.1415926535897932384626433832795; // Whoa..
|
||||
if (%createFB) {
|
||||
if (%randomRot)
|
||||
%rot = "0 0 1" SPC getRandom() * (%pi * 2);
|
||||
else
|
||||
%rot = "1 0 0 0";
|
||||
%fb = new (%dbType) (JTLMeteor) {
|
||||
dataBlock = %dbName;
|
||||
position = %pos; // Needed for non-projectile types
|
||||
initialPosition = %pos;
|
||||
initialDirection = %speedVec;
|
||||
// sourceObject = 0;
|
||||
sourceSlot = 0;
|
||||
vehicleObject = 0;
|
||||
};
|
||||
if (isObject(%target) && $JTLMeteorStormSeek == 1 && %dbType $= "SeekerProjectile")
|
||||
%fb.setObjectTarget(%target);
|
||||
%fb.setRotation(%rot);
|
||||
if (%randomPulse) {
|
||||
%pulse = getRandom() * %maxPulse;
|
||||
%iPos = vectorNormalize((getRandom() * 2) - 1 SPC (getRandom() * 2) - 1 SPC (getRandom() * 2) - 1);
|
||||
%iPos = vectorAdd(%pos,%iPos);
|
||||
%iVec = vectorScale(vectorNormalize(getRandom() SPC getRandom() SPC getRandom()),%pulse);
|
||||
// Fix this, not for projectiles
|
||||
%fb.applyImpulse(%iPos,%iVec);
|
||||
}
|
||||
if (%dbType $= "Item")
|
||||
%fb.setVelocity(%speedVec); // Needed for non-projectile types
|
||||
MissionCleanup.add(%fb);
|
||||
if (%timeOutMS) {
|
||||
%fb.schedule(%timeOutMS,setDamageState,Destroyed);
|
||||
%fb.schedule(%timeOutMS+1000,delete);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (%forcePlayer) {
|
||||
%obj = %obj.player;
|
||||
}
|
||||
else {
|
||||
if (%obj.getClassName() $= "GameConnection" || %obj.getClassName() $= "AIConnection") {
|
||||
%obj2 = %obj.getControlObject();
|
||||
if (isObject(%obj2))
|
||||
%obj = %obj2;
|
||||
}
|
||||
}
|
||||
|
||||
if (isObject(%obj)) {
|
||||
if (%maxRad < 1)
|
||||
%maxRad = 50;
|
||||
if (%numFb < 1)
|
||||
%numFb = 100;
|
||||
if (%dropAlt < 1)
|
||||
%dropAlt = 100;
|
||||
if (%dropAltVariance < 1)
|
||||
%dropAltVariance = 500;
|
||||
if (!isObject(%dbName))
|
||||
%dbName = "JTLMeteorStormFireball";
|
||||
if (%dbType $= "" || %dbType $= "0")
|
||||
%dbType = "GrenadeProjectile";
|
||||
if (%speedVec $= "" || %speedVec $= "0")
|
||||
%speedVec = "0 0 -2";
|
||||
if (%maxPulse < 1)
|
||||
%maxPulse = 4000;
|
||||
%p = %obj.getWorldBoxCenter();
|
||||
%x = getWord(%p,0);
|
||||
%y = getWord(%p,1);
|
||||
%z = getWord(%p,2);
|
||||
for (%i = 0; %i < %numFb; %i++) {
|
||||
%dVec = getRandom() * %pi * 2;
|
||||
%dRad = getRandom() * %maxRad;
|
||||
%dX =mSin(%dVec) * %dRad;
|
||||
%dY =mCos(%dVec) * %dRad;
|
||||
%dZ =%dropAlt + (getRandom() * %dropAltVariance);
|
||||
if (%offsetSpeedVec) {
|
||||
%v2 = vectorCross(vectorNormalize(%speedVec),"1 0 0");
|
||||
%v3 = vectorCross(vectorNormalize(%speedVec),%v2);
|
||||
%dPos = vectorAdd(%p,vectorScale(vectorNormalize(%speedVec),-%dZ));
|
||||
%dPos = vectorAdd(%dPos,vectorScale(%v2,%dX));
|
||||
%dPos = vectorAdd(%dPos,vectorScale(%v3,%dY));
|
||||
}
|
||||
else {
|
||||
%dX = %x + %dX;
|
||||
%dY = %y + %dY;
|
||||
%dZ = %z + %dZ;
|
||||
%dPos = %dX SPC %dY SPC %dZ;
|
||||
}
|
||||
JTLMeteorStorm(0,0,0,0,0,0,%dbName,%dbType,%timeOutMS,%randomRot,%randomPulse,%maxPulse,%speedVec,0,true,%dPos,%obj);
|
||||
}
|
||||
}
|
||||
else {
|
||||
error("-JTLMeteorStorm- no valid object.");
|
||||
error("Usage: JTLMeteorStorm(obj,forcePlayer[1/0],maxRad,numFb,dropAlt,dropAltVariance,dbName,dbType,timeOutMS,randomRot[1/0],randomPulse[1/0],maxPulse,speedVec,offsetSpeedVec[1/0])");
|
||||
}
|
||||
}
|
||||
2763
scripts/OptionsDlg.cs
Normal file
2763
scripts/OptionsDlg.cs
Normal file
File diff suppressed because it is too large
Load diff
406
scripts/RankStuff.cs
Normal file
406
scripts/RankStuff.cs
Normal file
|
|
@ -0,0 +1,406 @@
|
|||
//--------------------------------------------------
|
||||
//RANKS
|
||||
//--------------------------------------------------
|
||||
$Prestige::Name[0] = ""; //none!
|
||||
$Prestige::Name[1] = "Instructive ";
|
||||
$Prestige::Name[2] = "Excelling ";
|
||||
$Prestige::Name[3] = "Champion ";
|
||||
$Prestige::Name[4] = "Prestigious ";
|
||||
$Prestige::Name[5] = "Supreme ";
|
||||
$Prestige::Name[6] = "Glorious ";
|
||||
$Prestige::Name[7] = "Ultimate ";
|
||||
$Prestige::Name[8] = "Shadowing ";
|
||||
$Prestige::Name[9] = "Phantom ";
|
||||
$Prestige::Name[10] = "(*) Phantom ";
|
||||
|
||||
$Ranks::MinPoints[0] = 0;
|
||||
$Ranks::NewRank[0] = "Private";
|
||||
$Ranks::RankTag[0] = "[Pvt]";
|
||||
|
||||
$Ranks::MinPoints[1] = 25;
|
||||
$Ranks::NewRank[1] = "Private Grade I";
|
||||
$Ranks::RankTag[1] = "[Pvt1]";
|
||||
|
||||
$Ranks::MinPoints[2] = 50;
|
||||
$Ranks::NewRank[2] = "Private Grade II";
|
||||
$Ranks::RankTag[2] = "[Pvt2]";
|
||||
|
||||
$Ranks::MinPoints[3] = 100;
|
||||
$Ranks::NewRank[3] = "Private Grade III";
|
||||
$Ranks::RankTag[3] = "[Pvt3]";
|
||||
|
||||
$Ranks::MinPoints[4] = 150;
|
||||
$Ranks::NewRank[4] = "Gunnary Private";
|
||||
$Ranks::RankTag[4] = "[GPvt]";
|
||||
|
||||
$Ranks::MinPoints[5] = 200;
|
||||
$Ranks::NewRank[5] = "Gunnary Private Grade I";
|
||||
$Ranks::RankTag[5] = "[GPvt1]";
|
||||
|
||||
$Ranks::MinPoints[6] = 250;
|
||||
$Ranks::NewRank[6] = "Gunnary Private Grade II";
|
||||
$Ranks::RankTag[6] = "[GPvt2]";
|
||||
|
||||
$Ranks::MinPoints[7] = 300;
|
||||
$Ranks::NewRank[7] = "Gunnary Private Grade III";
|
||||
$Ranks::RankTag[7] = "[GPvt3]";
|
||||
|
||||
$Ranks::MinPoints[8] = 400;
|
||||
$Ranks::NewRank[8] = "Corporal";
|
||||
$Ranks::RankTag[8] = "[Cpl]";
|
||||
|
||||
$Ranks::MinPoints[9] = 500;
|
||||
$Ranks::NewRank[9] = "Corporal Grade I";
|
||||
$Ranks::RankTag[9] = "[Cpl1]";
|
||||
|
||||
$Ranks::MinPoints[10] = 600;
|
||||
$Ranks::NewRank[10] = "Corporal Grade II";
|
||||
$Ranks::RankTag[10] = "[Cpl2]";
|
||||
|
||||
$Ranks::MinPoints[11] = 700;
|
||||
$Ranks::NewRank[11] = "Corporal Grade III";
|
||||
$Ranks::RankTag[11] = "[Cpl3]";
|
||||
|
||||
$Ranks::MinPoints[12] = 900;
|
||||
$Ranks::NewRank[12] = "Corporal Grade IV";
|
||||
$Ranks::RankTag[12] = "[Cpl4]";
|
||||
|
||||
$Ranks::MinPoints[13] = 1150;
|
||||
$Ranks::NewRank[13] = "Sergeant";
|
||||
$Ranks::RankTag[13] = "[Sgt]";
|
||||
|
||||
$Ranks::MinPoints[14] = 1400;
|
||||
$Ranks::NewRank[14] = "Sergeant Grade I";
|
||||
$Ranks::RankTag[14] = "[Sgt1]";
|
||||
|
||||
$Ranks::MinPoints[15] = 1700;
|
||||
$Ranks::NewRank[15] = "Sergeant Grade II";
|
||||
$Ranks::RankTag[15] = "[Sgt2]";
|
||||
|
||||
$Ranks::MinPoints[16] = 2000;
|
||||
$Ranks::NewRank[16] = "Sergeant Grade III";
|
||||
$Ranks::RankTag[16] = "[Sgt3]";
|
||||
|
||||
$Ranks::MinPoints[17] = 2500;
|
||||
$Ranks::NewRank[17] = "Sergeant Grade IV";
|
||||
$Ranks::RankTag[17] = "[Sgt4]";
|
||||
|
||||
$Ranks::MinPoints[18] = 3000;
|
||||
$Ranks::NewRank[18] = "Gunnary Sergeant";
|
||||
$Ranks::RankTag[18] = "[GSgt]";
|
||||
|
||||
$Ranks::MinPoints[19] = 3500;
|
||||
$Ranks::NewRank[19] = "Gunnary Sergeant Grade I";
|
||||
$Ranks::RankTag[19] = "[GSgt1]";
|
||||
|
||||
$Ranks::MinPoints[20] = 4000;
|
||||
$Ranks::NewRank[20] = "Gunnary Sergeant Grade II";
|
||||
$Ranks::RankTag[20] = "[GSgt2]";
|
||||
|
||||
$Ranks::MinPoints[21] = 4500;
|
||||
$Ranks::NewRank[21] = "Gunnary Sergeant Grade III";
|
||||
$Ranks::RankTag[21] = "[GSgt3]";
|
||||
|
||||
$Ranks::MinPoints[22] = 5000;
|
||||
$Ranks::NewRank[22] = "Gunnary Sergeant Grade IV";
|
||||
$Ranks::RankTag[22] = "[GSgt4]";
|
||||
|
||||
$Ranks::MinPoints[23] = 6000;
|
||||
$Ranks::NewRank[23] = "Lieutenant";
|
||||
$Ranks::RankTag[23] = "[Lt]";
|
||||
|
||||
$Ranks::MinPoints[24] = 7000;
|
||||
$Ranks::NewRank[24] = "Lieutenant Grade I";
|
||||
$Ranks::RankTag[24] = "[Lt1]";
|
||||
|
||||
$Ranks::MinPoints[25] = 8000;
|
||||
$Ranks::NewRank[25] = "Lieutenant Grade II";
|
||||
$Ranks::RankTag[25] = "[Lt2]";
|
||||
|
||||
$Ranks::MinPoints[26] = 9000;
|
||||
$Ranks::NewRank[26] = "Lieutenant Grade III";
|
||||
$Ranks::RankTag[26] = "[Lt3]";
|
||||
|
||||
$Ranks::MinPoints[27] = 10000;
|
||||
$Ranks::NewRank[27] = "Lieutenant Grade IV";
|
||||
$Ranks::RankTag[27] = "[Lt4]";
|
||||
|
||||
$Ranks::MinPoints[28] = 12500;
|
||||
$Ranks::NewRank[28] = "Captain";
|
||||
$Ranks::RankTag[28] = "[Cpt]";
|
||||
|
||||
$Ranks::MinPoints[29] = 15000;
|
||||
$Ranks::NewRank[29] = "Captain Grade I";
|
||||
$Ranks::RankTag[29] = "[Cpt1]";
|
||||
|
||||
$Ranks::MinPoints[30] = 20000;
|
||||
$Ranks::NewRank[30] = "Captain Grade II";
|
||||
$Ranks::RankTag[30] = "[Cpt2]";
|
||||
|
||||
$Ranks::MinPoints[31] = 25000;
|
||||
$Ranks::NewRank[31] = "Captain Grade III";
|
||||
$Ranks::RankTag[31] = "[Cpt3]";
|
||||
|
||||
$Ranks::MinPoints[32] = 30000;
|
||||
$Ranks::NewRank[32] = "Major";
|
||||
$Ranks::RankTag[32] = "[Maj]";
|
||||
|
||||
$Ranks::MinPoints[33] = 37500;
|
||||
$Ranks::NewRank[33] = "Major Grade I";
|
||||
$Ranks::RankTag[33] = "[Maj1]";
|
||||
|
||||
$Ranks::MinPoints[34] = 45000;
|
||||
$Ranks::NewRank[34] = "Major Grade II";
|
||||
$Ranks::RankTag[34] = "[Maj2]";
|
||||
|
||||
$Ranks::MinPoints[35] = 52500;
|
||||
$Ranks::NewRank[35] = "Major Grade III";
|
||||
$Ranks::RankTag[35] = "[Maj3]";
|
||||
|
||||
$Ranks::MinPoints[36] = 60000;
|
||||
$Ranks::NewRank[36] = "Lieutenant Colonel";
|
||||
$Ranks::RankTag[36] = "[LCol]";
|
||||
|
||||
$Ranks::MinPoints[37] = 70000;
|
||||
$Ranks::NewRank[37] = "Lieutenant Colonel Grade I";
|
||||
$Ranks::RankTag[37] = "[LCol1]";
|
||||
|
||||
$Ranks::MinPoints[38] = 80000;
|
||||
$Ranks::NewRank[38] = "Lieutenant Colonel Grade II";
|
||||
$Ranks::RankTag[38] = "[LCol2]";
|
||||
|
||||
$Ranks::MinPoints[39] = 90000;
|
||||
$Ranks::NewRank[39] = "Lieutenant Colonel Grade III";
|
||||
$Ranks::RankTag[39] = "[LCol3]";
|
||||
|
||||
$Ranks::MinPoints[40] = 100000;
|
||||
$Ranks::NewRank[40] = "Colonel";
|
||||
$Ranks::RankTag[40] = "[Col]";
|
||||
|
||||
$Ranks::MinPoints[41] = 125000;
|
||||
$Ranks::NewRank[41] = "Colonel Grade I";
|
||||
$Ranks::RankTag[41] = "[Col1]";
|
||||
|
||||
$Ranks::MinPoints[42] = 150000;
|
||||
$Ranks::NewRank[42] = "Colonel Grade II";
|
||||
$Ranks::RankTag[42] = "[Col2]";
|
||||
|
||||
$Ranks::MinPoints[43] = 175000;
|
||||
$Ranks::NewRank[43] = "Brigadier";
|
||||
$Ranks::RankTag[43] = "[Bri]";
|
||||
|
||||
$Ranks::MinPoints[44] = 200000;
|
||||
$Ranks::NewRank[44] = "Brigadier Grade I";
|
||||
$Ranks::RankTag[44] = "[Bri1]";
|
||||
|
||||
$Ranks::MinPoints[45] = 250000;
|
||||
$Ranks::NewRank[45] = "Brigadier Grade II";
|
||||
$Ranks::RankTag[45] = "[Bri2]";
|
||||
|
||||
$Ranks::MinPoints[46] = 300000;
|
||||
$Ranks::NewRank[46] = "Brigadier General";
|
||||
$Ranks::RankTag[46] = "[BriGn]";
|
||||
|
||||
$Ranks::MinPoints[47] = 350000;
|
||||
$Ranks::NewRank[47] = "Brigadier General I";
|
||||
$Ranks::RankTag[47] = "[BriGn1]";
|
||||
|
||||
$Ranks::MinPoints[48] = 425000;
|
||||
$Ranks::NewRank[48] = "Brigadier General II";
|
||||
$Ranks::RankTag[48] = "[BriGn2]";
|
||||
|
||||
$Ranks::MinPoints[49] = 500000;
|
||||
$Ranks::NewRank[49] = "General";
|
||||
$Ranks::RankTag[49] = "[Gen]";
|
||||
|
||||
$Ranks::MinPoints[50] = 575000;
|
||||
$Ranks::NewRank[50] = "2 Star General";
|
||||
$Ranks::RankTag[50] = "[2Gen]";
|
||||
|
||||
$Ranks::MinPoints[51] = 650000;
|
||||
$Ranks::NewRank[51] = "3 Star General";
|
||||
$Ranks::RankTag[51] = "[3Gen]";
|
||||
|
||||
$Ranks::MinPoints[52] = 800000;
|
||||
$Ranks::NewRank[52] = "4 Star General";
|
||||
$Ranks::RankTag[52] = "[4Gen]";
|
||||
|
||||
$Ranks::MinPoints[53] = 1000000;
|
||||
$Ranks::NewRank[53] = "5 Star General";
|
||||
$Ranks::RankTag[53] = "[5Gen]";
|
||||
|
||||
$Ranks::MinPoints[54] = 1250000;
|
||||
$Ranks::NewRank[54] = "Master General";
|
||||
$Ranks::RankTag[54] = "[MGen]";
|
||||
|
||||
$Ranks::MinPoints[55] = 1500000;
|
||||
$Ranks::NewRank[55] = "Master General I";
|
||||
$Ranks::RankTag[55] = "[MGen1]";
|
||||
|
||||
$Ranks::MinPoints[56] = 1750000;
|
||||
$Ranks::NewRank[56] = "Master General II";
|
||||
$Ranks::RankTag[56] = "[MGen2]";
|
||||
|
||||
$Ranks::MinPoints[57] = 2000000;
|
||||
$Ranks::NewRank[57] = "Commanding General";
|
||||
$Ranks::RankTag[57] = "[ComGen]";
|
||||
|
||||
$Ranks::MinPoints[58] = 2250000;
|
||||
$Ranks::NewRank[58] = "Fleet Commander";
|
||||
$Ranks::RankTag[58] = "[FltCom]";
|
||||
|
||||
$Ranks::MinPoints[59] = 2500000;
|
||||
$Ranks::NewRank[59] = "Commanding Officer";
|
||||
$Ranks::RankTag[59] = "[ComOcr]";
|
||||
|
||||
$Ranks::MinPoints[60] = 2750000;
|
||||
$Ranks::NewRank[60] = "Commander";
|
||||
$Ranks::RankTag[60] = "[Cmdr]";
|
||||
|
||||
$Ranks::MinPoints[61] = 3000000;
|
||||
$Ranks::NewRank[61] = "Master Commander";
|
||||
$Ranks::RankTag[61] = "[MCmdr]";
|
||||
$Rank::RankCount = 61;
|
||||
$canRecalcTop5 = 1;
|
||||
|
||||
//--------------------------------------
|
||||
//Misc
|
||||
//--------------------------------------
|
||||
|
||||
function getNumberOfWords(%path){
|
||||
%number = 0;
|
||||
for(%i = 0; %i < 1000; %i++){
|
||||
if(getWord(%path,%i) !$= "")
|
||||
%number++;
|
||||
else
|
||||
return %number;
|
||||
}
|
||||
}
|
||||
|
||||
//TOP RANKS
|
||||
function findTopRanks() {
|
||||
%server = ""@$PGDServer@":"@$PGDPort@"";
|
||||
%filename = "/public/Univ/Ranks/TWM2/top.php";
|
||||
if (!isObject(Top_Rank_Grab)) {
|
||||
%Downloader = new HTTPObject(Top_Rank_Grab){};
|
||||
}
|
||||
else {
|
||||
%Downloader = Top_Rank_Grab;
|
||||
}
|
||||
$TopRanks::LineCount = 0;
|
||||
//If the server crashes here, let everyone know why
|
||||
MessageAll('MsgAdminForce', "\c5SERVER: Downloading Top Ranks, Possible Lag.");
|
||||
%Downloader.get(%server, %filename);
|
||||
%Downloader.schedule(10000, 0, "Disconnect");
|
||||
}
|
||||
|
||||
function Top_Rank_Grab::onLine(%this, %line) {
|
||||
%strPos = strStr(%line, " Registered Players*");
|
||||
%star1 = strStr(%line, "*");
|
||||
if(%this.count !$= "") {
|
||||
$TopRanks::LineCount++;
|
||||
$TopRanks::Line[$TopRanks::LineCount] = %line;
|
||||
}
|
||||
if(%strPos != -1 && %star1 != -1) {
|
||||
%this.count = getSubStr(%line, %star1+1, %strPos-(%star1+1));
|
||||
}
|
||||
}
|
||||
|
||||
function Top_Rank_Grab::onConnectFailed(%this) {
|
||||
error("-- Could not connect to PGD.");
|
||||
error("Top Rank Download: fail (connection)");
|
||||
}
|
||||
|
||||
function Top_Rank_Grab::onDisconnect(%this) {
|
||||
echo("Top Rank Download: OK, "@%this.count@" ranks");
|
||||
SortTopRanks(%this);
|
||||
%this.delete();
|
||||
}
|
||||
|
||||
function SortTopRanks(%dlOBJ) {
|
||||
for(%i = 1; %i <= %dlOBJ.count; %i++) {
|
||||
%line = $TopRanks::Line[%i];
|
||||
//First, lets gather out the rank
|
||||
%RankName1 = strStr(%line, "title=\"");
|
||||
%RankName2 = strStr(%line, "width=") - 2;
|
||||
%RankName = getSubStr(%line, (%rankName1+7), (%rankName2-(%rankName1+7)));
|
||||
//Second, lets get the name and guid
|
||||
//GUID is not currently used, but hey, we may need it one day
|
||||
%GUID1 = strStr(%line, "guid=") + 5;
|
||||
%GUID2 = strStr(%line, "guid=") + 12;
|
||||
%GUID = getSubStr(%line, (%GUID1), (%GUID2-(%GUID1)));
|
||||
//
|
||||
%PlayerName1 = strStr(%line, "guid=") + 12;
|
||||
%PlayerName2 = strStr(%line, "</a>") - 1;
|
||||
%PlayerName = getSubStr(%line, (%PlayerName1)+1, (%PlayerName2-(%PlayerName1)));
|
||||
//Third, lets gather out the EXP
|
||||
%EXP1 = strStr(%line, "</a>:") + 5;
|
||||
%EXP2 = strStr(%line, "<p>") - 4;
|
||||
%EXP = getSubStr(%line, (%EXP1), (%EXP2-(%EXP1)));
|
||||
%EXP = Trim(stripChars(%EXP, ","));
|
||||
//Lastly, lets sort the needed data
|
||||
%rPos = %i;
|
||||
$Rank::Top[%i] = ""@%PlayerName@"";
|
||||
$Rank::TopXP[%i] = %EXP;
|
||||
$Rank::TopRank[%i] = ""@%RankName@"";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function DoNameChangeChecks(%client) {
|
||||
if(!$TWM2::UseRankTags) {
|
||||
CheckGUID(%client);
|
||||
return;
|
||||
}
|
||||
%stillLooking = 1;
|
||||
%sO = %client.TWM2Core;
|
||||
//Obtain the rank number
|
||||
if(%sO.rankNumber $= "") {
|
||||
for(%j = 0; %j <= $Rank::RankCount; %j++) {
|
||||
if(%stillLooking) {
|
||||
if(getCurrentEXP(%client) >= $Ranks::MinPoints[%j]) {
|
||||
%sO.rankNumber = %j;
|
||||
}
|
||||
else {
|
||||
%stillLooking = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
%tag = $Ranks::RankTag[%sO.rankNumber];
|
||||
//
|
||||
%name = "\cp\c9" @ %tag @ "\c6" @ %client.namebase @ "\co";
|
||||
MessageAll( 'MsgClientNameChanged', "", %client.name, %name, %client );
|
||||
removeTaggedString(%client.name);
|
||||
%client.name = addTaggedString(%name);
|
||||
setTargetName(%client.target, %client.name);
|
||||
}
|
||||
638
scripts/SabotageGame.cs
Normal file
638
scripts/SabotageGame.cs
Normal file
|
|
@ -0,0 +1,638 @@
|
|||
// DisplayName = Sabotage
|
||||
|
||||
//--- GAME RULES BEGIN ---
|
||||
// Secure The Bomb
|
||||
// Destroy The Enemy Objective With The Bomb
|
||||
// Protect Your Objective From The Bomb
|
||||
//--- GAME RULES END ---
|
||||
|
||||
$SaboGame::Rounds = 5;
|
||||
$Sabotage::ArmTime = 3;
|
||||
$Sabotage::DefuseTime = 10;
|
||||
$Sabotage::Fuse = 25;
|
||||
|
||||
datablock StaticShapeData(SabotageObjective) {
|
||||
className = "StaticShape";
|
||||
shapeFile = "stackable2m.dts";
|
||||
|
||||
maxDamage = 0.5;
|
||||
destroyedLevel = 0.5;
|
||||
disabledLevel = 0.3;
|
||||
|
||||
explosion = HandGrenadeExplosion;
|
||||
expDmgRadius = 1.0;
|
||||
expDamage = 0.05;
|
||||
expImpulse = 200;
|
||||
dynamicType = $TypeMasks::StaticShapeObjectType;
|
||||
deployedObject = true;
|
||||
|
||||
cmdCategory = "DSupport";
|
||||
cmdIcon = CMDSensorIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_deploymotionsensor";
|
||||
targetNameTag = '[Sabotage] Objective';
|
||||
|
||||
deployAmbientThread = true;
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = DeployableDebris;
|
||||
heatSignature = 0;
|
||||
needsPower = true;
|
||||
};
|
||||
|
||||
datablock ItemData(SabotageBomb) {
|
||||
catagory = "Objectives";
|
||||
shapefile = "stackable2s.dts";
|
||||
mass = 1;
|
||||
elasticity = 0.2;
|
||||
friction = 0.6;
|
||||
pickupRadius = 3;
|
||||
pickUpName = "a Bomb";
|
||||
computeCRC = true;
|
||||
|
||||
lightType = "PulsingLight";
|
||||
lightColor = "0.5 0.5 0.5 1.0";
|
||||
lightTime = "1000";
|
||||
lightRadius = "3";
|
||||
|
||||
isInvincible = true;
|
||||
cmdCategory = "Objectives";
|
||||
cmdIcon = CMDFlagIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_flag_grey";
|
||||
targetTypeTag = 'Bomb';
|
||||
};
|
||||
|
||||
function SabotageBomb::onCollision(%data,%obj,%col) {
|
||||
if (%col.getDataBlock().className $= Armor && !%col.client.isJailed) {
|
||||
if (%col.isMounted())
|
||||
return;
|
||||
|
||||
// a player hit the flag
|
||||
Game.playerTouchBomb(%col, %obj);
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::playerTouchBomb(%game, %player, %bomb) {
|
||||
if(%player.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
if(%bomb.isArmed) {
|
||||
|
||||
}
|
||||
else {
|
||||
cancel(%bomb.resetTime);
|
||||
messageClient(%player.client, 'MsgYouHasBomb', "\c5SABOTAGE: You have the BOMB, Destroy The Objective");
|
||||
%bomb.Carrier = %player;
|
||||
%bomb.hide(true);
|
||||
%bomb.startFade(0, 0, false);
|
||||
if(%player.team == 1) {
|
||||
%enemyTeam = 2;
|
||||
}
|
||||
else {
|
||||
%enemyTeam = 1;
|
||||
}
|
||||
%game.ObjectiveScan(%player, %enemyTeam);
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::CheckForDisarm(%game, %bomb) {
|
||||
InitContainerRadiusSearch(%bomb.getPosition(), 25, $TypeMasks::PlayerObjectType);
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0) {
|
||||
if(%potentialTarget.team != %bomb.ArmTeam) {
|
||||
if(%bomb.BeingDisarmed) {
|
||||
return;
|
||||
}
|
||||
%bomb.BeingDisarmed = 1;
|
||||
%game.StartDisarm(%potentialTarget, %bomb, 0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
%game.schedule(500, "CheckForDisarm", %bomb);
|
||||
}
|
||||
|
||||
function SabotageGame::ObjectiveScan(%game, %carrier, %enemyTeam) {
|
||||
if(!isObject(%carrier) || %carrier.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
%EnemyObj = %game.TeamObjective[%enemyTeam];
|
||||
if(vectorDist(%carrier.getPosition(), %EnemyObj.getPosition()) <= 5) {
|
||||
%game.ArmBomb(%carrier, %game.bomb, %enemyTeam, 0);
|
||||
return;
|
||||
}
|
||||
%game.schedule(500, "ObjectiveScan", %carrier, %enemyTeam);
|
||||
}
|
||||
|
||||
function SabotageGame::ArmBomb(%game, %carrier, %bomb, %ETeam, %ct) {
|
||||
if(!isObject(%carrier) || %carrier.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
%EnemyObj = %game.TeamObjective[%ETeam];
|
||||
if(vectorDist(%carrier.getPosition(), %EnemyObj.getPosition()) > 12) {
|
||||
%game.schedule(500, "ObjectiveScan", %carrier, %ETeam);
|
||||
}
|
||||
else {
|
||||
BottomPrint(%carrier.client, "ARMING BOMB "@MFloor(%ct)@" / "@$Sabotage::ArmTime*2@"", 1, 2);
|
||||
//Still In Range, Keep Armin
|
||||
%ct++;
|
||||
//7 Seconds To Arm!
|
||||
if(%ct >= $Sabotage::ArmTime*2) {
|
||||
%bomb.armTeam = %carrier.team;
|
||||
recordAction(%carrier, "BOMBARM");
|
||||
%game.BombDropped(%bomb, %Carrier); //drop the bomb, cause it's armedz
|
||||
MessageAll('MsgBombArmed', "\c5SABOTAGE: The Bomb Has Been Planted!!!");
|
||||
CompleteNWChallenge(%Carrier, "BombPlanted");
|
||||
%game.BombBegin(%bomb, %ETeam, 0);
|
||||
}
|
||||
else {
|
||||
%game.schedule(500, "ArmBomb", %carrier, %bomb, %ETeam, %ct);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::StartDisarm(%game, %player, %bomb, %ct) {
|
||||
if(%Player.getState() $= "dead") {
|
||||
%bomb.BeingDisarmed = 0;
|
||||
%game.CheckForDisarm(%bomb);
|
||||
return;
|
||||
}
|
||||
if(!%bomb.BeingDisarmed) {
|
||||
%game.CheckForDisarm(%bomb);
|
||||
return;
|
||||
}
|
||||
if(vectorDist(%player.getPosition(), %bomb.getPosition()) <= 7) {
|
||||
%ct++;
|
||||
BottomPrint(%player.client, "DISARMING BOMB "@MFloor(2)@" / "@$Sabotage::DefuseTime*2@"", 1, 2);
|
||||
if(%ct >= $Sabotage::DefuseTime*2) {
|
||||
cancel(%bomb.DetSchedule);
|
||||
%bomb.isArmed = 0;
|
||||
%bomb.BeingDisarmed = 0;
|
||||
%game.playerTouchBomb(%player, %bomb);
|
||||
messageAll('MsgSPCurrentObjective2', "", "Disarmed");
|
||||
recordAction(%player.client, "BOMBDIS");
|
||||
MessageAll('MsgBombArmed', "\c5SABOTAGE: The Bomb Has Been Disarmed!!!");
|
||||
CompleteNWChallenge(%player.client, "BombDisarmed");
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%game.schedule(500, "StartDisarm", %player, %bomb, %ct);
|
||||
}
|
||||
}
|
||||
else {
|
||||
%game.CheckForDisarm(%bomb);
|
||||
%bomb.BeingDisarmed = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::BombBegin(%game, %bomb, %ETeam, %ct) {
|
||||
%bomb.isArmed = 1;
|
||||
%game.CheckForDisarm(%bomb);
|
||||
%ct++;
|
||||
messageAll('MsgSPCurrentObjective2', "", "Fuse Time: "@MFloor(%ct/2)@"/"@$Sabotage::Fuse@"");
|
||||
if(%ct > $Sabotage::Fuse*2) {
|
||||
%game.BombExplode(%bomb, %ETeam);
|
||||
}
|
||||
else {
|
||||
%bomb.DetSchedule = %game.schedule(500, "BombBegin", %bomb, %ETeam, %ct);
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::BombExplode(%game, %bomb, %ETeam) {
|
||||
$teamScore[%bomb.armTeam] += 10000; //HA!
|
||||
$TeamWins[%bomb.armTeam]++;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.team == %bomb.armTeam) {
|
||||
recordAction(%cl, "SABWIN");
|
||||
switch($TeamWins[%bomb.armTeam]) {
|
||||
case 1:
|
||||
CompleteNWChallenge(%cl, "BombDetonated");
|
||||
case 3:
|
||||
CompleteNWChallenge(%cl, "3For5Sabo");
|
||||
case 5:
|
||||
CompleteNWChallenge(%cl, "BaseDestroyer");
|
||||
}
|
||||
}
|
||||
}
|
||||
//Boom :)
|
||||
ServerPlay3D("SatchelChargeExplosionSound", %bomb.getPosition());
|
||||
%c4 = new Item() {
|
||||
datablock = C4Deployed;
|
||||
position = %bomb.getPosition();
|
||||
scale = ".1 .1 .1";
|
||||
};
|
||||
MissionCleanup.add(%c4);
|
||||
schedule(770, 0, "C4GoBoom", %c4);
|
||||
//
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player)) {
|
||||
// %cl.player.clearInventory(); //auto UE
|
||||
if(%cl.team != %bomb.armTeam) {
|
||||
%cl.player.setDamageFlash(100);
|
||||
}
|
||||
}
|
||||
if(%cl.team != %bomb.armTeam) {
|
||||
messageClient(%cl, 'MsgYouHasBomb', "\c5SABOTAGE: We have been defeated... try harder next time...");
|
||||
}
|
||||
else {
|
||||
messageClient(%cl, 'MsgYouHasBomb', "\c5SABOTAGE: Mission acomplished, great work soldiers. (+250XP)");
|
||||
%cl.xp += 250;
|
||||
UpdateClientRank(%cl);
|
||||
}
|
||||
}
|
||||
%game.Intermit();
|
||||
}
|
||||
|
||||
function SabotageGame::ResetBomb(%game, %bomb) {
|
||||
MessageAll('msgWhoops', "\c5SABOTAGE: Bomb Reset.");
|
||||
%bomb.setPosition($SabotageGame::BombLocation[$CurrentMission]);
|
||||
}
|
||||
|
||||
function SabotageGame::BombDropped(%game, %bomb, %Carrier) {
|
||||
if(!%bomb.IsArmed) {
|
||||
%bomb.resetTime = %game.schedule(45000,"ResetBomb", %bomb);
|
||||
}
|
||||
%bomb.setPosition(%Carrier.getPosition()); //I think the game does this
|
||||
%bomb.Carrier = 0; //But this is just to be safe
|
||||
%bomb.hide(false);
|
||||
}
|
||||
|
||||
function SabotageGame::UpdateBombStatus(%game, %bomb) {
|
||||
if(%bomb.Carrier == 0 && !%bomb.isArmed) {
|
||||
%wp = new WayPoint() {
|
||||
position = %bomb.getWorldBoxCenter();
|
||||
dataBlock = "WayPointMarker";
|
||||
team = 0;
|
||||
name = "BOMB";
|
||||
};
|
||||
messageAll('MsgSPCurrentObjective1', "", "Bomb: Neutral");
|
||||
MissionCleanup.add(%wp);
|
||||
%wp.schedule(2999,delete);
|
||||
}
|
||||
else if(%bomb.isArmed) {
|
||||
%wp = new WayPoint() {
|
||||
position = %bomb.getWorldBoxCenter();
|
||||
dataBlock = "WayPointMarker";
|
||||
team = %bomb.armTeam;
|
||||
name = "ARMED BOMB";
|
||||
};
|
||||
messageAll('MsgSPCurrentObjective1', "", "Bomb: Armed");
|
||||
MissionCleanup.add(%wp);
|
||||
%wp.schedule(2999,delete);
|
||||
}
|
||||
else {
|
||||
if(!%bomb.Carrier.client.IsActivePerk("Bomb Shadower")) {
|
||||
%wp = new WayPoint() {
|
||||
position = %bomb.Carrier.getWorldBoxCenter();
|
||||
dataBlock = "WayPointMarker";
|
||||
team = %bomb.Carrier.Team;
|
||||
name = ""@%bomb.Carrier.client.namebase@" - BOMB";
|
||||
};
|
||||
messageAll('MsgSPCurrentObjective1', "", "Bomb: "@%bomb.carrier.client.namebase@"");
|
||||
MissionCleanup.add(%wp);
|
||||
%wp.schedule(2999,delete);
|
||||
}
|
||||
else {
|
||||
messageAll('MsgSPCurrentObjective1', "", "Bomb: Shadowed By Carrier");
|
||||
}
|
||||
}
|
||||
%game.schedule(3000, "UpdateBombStatus", %bomb);
|
||||
}
|
||||
|
||||
function SabotageGame::AIInit(%game) {
|
||||
//call the default AIInit() function
|
||||
AIInit();
|
||||
}
|
||||
|
||||
function SabotageGame::allowsProtectedStatics(%game) {
|
||||
return true;
|
||||
}
|
||||
|
||||
function SabotageGame::clientMissionDropReady(%game, %client) {
|
||||
messageClient(%client, 'MsgMissionDropInfo', '\c0You are in mission %1 (%2).', $MissionDisplayName, $MissionTypeDisplayName, $ServerName );
|
||||
messageClient(%client, 'MsgClientReady',"", "SinglePlayerGame");
|
||||
DefaultGame::clientMissionDropReady(%game, %client);
|
||||
}
|
||||
|
||||
function SabotageGame::onAIRespawn(%game, %client) {
|
||||
//add the default task
|
||||
if (!%client.defaultTasksAdded) {
|
||||
%client.defaultTasksAdded = true;
|
||||
%client.addTask(AIPickupItemTask);
|
||||
%client.addTask(AIUseInventoryTask);
|
||||
%client.addTask(AITauntCorpseTask);
|
||||
%client.addTask(AIEngageTurretTask);
|
||||
%client.addTask(AIDetectMineTask);
|
||||
%client.addTask(AIBountyPatrolTask);
|
||||
%client.bountyTask = %client.addTask(AIBountyEngageTask);
|
||||
}
|
||||
|
||||
//set the inv flag
|
||||
%client.spawnUseInv = true;
|
||||
}
|
||||
|
||||
function SabotageGame::updateKillScores(%game, %clVictim, %clKiller, %damageType, %implement) {
|
||||
if (%game.testKill(%clVictim, %clKiller)) { //verify victim was an enemy
|
||||
%game.awardScoreKill(%clKiller);
|
||||
%game.awardScoreDeath(%clVictim);
|
||||
}
|
||||
else if (%game.testSuicide(%clVictim, %clKiller, %damageType)) //otherwise test for suicide
|
||||
%game.awardScoreSuicide(%clVictim);
|
||||
}
|
||||
|
||||
function SabotageGame::timeLimitReached(%game) {
|
||||
logEcho("game over (timelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function SabotageGame::scoreLimitReached(%game) {
|
||||
logEcho("game over (scorelimit)");
|
||||
%game.gameOver();
|
||||
cycleMissions();
|
||||
}
|
||||
|
||||
function SabotageGame::gameOver(%game) {
|
||||
//call the default
|
||||
DefaultGame::gameOver(%game);
|
||||
$TWM2::PlayingSabo = 0;
|
||||
$FissionEndsGame = 0;
|
||||
|
||||
$Ion::StopIon = 0;
|
||||
|
||||
$TeamWins[1] = 0;
|
||||
$TeamWins[2] = 0;
|
||||
|
||||
//send the winner message
|
||||
%winner = "";
|
||||
if ($teamScore[1] > $teamScore[2])
|
||||
%winner = %game.getTeamName(1);
|
||||
else if ($teamScore[2] > $teamScore[1])
|
||||
%winner = %game.getTeamName(2);
|
||||
|
||||
if (%winner $= 'Storm')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.stowins.wav" );
|
||||
else if (%winner $= 'Inferno')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.infwins.wav" );
|
||||
else if (%winner $= 'Starwolf')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.swwin.wav" );
|
||||
else if (%winner $= 'Blood Eagle')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.bewin.wav" );
|
||||
else if (%winner $= 'Diamond Sword')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.dswin.wav" );
|
||||
else if (%winner $= 'Phoenix')
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.pxwin.wav" );
|
||||
else
|
||||
messageAll('MsgGameOver', "Match has ended.~wvoice/announcer/ann.gameover.wav" );
|
||||
|
||||
messageAll('MsgClearObjHud', "");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i ++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
%game.resetScore(%client);
|
||||
}
|
||||
for(%j = 1; %j <= %game.numTeams; %j++)
|
||||
$TeamScore[%j] = 0;
|
||||
}
|
||||
|
||||
function SabotageGame::vehicleDestroyed(%game, %vehicle, %destroyer) {
|
||||
|
||||
}
|
||||
|
||||
function SabotageGame::startMatch(%game) {
|
||||
DefaultGame::StartMatch(%game);
|
||||
$TWM2::PlayingSabo = 1;
|
||||
|
||||
$Ion::StopIon = 1;
|
||||
|
||||
$FissionEndsGame = 1;
|
||||
|
||||
$TeamWins[1] = 0;
|
||||
$TeamWins[2] = 0;
|
||||
|
||||
$SaboGame::RoundNumber = 1;
|
||||
Game.NumTeams = 2;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
CenterPrint(%cl, "<Font:Arial Bold:18><just:center>SABOTAGE", 5, 2);
|
||||
if(isObject(%cl.player)) {
|
||||
%cl.player.setMoveState(true);
|
||||
%cl.player.schedule(5000, "setMoveState", false);
|
||||
}
|
||||
}
|
||||
%game.InitialSetup($CurrentMission);
|
||||
setSensorGroupCount(7);
|
||||
}
|
||||
|
||||
function SabotageGame::Intermit(%game) {
|
||||
$SaboGame::RoundNumber++;
|
||||
if($SaboGame::RoundNumber > $SaboGame::Rounds) {
|
||||
MessageAll('msgInter', "\c5SABOTAGE: GAME OVER, CHANGING MAP...");
|
||||
%game.schedule(10000, "GameOver");
|
||||
CycleMissions();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%game.bomb.IsArmed = 0;
|
||||
%game.bomb.carrier = 0;
|
||||
%game.ResetBomb(%game.Bomb);
|
||||
MessageAll('msgInter', "\c5SABOTAGE: INTERMISSION, ROUND "@$SaboGame::RoundNumber@" BEGINNING");
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::InitialSetup(%game, %map) {
|
||||
//Team 1 Objective
|
||||
%game.TeamObjective[1] = new StaticShape() {
|
||||
datablock = SabotageObjective;
|
||||
position = $SabotageGame::ObjectiveLocation1[%map];
|
||||
};
|
||||
MissionCleanup.add(%game.TeamObjective[1]);
|
||||
%game.TeamObjective[1].wp = new WayPoint() {
|
||||
position = $SabotageGame::ObjectiveLocation1[%map];
|
||||
dataBlock = "WayPointMarker";
|
||||
team = 1;
|
||||
name = "TEAM 1 OBJECTIVE";
|
||||
};
|
||||
MissionCleanup.add(%game.TeamObjective[1].wp);
|
||||
%game.WPLoop(%game.TeamObjective[1].wp, 1);
|
||||
%game.TeamObjective[1].Invincible = 1; //HA! No Shootin / C4 For You
|
||||
|
||||
//Team 2 Objective
|
||||
%game.TeamObjective[2] = new StaticShape() {
|
||||
datablock = SabotageObjective;
|
||||
position = $SabotageGame::ObjectiveLocation2[%map];
|
||||
};
|
||||
MissionCleanup.add(%game.TeamObjective[2]);
|
||||
%game.TeamObjective[2].wp = new WayPoint() {
|
||||
position = $SabotageGame::ObjectiveLocation2[%map];
|
||||
dataBlock = "WayPointMarker";
|
||||
team = 2;
|
||||
name = "TEAM 2 OBJECTIVE";
|
||||
};
|
||||
MissionCleanup.add(%game.TeamObjective[2].wp);
|
||||
%game.WPLoop(%game.TeamObjective[2].wp, 2);
|
||||
%game.TeamObjective[2].Invincible = 1; //HA! No Shootin / C4 For You
|
||||
|
||||
%game.Bomb = new Item() {
|
||||
datablock = SabotageBomb;
|
||||
position = $SabotageGame::BombLocation[%map];
|
||||
};
|
||||
MissionCleanup.add(%game.Bomb);
|
||||
%game.UpdateBombStatus(%game.Bomb);
|
||||
messageAll('MsgSPCurrentObjective1', "", "Bomb: Neutral");
|
||||
messageAll('MsgSPCurrentObjective2', "", "-----");
|
||||
}
|
||||
|
||||
function SabotageGame::pickTeamSpawn(%game, %team) {
|
||||
if(%team == 1) {
|
||||
if(!isObject(%game.TeamObjective[1])) {
|
||||
//stops the pre-game fall
|
||||
%pos = vectorAdd($SabotageGame::ObjectiveLocation1[$CurrentMission],GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 5");
|
||||
}
|
||||
else {
|
||||
%pos = vectorAdd(%game.TeamObjective[1].getPosition(),GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 4");
|
||||
}
|
||||
return %pos;
|
||||
}
|
||||
else if(%team == 2) {
|
||||
if(!isObject(%game.TeamObjective[2])) {
|
||||
//stops the pre-game fall
|
||||
%pos = vectorAdd($SabotageGame::ObjectiveLocation2[$CurrentMission],GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 5");
|
||||
}
|
||||
else {
|
||||
%pos = vectorAdd(%game.TeamObjective[2].getPosition(),GetRandomPosition(5,1));
|
||||
%pos = vectorAdd(%pos,"0 0 4");
|
||||
}
|
||||
return %pos;
|
||||
}
|
||||
}
|
||||
|
||||
function SabotageGame::WPLoop(%game, %wp, %team) {
|
||||
%wp.delete();
|
||||
if(%team == 2) {
|
||||
%game.TeamObjective[2].wp = new WayPoint() {
|
||||
position = $SabotageGame::ObjectiveLocation2[$CurrentMission];
|
||||
dataBlock = "WayPointMarker";
|
||||
team = 2;
|
||||
name = "TEAM 2 OBJECTIVE";
|
||||
};
|
||||
MissionCleanup.add(%game.TeamObjective[2].wp);
|
||||
%game.schedule(5000, "WPLoop", %game.TeamObjective[2].wp, 2);
|
||||
}
|
||||
else {
|
||||
%game.TeamObjective[1].wp = new WayPoint() {
|
||||
position = $SabotageGame::ObjectiveLocation1[$CurrentMission];
|
||||
dataBlock = "WayPointMarker";
|
||||
team = 1;
|
||||
name = "TEAM 1 OBJECTIVE";
|
||||
};
|
||||
MissionCleanup.add(%game.TeamObjective[1].wp);
|
||||
%game.schedule(5000, "WPLoop", %game.TeamObjective[1].wp, 1);
|
||||
}
|
||||
}
|
||||
|
||||
//MissionLists
|
||||
$SabotageGame::ObjectiveLocation1["Strikers2"] = "1.4 148.5 14.2";
|
||||
$SabotageGame::ObjectiveLocation2["Strikers2"] = "147.7 7.9 14.4";
|
||||
$SabotageGame::BombLocation["Strikers2"] = "54.8 60.1 28.2";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["Oasis2"] = "-106.6 53.8 134";
|
||||
$SabotageGame::ObjectiveLocation2["Oasis2"] = "-107.8 -125.4 133";
|
||||
$SabotageGame::BombLocation["Oasis2"] = "-215.2 -44.7 109.113";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["MyrkWood2"] = "-297.849 -232.002 87.1634";
|
||||
$SabotageGame::ObjectiveLocation2["MyrkWood2"] = "-162.307 113.314 83.2362";
|
||||
$SabotageGame::BombLocation["MyrkWood2"] = "-274 -85 74.7";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["DerGott"] = "-2.2 -3.1 157.149";
|
||||
$SabotageGame::ObjectiveLocation2["DerGott"] = "-202.631 -210.103 157.493";
|
||||
$SabotageGame::BombLocation["DerGott"] = "-103.026 -95.7017 155.149";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["SideSwipe"] = "-83 -270 355";
|
||||
$SabotageGame::ObjectiveLocation2["SideSwipe"] = "-82.3 -114 355";
|
||||
$SabotageGame::BombLocation["SideSwipe"] = "-83.6 -196.2 397";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["HarbingerTower"] = "810.5 -401.1 102";
|
||||
$SabotageGame::ObjectiveLocation2["HarbingerTower"] = "814.2 -428.7 198";
|
||||
$SabotageGame::BombLocation["HarbingerTower"] = "799.4 -402.1 116";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["Skyline"] = "-58.8556 -420.953 750.438";
|
||||
$SabotageGame::ObjectiveLocation2["Skyline"] = "-59.5177 -259.064 773.837";
|
||||
$SabotageGame::BombLocation["Skyline"] = "-7.6 -339.7 774";
|
||||
|
||||
$SabotageGame::ObjectiveLocation1["GeometricOrder"] = "-172.325 -396.557 159.9";
|
||||
$SabotageGame::ObjectiveLocation2["GeometricOrder"] = "-10.7 -573.29 159.9";
|
||||
$SabotageGame::BombLocation["GeometricOrder"] = "-79.9 -487.06 165.9";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function GenerateSabotageChallengeMenu(%client, %tag, %index) {
|
||||
if(%client.CheckNWChallengeCompletion("BombDisarmed")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Bomb Disarmed - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Bomb Disarmed - Disarm a enemy bomb.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("BombPlanted")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Bomb Planted - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Bomb Planted - Arm the bomb at the objective.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("BombDetonated")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Bomb Detonated - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Bomb Detonated - Win a Round Of Sabotage.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("3For5Sabo")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Three For Five - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Three For Five - Win 3 Rounds Of Sabotage.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("BaseDestroyer")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Base Destroyer - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Base Destroyer - Go Undefeated in a full game of Sabotage.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
return %index;
|
||||
}
|
||||
1303
scripts/SinglePlayerGame.cs
Normal file
1303
scripts/SinglePlayerGame.cs
Normal file
File diff suppressed because it is too large
Load diff
31
scripts/TR2Game.cs
Normal file
31
scripts/TR2Game.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
// Bastardized for Contruction Mod to load the player datablocks
|
||||
// without screwing up the rest of the game.
|
||||
|
||||
// DisplayName = Team Rabbit 2
|
||||
|
||||
//--- GAME RULES BEGIN ---
|
||||
//Get the flag and throw it into the other team's goal
|
||||
//You can only hold onto the flag for 15 seconds
|
||||
//Passing the flag increases the size of the Jackpot
|
||||
//Scoring a goal awards the Jackpot to your team!
|
||||
//When your health reaches zero, you are knocked down
|
||||
//Replenish your ammo by pressing your suicide button
|
||||
//--- GAME RULES END ---
|
||||
|
||||
|
||||
|
||||
// Team Rabbit 2
|
||||
// Created by Codality, Inc.
|
||||
// www.codality.com
|
||||
// -------------------------------
|
||||
// Michael "KineticPoet" Johnston - Designer, Lead Programmer, Maps
|
||||
// Dan "daunt" Kolta - Physics design, Maps
|
||||
// Scott "FSB-AO" Estabrook - Programmer
|
||||
// John "CObbler" Carter - Bonus sound effects
|
||||
// Buddy "sLaM" Pritchard - Sound effects
|
||||
// Gregg "illy" Fellows - 3D models and skins
|
||||
// Alan "Nefilim" Schwertel; - Maps
|
||||
// Kenneth "SONOFMAN" Cook - Sky art
|
||||
|
||||
|
||||
exec("scripts/TR2Physics.cs");
|
||||
41
scripts/TR2heavy_male.cs
Normal file
41
scripts/TR2heavy_male.cs
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
datablock TSShapeConstructor(TR2HeavyMaleDts)
|
||||
{
|
||||
baseShape = "TR2heavy_male.dts";
|
||||
sequence0 = "TR2heavy_male_root.dsq root";
|
||||
sequence1 = "TR2heavy_male_forward.dsq run";
|
||||
sequence2 = "TR2heavy_male_back.dsq back";
|
||||
sequence3 = "TR2heavy_male_side.dsq side";
|
||||
sequence4 = "heavy_male_lookde.dsq look";
|
||||
sequence5 = "heavy_male_head.dsq head";
|
||||
sequence6 = "TR2heavy_male_fall.dsq fall";
|
||||
sequence7 = "TR2heavy_male_jet.dsq jet";
|
||||
sequence8 = "TR2heavy_male_land.dsq land";
|
||||
sequence9 = "TR2heavy_male_jump.dsq jump";
|
||||
sequence10 = "heavy_male_recoilde.dsq light_recoil";
|
||||
sequence11 = "heavy_male_idlepda.dsq pda";
|
||||
sequence12 = "heavy_male_headside.dsq headside";
|
||||
sequence13 = "heavy_male_lookms.dsq lookms";
|
||||
sequence14 = "TR2heavy_male_diehead.dsq death1";
|
||||
sequence15 = "TR2heavy_male_diechest.dsq death2";
|
||||
sequence16 = "TR2heavy_male_dieback.dsq death3";
|
||||
sequence17 = "TR2heavy_male_diesidelf.dsq death4";
|
||||
sequence18 = "TR2heavy_male_diesidert.dsq death5";
|
||||
sequence19 = "TR2heavy_male_dieforward.dsq death6"; // heavy_male_dieleglf
|
||||
sequence20 = "TR2heavy_male_diechest.dsq death7"; // heavy_male_dielegrt
|
||||
sequence21 = "TR2heavy_male_dieslump.dsq death8";
|
||||
sequence22 = "TR2heavy_male_dieforward.dsq death9"; // heavy_male_dieknees
|
||||
sequence23 = "TR2heavy_male_dieforward.dsq death10";
|
||||
sequence24 = "TR2heavy_male_diespin.dsq death11";
|
||||
sequence25 = "TR2heavy_male_celsalute.dsq cel1";
|
||||
sequence26 = "TR2heavy_male_celwave.dsq cel2";
|
||||
sequence27 = "TR2heavy_male_tauntbest.dsq cel3";
|
||||
sequence28 = "TR2heavy_male_tauntimp.dsq cel4";
|
||||
sequence29 = "TR2heavy_male_celdance.dsq cel5";
|
||||
sequence30 = "TR2heavy_male_celflex.dsq cel6";
|
||||
sequence31 = "TR2heavy_male_celtaunt.dsq cel7";
|
||||
sequence32 = "TR2heavy_male_celjump.dsq cel8";
|
||||
sequence33 = "TR2heavy_male_ski.dsq ski";
|
||||
sequence34 = "TR2heavy_male_standjump.dsq standjump";
|
||||
sequence35 = "heavy_male_looknw.dsq looknw";
|
||||
};
|
||||
|
||||
43
scripts/TR2medium_male.cs
Normal file
43
scripts/TR2medium_male.cs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
datablock TSShapeConstructor(TR2MediumMaleDts)
|
||||
{
|
||||
baseShape = "TR2medium_male.dts";
|
||||
sequence0 = "TR2medium_male_root.dsq root";
|
||||
sequence1 = "TR2medium_male_forward.dsq run";
|
||||
sequence2 = "TR2medium_male_back.dsq back";
|
||||
sequence3 = "TR2medium_male_side.dsq side";
|
||||
sequence4 = "medium_male_lookde.dsq look";
|
||||
sequence5 = "medium_male_head.dsq head";
|
||||
sequence6 = "TR2medium_male_fall.dsq fall";
|
||||
sequence7 = "TR2medium_male_jet.dsq jet";
|
||||
sequence8 = "TR2medium_male_land.dsq land";
|
||||
sequence9 = "TR2medium_male_jump.dsq jump";
|
||||
sequence10 = "medium_male_recoilde.dsq light_recoil";
|
||||
sequence11 = "medium_male_headside.dsq headside";
|
||||
sequence12 = "medium_male_looksn.dsq looksn";
|
||||
sequence13 = "medium_male_lookms.dsq lookms";
|
||||
sequence14 = "TR2medium_male_sitting.dsq sitting";
|
||||
sequence15 = "TR2medium_male_diehead.dsq death1";
|
||||
sequence16 = "TR2medium_male_diechest.dsq death2";
|
||||
sequence17 = "TR2medium_male_dieback.dsq death3";
|
||||
sequence18 = "TR2medium_male_diesidelf.dsq death4";
|
||||
sequence19 = "TR2medium_male_diesidert.dsq death5";
|
||||
sequence20 = "TR2medium_male_dieleglf.dsq death6";
|
||||
sequence21 = "TR2medium_male_diechest.dsq death7"; // medium_male_dielegrt
|
||||
sequence22 = "TR2medium_male_dieback.dsq death8";
|
||||
sequence23 = "TR2medium_male_dieknees.dsq death9";
|
||||
sequence24 = "TR2medium_male_dieforward.dsq death10";
|
||||
sequence25 = "TR2medium_male_diespin.dsq death11";
|
||||
sequence26 = "medium_male_idlepda.dsq pda";
|
||||
sequence27 = "TR2medium_male_celsalute.dsq cel1";
|
||||
sequence28 = "TR2medium_male_celwave.dsq cel2";
|
||||
sequence29 = "TR2medium_male_tauntbest.dsq cel3";
|
||||
sequence30 = "TR2medium_male_tauntimp.dsq cel4";
|
||||
sequence31 = "TR2medium_male_celdance.dsq cel5";
|
||||
sequence32 = "TR2medium_male_celflex.dsq cel6";
|
||||
sequence33 = "TR2medium_male_celtaunt.dsq cel7";
|
||||
sequence34 = "TR2medium_male_celrocky.dsq cel8";
|
||||
sequence35 = "TR2medium_male_ski.dsq ski";
|
||||
sequence36 = "TR2medium_male_standjump.dsq standjump";
|
||||
sequence37 = "medium_male_looknw.dsq looknw";
|
||||
};
|
||||
549
scripts/TWM2/AI/DroneAI.cs
Normal file
549
scripts/TWM2/AI/DroneAI.cs
Normal file
|
|
@ -0,0 +1,549 @@
|
|||
$Drone::DetectDist = 20000;
|
||||
$Drone::TurnImpulse = 123;
|
||||
$Drone::FrdImpulse = 525;
|
||||
//$Drone::TurnImpulse = 675 / 3;
|
||||
//$Drone::FrdImpulse = 525 * 3;
|
||||
$Drone::newTargetChance = "1 100";
|
||||
|
||||
$Drone::paths = 4;
|
||||
$Drone::path[1,1] = "0 1500 1000";
|
||||
$Drone::path[1,2] = "1500 0 1000";
|
||||
$Drone::path[1,3] = "0 -1500 1000";
|
||||
$Drone::path[1,4] = "-1500 0 1000";
|
||||
|
||||
$Drone::path[2,1] = "0 -1500 1000";
|
||||
$Drone::path[2,2] = "-1500 0 1000";
|
||||
$Drone::path[2,3] = "0 1500 1000";
|
||||
$Drone::path[2,4] = "1500 0 1000";
|
||||
|
||||
$Drone::path[3,1] = "0 2500 750";
|
||||
$Drone::path[3,2] = "0 2500 1250";
|
||||
$Drone::path[3,3] = "0 -2500 1250";
|
||||
$Drone::path[3,4] = "0 -2500 750";
|
||||
|
||||
$Drone::path[4,1] = "2500 0 750";
|
||||
$Drone::path[4,2] = "2500 0 1250";
|
||||
$Drone::path[4,3] = "-2500 0 1250";
|
||||
$Drone::path[4,4] = "-2500 0 750";
|
||||
|
||||
//-----Manuver Index-----
|
||||
|
||||
$flightManuvers::Behind[0] = Immelman;
|
||||
$flightManuvers::Behind[1] = HalfFlip;
|
||||
$flightManuvers::Behind[2] = BreakRight;
|
||||
$flightManuvers::Behind[3] = BreakLeft;
|
||||
$flightManuvers::Behind[4] = BarrelRoll;
|
||||
$flightManuvers::Behind[5] = WingWaggle;
|
||||
$flightManuvers::Behind[6] = Reversal;
|
||||
|
||||
|
||||
//-----Manuvers-----
|
||||
|
||||
//Immelman
|
||||
$flightManuver::Points[Immelman] = 5; //This signifies how many points are in the manuver
|
||||
$flightManuver::Point[Immelman,0] = "0 1 0 0 0 1"; //each point represents the 3 numbers of the vector of the desired forward vector,
|
||||
$flightManuver::Point[Immelman,1] = "0 0 1 0 -1 0"; //and then the 3 numbers of the vector for the desired Up vector
|
||||
$flightManuver::Point[Immelman,2] = "0 -1 0 0 0 -1";
|
||||
$flightManuver::Point[Immelman,3] = "0 -1 0 1 0 0";
|
||||
$flightManuver::Point[Immelman,4] = "0 -1 0 0 0 1";
|
||||
|
||||
//halfFlip
|
||||
$flightManuver::Points[HalfFlip] = 3;
|
||||
$flightManuver::Point[HalfFlip,0] = "0 1 0 0 0 1";
|
||||
$flightManuver::Point[HalfFlip,1] = "0 0 1 0 -1 0";
|
||||
$flightManuver::Point[HalfFlip,2] = "0 -1 0 0 0 -1";
|
||||
|
||||
//breakRight
|
||||
$flightManuver::Points[BreakRight] = 3;
|
||||
$flightManuver::Point[BreakRight,0] = "0 1 0 0 0 1";
|
||||
$flightManuver::Point[BreakRight,1] = "0 1 0 1 0 0";
|
||||
$flightManuver::Point[BreakRight,2] = "1 0 0 0 -1 0";
|
||||
|
||||
//BreakLeft
|
||||
$flightManuver::Points[BreakLeft] = 3;
|
||||
$flightManuver::Point[BreakLeft,0] = "0 1 0 0 0 1";
|
||||
$flightManuver::Point[BreakLeft,1] = "0 1 0 -1 0 0";
|
||||
$flightManuver::Point[BreakLeft,2] = "-1 0 0 0 -1 0";
|
||||
|
||||
//BarrelRoll
|
||||
$flightManuver::Points[BarrelRoll] = 5;
|
||||
$flightManuver::Point[BarrelRoll,0] = "0 1 0 0 0 1";
|
||||
$flightManuver::Point[BarrelRoll,1] = "0 1 0 1 0 0";
|
||||
$flightManuver::Point[BarrelRoll,2] = "0 1 0 0 0 -1";
|
||||
$flightManuver::Point[BarrelRoll,3] = "0 1 0 -1 0 0";
|
||||
$flightManuver::Point[BarrelRoll,4] = "0 1 0 0 0 1";
|
||||
|
||||
//WingWaggle
|
||||
$flightManuver::Points[WingWaggle] = 4;
|
||||
$flightManuver::Point[WingWaggle,0] = "0 1 0 0 0 1";
|
||||
$flightManuver::Point[WingWaggle,1] = "-1 1 0 0 0 1";
|
||||
$flightManuver::Point[WingWaggle,2] = "1 1 0 0 0 1";
|
||||
$flightManuver::Point[WingWaggle,3] = "0 1 0 0 0 1";
|
||||
|
||||
//Reversal
|
||||
$flightManuver::Points[Reversal] = 7;
|
||||
$flightManuver::Point[Reversal,0] = "0 1 0 0 0 1";
|
||||
$flightManuver::Point[Reversal,1] = "0 0 1 0 -1 0";
|
||||
$flightManuver::Point[Reversal,2] = "0 0 1 1 0 0";
|
||||
$flightManuver::Point[Reversal,3] = "1 0 0 0 0 -1";
|
||||
$flightManuver::Point[Reversal,4] = "0 0 -1 -1 0 0";
|
||||
$flightManuver::Point[Reversal,5] = "0 0 -1 0 1 0";
|
||||
$flightManuver::Point[Reversal,6] = "0 1 0 0 0 1";
|
||||
|
||||
//This is a function for mass spawning
|
||||
function DroneBattle(%pos, %radius, %number, %teamlow, %teamhigh, %maxskill, %slth){
|
||||
for(%i = 0; %i < %number; %i++){
|
||||
%startpos = vectorAdd(%pos,(getRandom(0, %radius) - (%radius / 2))@" "@(getRandom(0, %radius) - (%radius / 2))@" 0");
|
||||
%rotation = "0 0 1 "@getRandom(1,360);
|
||||
if(%teamlow != %teamhigh)
|
||||
%team = getRandom(%teamlow,%teamhigh);
|
||||
else
|
||||
%team = %teamlow;
|
||||
StartDrone(%startpos,%rotation,%team,getRandom(1,%maxskill), %slth);
|
||||
}
|
||||
}
|
||||
|
||||
//This sets up the drone and the functions needed to start the drone.
|
||||
function StartDrone(%pos, %rotation, %team, %skill, %slth){
|
||||
if(%team $= "")
|
||||
%team = 0;
|
||||
if(%pos $= "")
|
||||
%pos = "0 0 300";
|
||||
if(%rotation $= "")
|
||||
%rotation = "1 0 0 0";
|
||||
if(%skill !$= "ace"){
|
||||
if(%skill $= "" || %skill < 1)
|
||||
%skill = 1;
|
||||
else if(%skill > 10)
|
||||
%skill = 10;
|
||||
}
|
||||
%Drone = new FlyingVehicle()
|
||||
{
|
||||
dataBlock = ScoutFlyer;
|
||||
position = %pos;
|
||||
rotation = %rotation;
|
||||
team = %team;
|
||||
};
|
||||
MissionCleanUp.add(%Drone);
|
||||
|
||||
setTargetSensorGroup(%Drone.getTarget(), %team);
|
||||
|
||||
%Drone.isdrone = 1;
|
||||
%drone.dodgeGround = 0;
|
||||
|
||||
if(%slth) {
|
||||
%Drone.setCloaked(true);
|
||||
}
|
||||
|
||||
if(%skill $= "ace"){
|
||||
%skill = 10;
|
||||
%drone.isace = 1;
|
||||
}
|
||||
|
||||
%drone.skill = 0.2 + (%skill / 12.5);
|
||||
|
||||
schedule(100, 0, "DroneForwardImpulse", %drone);
|
||||
schedule(101, 0, "DronefindTarget", %drone);
|
||||
schedule(102, 0, "DroneScanGround", %drone);
|
||||
|
||||
return %drone;
|
||||
}
|
||||
|
||||
function StartAIGunship(%pos, %rotation, %team, %skill, %slth){
|
||||
if(%team $= "")
|
||||
%team = 0;
|
||||
if(%pos $= "")
|
||||
%pos = "0 0 300";
|
||||
if(%rotation $= "")
|
||||
%rotation = "1 0 0 0";
|
||||
if(%skill !$= "ace"){
|
||||
if(%skill $= "" || %skill < 1)
|
||||
%skill = 1;
|
||||
else if(%skill > 10)
|
||||
%skill = 10;
|
||||
}
|
||||
%Drone = new FlyingVehicle()
|
||||
{
|
||||
dataBlock = HarbingerGunship;
|
||||
position = %pos;
|
||||
rotation = %rotation;
|
||||
team = %team;
|
||||
};
|
||||
MissionCleanUp.add(%Drone);
|
||||
|
||||
setTargetSensorGroup(%Drone.getTarget(), %team);
|
||||
|
||||
%Drone.isdrone = 1;
|
||||
%drone.dodgeGround = 0;
|
||||
|
||||
if(%slth) {
|
||||
%Drone.setCloaked(true);
|
||||
}
|
||||
|
||||
%drone.skill = 0.2 + (%skill / 12.5);
|
||||
|
||||
schedule(100, 0, "DroneForwardImpulse", %drone);
|
||||
schedule(101, 0, "DronefindTarget", %drone);
|
||||
schedule(102, 0, "DroneScanGround", %drone);
|
||||
schedule(30000, 0, "SwitchHarbieGunLoop", %drone);
|
||||
|
||||
return %drone;
|
||||
}
|
||||
|
||||
function SwitchHarbieGunLoop(%gunship) {
|
||||
if(!isObject(%gunship)) {
|
||||
return;
|
||||
}
|
||||
if(%gunship.barrel $= "Chain") {
|
||||
%gunship.barrel = "Collider";
|
||||
%gunship.turretObject.mountImage(HarbingerGunshipColliderImage, 0);
|
||||
}
|
||||
else {
|
||||
%gunship.barrel = "Chain";
|
||||
%gunship.turretObject.mountImage(HarbingerGunshipCGImage, 0);
|
||||
}
|
||||
schedule(30000, 0, "SwitchHarbieGunLoop", %gunship);
|
||||
}
|
||||
|
||||
function SwitchACGunLoop(%gunship) {
|
||||
if(!isObject(%gunship)) {
|
||||
return;
|
||||
}
|
||||
%rang = getRandom(1, 3);
|
||||
switch(%rang) {
|
||||
case 1:
|
||||
%gunship.barrel = "Chain";
|
||||
%gunship.turretObject.mountImage(AC130GunshipCGImage, 0);
|
||||
case 2:
|
||||
%gunship.barrel = "120";
|
||||
%gunship.turretObject.mountImage(AC130BigCannonImage, 0);
|
||||
case 3:
|
||||
%gunship.barrel = "45";
|
||||
%gunship.turretObject.mountImage(AC130LittleCannonImage, 0);
|
||||
default:
|
||||
%gunship.barrel = "Chain";
|
||||
%gunship.turretObject.mountImage(AC130GunshipCGImage, 0);
|
||||
}
|
||||
schedule(30000, 0, "SwitchACGunLoop", %gunship);
|
||||
}
|
||||
|
||||
//This makes the drone move forward until it dies
|
||||
function DroneForwardImpulse(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
if(!%obj.isace){
|
||||
if(vectorLen(%obj.getVelocity()) < 165)
|
||||
%obj.applyImpulse(%obj.getPosition(),vectorScale(%obj.getForwardVector(),$Drone::FrdImpulse));
|
||||
}
|
||||
else{
|
||||
if(vectorLen(%obj.getVelocity()) < 180)
|
||||
%obj.applyImpulse(%obj.getPosition(),vectorScale(%obj.getForwardVector(),$Drone::FrdImpulse * 1.25));
|
||||
}
|
||||
schedule(100, 0, "DroneForwardImpulse", %obj);
|
||||
}
|
||||
|
||||
function DroneScanGround(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
%vec = %obj.getForwardVector();
|
||||
%vector = vectorAdd(%obj.getPosition(),"0 0 -500");
|
||||
%searchResult = containerRayCast(%obj.getWorldBoxCenter(), %vector, $TypeMasks::TerrainObjectType, %obj);
|
||||
if(%searchResult){
|
||||
%z = getWord(%vec,2);
|
||||
%height = vectorDist(%obj.getPosition(),posFromRaycast(%searchresult));
|
||||
if(%z < 0){
|
||||
if(%height <= (200 + ((%z * -1) * 300))){
|
||||
%obj.dodgeground = 1;
|
||||
schedule(100, 0, "DroneDodgeGround", %obj);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
schedule(100, 0, "DroneScanGround", %obj);
|
||||
}
|
||||
|
||||
function DroneDodgeGround(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
%vec = %obj.getForwardVector();
|
||||
%z = getWord(%vec,2);
|
||||
if(%z > 0){
|
||||
%obj.dodgeground = 0;
|
||||
schedule(100, 0, "DronefindTarget", %obj);
|
||||
schedule(101, 0, "DroneScanGround", %obj);
|
||||
return;
|
||||
}
|
||||
%pos = vectorAdd(%obj.getPosition(),%vec);
|
||||
%obj.applyImpulse(%pos,vectorScale("0 0 1",$Drone::TurnImpulse * %obj.skill));
|
||||
schedule(100, 0, "DroneDodgeGround", %obj);
|
||||
}
|
||||
|
||||
//This function checks the area around it for any targets.
|
||||
function DronefindTarget(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
%pos = %obj.getposition();
|
||||
InitContainerRadiusSearch(%pos, $drone::detectdist + (800 + (600 * %obj.skill)), $TypeMasks::VehicleObjectType | $TypeMasks::PlayerObjectType);
|
||||
while ((%searchResult = containerSearchNext()) != 0){
|
||||
%objtarget = firstWord(%searchResult);
|
||||
if(isObject(%objtarget) && %objTarget !$= %obj){
|
||||
%trgtype = %objtarget.getClassName();
|
||||
if((%trgtype $= "FlyingVehicle" || %trgtype $= "HoverVehicle" || %trgtype $= "Player") && %objtarget.team != %obj.team){
|
||||
%testPos = %objtarget.getWorldBoxCenter();
|
||||
%distance = vectorDist(%objtarget.getPosition(),%pos);
|
||||
if (%distance > 0){
|
||||
%target = %objtarget;
|
||||
DroneDetermineManuver(%obj, %target);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
schedule(100, 0, "DronePatrol", %obj);
|
||||
}
|
||||
|
||||
function DronePatrol(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
if($Drone::paths > 0){
|
||||
if(%obj.path $= ""){
|
||||
%obj.path = getRandom(1,$Drone::paths);
|
||||
%obj.point = 0;
|
||||
}
|
||||
%obj.point++;
|
||||
if($Drone::path[%obj.path,%obj.point] $= ""){
|
||||
schedule(100, 0, "DronefindTarget", %obj);
|
||||
%obj.path = "";
|
||||
%obj.point = "";
|
||||
}
|
||||
else
|
||||
schedule(100,0,"dronemovetopoint",%obj,$Drone::path[%obj.path,%obj.point]);
|
||||
}
|
||||
else
|
||||
schedule(500, 0, "DronefindTarget", %obj);
|
||||
}
|
||||
|
||||
function DroneMoveToPoint(%obj,%Tpos){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
if(%obj.dodgeground == 1)
|
||||
return;
|
||||
%pos = %obj.getPosition();
|
||||
%objfrd = %obj.getForwardVector();
|
||||
%objup = %obj.getUpVector();
|
||||
|
||||
%dist = vectorDist(%pos,%Tpos);
|
||||
%aimvec = vectorNormalize(vectorSub(%Tpos,%pos));
|
||||
|
||||
%vec = vectorSub(%aimvec , %objfrd);
|
||||
%vec = vectorCross(%vec, %objfrd);
|
||||
%vec = vectorNormalize(vectorCross(%objfrd, %vec));
|
||||
if(vectorDist(%objfrd,vectorNormalize(%aimvec)) < 0.1)
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),vectorScale(%objfrd,($Drone::TurnImpulse / 2))),%vec);
|
||||
else if(vectorDist(%objup, %vec) > 0.1){
|
||||
%vec = vectorSub(%vec, %objup);
|
||||
%vec = vectorCross(%vec, %objup);
|
||||
%vec = vectorNormalize(vectorCross(%objup, %vec));
|
||||
%pos = vectorAdd(%obj.getPosition(),vectorScale(%objup,$Drone::TurnImpulse * 3 * %obj.skill));
|
||||
%obj.applyImpulse(%pos,%vec);
|
||||
}
|
||||
else
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),%objfrd),vectorScale(%vec,$Drone::TurnImpulse * %obj.skill));
|
||||
if(getRandom(0,getWord($Drone::newTargetChance,1)) <= (getWord($Drone::newTargetChance,0) * 10))
|
||||
schedule(100, 0, "DronefindTarget", %obj, %target);
|
||||
else if(%dist < 25)
|
||||
schedule(100, 0, "DronePatrol", %obj);
|
||||
else
|
||||
schedule(100, 0, "DroneMoveToPoint", %obj, %tpos);
|
||||
}
|
||||
|
||||
//This function figures out what the drone should do from where the target is.
|
||||
function DroneDetermineManuver(%obj, %target){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
if(!isObject(%target)){
|
||||
DronefindTarget(%obj);
|
||||
return;
|
||||
}
|
||||
%pos = %obj.getPosition();
|
||||
%Tpos = %Target.getPosition();
|
||||
%objfrd = %obj.getForwardVector();
|
||||
%trgfrd = %target.getForwardVector();
|
||||
%vec = vectorSub(%Tpos,%pos);
|
||||
%dirdist = vectorDist(%objfrd,vectorNormalize(%vec));
|
||||
%vecdist = vectorDist(%objfrd,%trgfrd);
|
||||
if(%dirdist > 1.41){
|
||||
if(%vecdist < 1.41 && vectorDist(%pos,%Tpos) < 2000){
|
||||
UnderFireManuver(%obj, $flightManuvers::Behind[getRandom(0,6)], "");
|
||||
}
|
||||
else
|
||||
TurnToFire(%obj, %target);
|
||||
}
|
||||
else
|
||||
TurnToFire(%obj, %target);
|
||||
%obj.target = %target;
|
||||
}
|
||||
|
||||
function TurnToFire(%obj, %target){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
if(!isObject(%target)){
|
||||
DronefindTarget(%obj);
|
||||
return;
|
||||
}
|
||||
if(%obj.dodgeground == 1)
|
||||
return;
|
||||
|
||||
%pos = %obj.getPosition();
|
||||
%Tpos = %target.getPosition();
|
||||
%objfrd = %obj.getForwardVector();
|
||||
%trgfrd = %target.getForwardVector();
|
||||
%objup = %obj.getUpVector();
|
||||
%Tvel = %target.getVelocity();
|
||||
|
||||
%dist = vectorDist(%pos,%Tpos);
|
||||
%aimPos = vectorAdd(%Tpos, vectorScale(%Tvel,(%dist / 1750)));
|
||||
%aimvec = vectorNormalize(vectorSub(%aimPos,%pos));
|
||||
|
||||
if(vectorDist(%objfrd,%aimvec) < 0.1 && %dist <= 1000){
|
||||
if((vectorDist(%objfrd,%trgfrd) < 0.2 || vectorDist(%objfrd,%trgfrd) > 1.8) && %obj.missiling != 1){
|
||||
%obj.setImageTrigger(4, true);
|
||||
%obj.missiling = 1;
|
||||
}
|
||||
else if(%obj.missiling == 1){
|
||||
%obj.setImageTrigger(4, false);
|
||||
%obj.missiling = 0;
|
||||
}
|
||||
// if (%obj.firing != 1){
|
||||
%obj.setImageTrigger(2, true);
|
||||
%obj.setImageTrigger(3, true);
|
||||
%obj.firing = 1;
|
||||
// }
|
||||
}
|
||||
else{
|
||||
if(%obj.firing == 1){
|
||||
%obj.setImageTrigger(2, false);
|
||||
%obj.setImageTrigger(3, false);
|
||||
%obj.firing = 0;
|
||||
}
|
||||
if(%obj.missiling == 1){
|
||||
%obj.setImageTrigger(4, false);
|
||||
%obj.missiling = 0;
|
||||
}
|
||||
}
|
||||
%vec = vectorSub(%aimvec , %objfrd);
|
||||
%vec = vectorCross(%vec, %objfrd);
|
||||
%vec = vectorNormalize(vectorCross(%objfrd, %vec));
|
||||
if(vectorDist(%objfrd,%trgfrd) > 1.8 && %dist <= 120){
|
||||
%vec = vectorScale(%vec, -1);
|
||||
if(vectorDist(%objfrd,vectorNormalize(%aimvec)) > 1.8)
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),vectorScale(%objfrd,($Drone::TurnImpulse / 2))),%vec);
|
||||
else if(vectorDist(%objup, %vec) > 0.1){
|
||||
%vec = vectorSub(%vec, %objup);
|
||||
%vec = vectorCross(%vec, %objup);
|
||||
%vec = vectorNormalize(vectorCross(%objup, %vec));
|
||||
%pos = vectorAdd(%obj.getPosition(),vectorScale(%objup,$Drone::TurnImpulse * 3 * %obj.skill));
|
||||
%obj.applyImpulse(%pos,%vec);
|
||||
}
|
||||
else
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),%objfrd),vectorScale(%vec,$Drone::TurnImpulse * %obj.skill));
|
||||
}
|
||||
else if(vectorDist(%objfrd,vectorNormalize(%aimvec)) < 0.1)
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),vectorScale(%objfrd,($Drone::TurnImpulse / 2))),%vec);
|
||||
else if(vectorDist(%objup, %vec) > 0.1){
|
||||
%vec = vectorSub(%vec, %objup);
|
||||
%vec = vectorCross(%vec, %objup);
|
||||
%vec = vectorNormalize(vectorCross(%objup, %vec));
|
||||
%pos = vectorAdd(%obj.getPosition(),vectorScale(%objup,$Drone::TurnImpulse * 3 * %obj.skill));
|
||||
%obj.applyImpulse(%pos,%vec);
|
||||
}
|
||||
else
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),%objfrd),vectorScale(%vec,$Drone::TurnImpulse * %obj.skill));
|
||||
if(getRandom(0,getWord($Drone::newTargetChance,1)) <= getWord($Drone::newTargetChance,0))
|
||||
schedule(100, 0, "DronefindTarget", %obj, %target);
|
||||
else
|
||||
schedule(100, 0, "TurnToFire", %obj, %target);
|
||||
}
|
||||
|
||||
//This function preforms the manuver choosen in Determine Maunver function.
|
||||
function UnderFireManuver(%obj, %manuver, %point, %count){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
if(%obj.dodgeground == 1)
|
||||
return;
|
||||
if(%count $= "")
|
||||
%count = 0;
|
||||
if(%point $= ""){
|
||||
%point = 0;
|
||||
SetPointVectors(%obj, %manuver);
|
||||
}
|
||||
if(%count >= 30){
|
||||
schedule(100, 0, "DroneDetermineManuver", %obj, %obj.target);
|
||||
return;
|
||||
}
|
||||
%frdvec = %obj.getForwardVector();
|
||||
%upvec = %obj.getUpVector();
|
||||
if(vectorDist(%frdvec, %obj.pointvecfront[%point]) < 0.15 && vectorDist(%upvec, %obj.pointvectop[%point]) < 0.15){
|
||||
%point++;
|
||||
if(%point < $flightManuver::Points[%manuver])
|
||||
schedule(100, 0, "UnderFireManuver", %obj, %manuver, %point, 0);
|
||||
else
|
||||
schedule(100, 0, "DroneDetermineManuver", %obj, %obj.target);
|
||||
return;
|
||||
}
|
||||
if(vectorDist(%frdvec, %obj.pointvecfront[%point]) > 0.1){
|
||||
%vec = vectorSub(%obj.pointvecfront[%point], %frdvec);
|
||||
%vec = vectorCross(%vec, %frdvec);
|
||||
%vec = vectorCross(%frdvec, %vec);
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),vectorScale(%frdvec,$Drone::TurnImpulse * %obj.skill)),%vec);
|
||||
}
|
||||
if(vectorDist(%upvec, %obj.pointvectop[%point]) > 0.1){
|
||||
%vec = vectorSub(%obj.pointvectop[%point], %upvec);
|
||||
%vec = vectorCross(%vec, %upvec);
|
||||
%vec = vectorCross(%upvec, %vec);
|
||||
%pos = vectorAdd(%obj.getPosition(),vectorScale(%upvec,$Drone::TurnImpulse * 3 * %obj.skill));
|
||||
%obj.applyImpulse(%pos,%vec);
|
||||
}
|
||||
%count++;
|
||||
schedule(100, 0, "UnderFireManuver", %obj, %manuver, %point, %count);
|
||||
}
|
||||
|
||||
//This function finds what vectors each point in the manuver is compaired to the drone.
|
||||
function SetPointVectors(%obj, %manuver){
|
||||
%up = %obj.getUpVector();
|
||||
%forward = %obj.getForwardVector();
|
||||
%right = vectorNormalize(vectorSub(%obj.getEdge("1 0 0"),%obj.getEdge("-1 0 0")));
|
||||
for(%i = 0; %i < $flightManuver::Points[%manuver]; %i++){
|
||||
%pointdir = $flightManuver::Point[%manuver, %i];
|
||||
%topvec = "0 0 0";
|
||||
%frontvec = "0 0 0";
|
||||
if(getWord(%pointdir, 0) > 0)
|
||||
%frontvec = vectorAdd(%frontvec, %right);
|
||||
else if(getWord(%pointdir, 0) < 0)
|
||||
%frontvec = vectorAdd(%frontvec, vectorScale(%right, -1));
|
||||
if(getWord(%pointdir, 1) > 0)
|
||||
%frontvec = vectorAdd(%frontvec, %forward);
|
||||
else if(getWord(%pointdir, 1) < 0)
|
||||
%frontvec = vectorAdd(%frontvec, vectorScale(%forward, -1));
|
||||
if(getWord(%pointdir, 2) > 0)
|
||||
%frontvec = vectorAdd(%frontvec, %up);
|
||||
else if(getWord(%pointdir, 2) < 0)
|
||||
%frontvec = vectorAdd(%frontvec, vectorScale(%up, -1));
|
||||
|
||||
if(getWord(%pointdir, 3) > 0)
|
||||
%topvec = vectorAdd(%topvec, %right);
|
||||
else if(getWord(%pointdir, 3) < 0)
|
||||
%topvec = vectorAdd(%topvec, vectorScale(%right, -1));
|
||||
if(getWord(%pointdir, 4) > 0)
|
||||
%topvec = vectorAdd(%topvec, %forward);
|
||||
else if(getWord(%pointdir, 4) < 0)
|
||||
%topvec = vectorAdd(%topvec, vectorScale(%forward, -1));
|
||||
if(getWord(%pointdir, 5) > 0)
|
||||
%topvec = vectorAdd(%topvec, %up);
|
||||
else if(getWord(%pointdir, 5) < 0)
|
||||
%topvec = vectorAdd(%topvec, vectorScale(%up, -1));
|
||||
|
||||
%obj.pointvecfront[%i] = vectorNormalize(%frontvec);
|
||||
%obj.pointvectop[%i] = vectorNormalize(%topvec);
|
||||
}
|
||||
}
|
||||
687
scripts/TWM2/ArmorFunctions.cs
Normal file
687
scripts/TWM2/ArmorFunctions.cs
Normal file
|
|
@ -0,0 +1,687 @@
|
|||
//CUSTOM ARMOR FUNCTIONS
|
||||
function MicroburstMaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 4) {
|
||||
// Throw grenade
|
||||
if (%val == 1) {
|
||||
%player.grenTimer = 1;
|
||||
}
|
||||
else {
|
||||
if (%player.grenTimer == 0) {
|
||||
// Bad throw for some reason
|
||||
}
|
||||
else {
|
||||
%player.use(Grenade);
|
||||
%player.grenTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 5) {
|
||||
// Throw mine
|
||||
if (%val == 1) {
|
||||
%player.mineTimer = 1;
|
||||
}
|
||||
else {
|
||||
if (%player.mineTimer == 0) {
|
||||
// Bad throw for some reason
|
||||
}
|
||||
else {
|
||||
if(%player.inv[C4] > 0) {
|
||||
%player.use(C4);
|
||||
%player.mineTimer = 0;
|
||||
}
|
||||
else {
|
||||
%player.use(Mine);
|
||||
%player.mineTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 3) {
|
||||
// val = 1 when jet key (LMB) first pressed down
|
||||
// val = 0 when jet key released
|
||||
// MES - do we need this at all any more?
|
||||
if(!%player.CantFireS3Shock) {
|
||||
%image = %player.getMountedImage($WeaponSlot).getName();
|
||||
|
||||
if(%image $= "S3RifleImage") {
|
||||
%obj = %player;
|
||||
%slot = 0;
|
||||
//Shocklance Stuff
|
||||
%muzzlePos = %obj.getMuzzlePoint(%slot);
|
||||
%muzzleVec = %obj.getMuzzleVector(%slot);
|
||||
|
||||
%endPos = VectorAdd(%muzzlePos, VectorScale(%muzzleVec, S3Shocker.extension));
|
||||
|
||||
%damageMasks = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType |
|
||||
$TypeMasks::StationObjectType | $TypeMasks::GeneratorObjectType |
|
||||
$TypeMasks::SensorObjectType | $TypeMasks::TurretObjectType;
|
||||
|
||||
%everythingElseMask = $TypeMasks::TerrainObjectType |
|
||||
$TypeMasks::InteriorObjectType |
|
||||
$TypeMasks::ForceFieldObjectType |
|
||||
$TypeMasks::StaticObjectType |
|
||||
$TypeMasks::MoveableObjectType |
|
||||
$TypeMasks::DamagableItemObjectType;
|
||||
|
||||
// did I miss anything? players, vehicles, stations, gens, sensors, turrets
|
||||
%hit = ContainerRayCast(%muzzlePos, %endPos, %damageMasks | %everythingElseMask, %obj);
|
||||
|
||||
%noDisplay = true;
|
||||
if (%hit !$= "0") {
|
||||
%obj.setEnergyLevel(%obj.getEnergyLevel() - 15);
|
||||
|
||||
%hitobj = getWord(%hit, 0);
|
||||
%hitpos = getWord(%hit, 1) @ " " @ getWord(%hit, 2) @ " " @ getWord(%hit, 3);
|
||||
|
||||
if ( %hitObj.getType() & %damageMasks ) {
|
||||
%hitobj.applyImpulse(%hitpos, VectorScale(%muzzleVec, S3Shocker.impulse));
|
||||
%obj.playAudio(0, ShockLanceHitSound);
|
||||
|
||||
// This is truly lame, but we need the sourceobject property present...
|
||||
%p = new ShockLanceProjectile() {
|
||||
dataBlock = S3Shocker;
|
||||
initialDirection = %obj.getMuzzleVector(%slot);
|
||||
initialPosition = %obj.getMuzzlePoint(%slot);
|
||||
sourceObject = %obj;
|
||||
sourceSlot = %slot;
|
||||
targetId = %hit;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
%p.WeaponImageSource = "S3RifleImage";
|
||||
|
||||
%damageMultiplier = 1.0;
|
||||
|
||||
if(%hitObj.getDataBlock().getClassName() $= "PlayerData") {
|
||||
// Now we see if we hit from behind...
|
||||
%forwardVec = %hitobj.getForwardVector();
|
||||
%objDir2D = getWord(%forwardVec, 0) @ " " @ getWord(%forwardVec,1) @ " " @ "0.0";
|
||||
%objPos = %hitObj.getPosition();
|
||||
%dif = VectorSub(%objPos, %muzzlePos);
|
||||
%dif = getWord(%dif, 0) @ " " @ getWord(%dif, 1) @ " 0";
|
||||
%dif = VectorNormalize(%dif);
|
||||
%dot = VectorDot(%dif, %objDir2D);
|
||||
|
||||
// 120 Deg angle test...
|
||||
// 1.05 == 60 degrees in radians
|
||||
if (%dot >= mCos(1.05)) {
|
||||
// Rear hit
|
||||
%damageMultiplier = 3.0;
|
||||
}
|
||||
}
|
||||
|
||||
%totalDamage = S3Shocker.DirectDamage * %damageMultiplier;
|
||||
%hitObj.getDataBlock().damageObject(%hitobj, %p.sourceObject, %hitpos, %totalDamage, $DamageType::ShockLance);
|
||||
|
||||
%noDisplay = false;
|
||||
}
|
||||
}
|
||||
if( %noDisplay ) {
|
||||
// Miss
|
||||
%obj.setEnergyLevel(%obj.getEnergyLevel() - 0);
|
||||
%obj.playAudio(0, ShockLanceMissSound);
|
||||
|
||||
%p = new ShockLanceProjectile() {
|
||||
dataBlock = S3Shocker;
|
||||
initialDirection = %obj.getMuzzleVector(%slot);
|
||||
initialPosition = %obj.getMuzzlePoint(%slot);
|
||||
sourceObject = %obj;
|
||||
sourceSlot = %slot;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
%p.WeaponImageSource = "S3RifleImage";
|
||||
}
|
||||
//END STUFF
|
||||
%player.CantFireS3Shock = 1;
|
||||
schedule(6000, 0, "ResetS3Shock", %player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function MicroburstFemaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
MicroburstMaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val);
|
||||
}
|
||||
|
||||
function MicroburstMaleBiodermArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
MicroburstMaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val);
|
||||
}
|
||||
|
||||
function ResetS3Shock(%player) {
|
||||
%player.CantFireS3Shock = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function ShadowCommandoMaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 4) {
|
||||
// Throw grenade
|
||||
if (%val == 1) {
|
||||
%player.grenTimer = 1;
|
||||
}
|
||||
else {
|
||||
if (%player.grenTimer == 0) {
|
||||
// Bad throw for some reason
|
||||
}
|
||||
else {
|
||||
%player.use(Grenade);
|
||||
%player.grenTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 5) {
|
||||
// Throw mine
|
||||
if (%val == 1) {
|
||||
%player.mineTimer = 1;
|
||||
}
|
||||
else {
|
||||
if (%player.mineTimer == 0) {
|
||||
// Bad throw for some reason
|
||||
}
|
||||
else {
|
||||
if(%player.inv[C4] > 0) {
|
||||
%player.use(C4);
|
||||
%player.mineTimer = 0;
|
||||
}
|
||||
else {
|
||||
%player.use(Mine);
|
||||
%player.mineTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 3) {
|
||||
// val = 1 when jet key (LMB) first pressed down
|
||||
// val = 0 when jet key released
|
||||
// MES - do we need this at all any more?
|
||||
if(%player.RecentAttack["Shade"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
messageClient(%player.client, 'MsgShd', "\c5TWM2: Activating Shade");
|
||||
%player.RecentAttack["Shade"] = 1;
|
||||
schedule(90000, 0, "ResetPlayerDLAttack", %player, "Shade");
|
||||
%player.zapObject();
|
||||
%player.setCloaked(true);
|
||||
%player.setCloakStatus(true);
|
||||
%player.startFade(2000, 0, true);
|
||||
%player.schedule(15000, "zapObject");
|
||||
%player.schedule(15000, "setCloaked", false);
|
||||
%player.schedule(15000, "startFade", 5000, 0, false);
|
||||
%player.schedule(15000, "setCloakStatus", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Player::setCloakStatus(%player, %status) {
|
||||
%player.stealthed = %status;
|
||||
}
|
||||
|
||||
function ShadowCommandoFemaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
ShadowCommandoMaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val);
|
||||
}
|
||||
|
||||
function ShadowCommandoMaleBiodermArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
ShadowCommandoMaleHumanArmor::onTrigger(%data, %player, %triggerNum, %val);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//ZOMBAHS
|
||||
function ZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) {
|
||||
if(vectorLen(%player.getVelocity()) < 30) { //we dont want hyper speed zombies :)
|
||||
%player.applyImpulse(%player.getPosition(),vectorScale(%player.getMuzzleVector(0),$Zombie::forwardspeed));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function LordZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
PlayerLordFire1(%player);
|
||||
}
|
||||
else if (%triggerNum == 5) { //lifting
|
||||
playerLiftTarget(%player,0);
|
||||
}
|
||||
}
|
||||
|
||||
function DemonZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if(%player.isSniperZombie) {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
if(%player.RecentAttack["Shot"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["Shot"] = 1;
|
||||
schedule(3000, 0, "ResetPlayerDLAttack", %player, "Shot");
|
||||
%p = new TracerProjectile() { //TWM2 Sniper zombies use M1 Snipers :P
|
||||
dataBlock = M1Bullet;
|
||||
initialDirection = %player.getMuzzleVector(4);
|
||||
initialPosition = %player.getMuzzlePoint(4);
|
||||
sourceObject = %player;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
ServerPlay3D(M1FireSound, %player.getPosition());
|
||||
}
|
||||
}
|
||||
if(%triggerNum == 3) {
|
||||
%pos = %player.getPosition();
|
||||
%vector = %player.getMuzzleVector(4);
|
||||
%x = getWord(%vector, 0);
|
||||
%y = getWord(%vector, 1);
|
||||
%finX = %x * -1;
|
||||
%finY = %y * -1;
|
||||
%finalVec = %finX SPC %finY SPC 0;
|
||||
%finalVec = VectorScale(%finalVec, $Zombie::DForwardSpeed * 3);
|
||||
//Z is unimportant
|
||||
%player.applyImpulse(%pos, %finalVec);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
if(%player.recharging) {
|
||||
return;
|
||||
}
|
||||
%p = new GrenadeProjectile() {
|
||||
dataBlock = DemonFireball;
|
||||
initialDirection = %player.getMuzzleVector(0);
|
||||
initialPosition = vectoradd(%player.getMuzzlePoint(0), "0 0 1.5");
|
||||
sourceObject = %player;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
%player.recharging = 1;
|
||||
schedule(4000,0,"ResetZombieCharge",%player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function RapierZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) { //flying
|
||||
if(%val == 1)
|
||||
%player.isJetting = true;
|
||||
else {
|
||||
%player.isJetting = false;
|
||||
}
|
||||
}
|
||||
if (%triggerNum == 0) { //speeding
|
||||
if(vectorLen(%player.getVelocity()) < 30) { //we dont want hyper speed zombies :)
|
||||
%player.applyImpulse(%player.getPosition(),vectorScale(%player.getMuzzleVector(0),$Zombie::forwardspeed));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ResetPlayerDLAttack(%player, %attack) {
|
||||
%player.RecentAttack[""@%attack@""] = 0;
|
||||
}
|
||||
|
||||
function DemonMotherZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
PlayerLordFire1(%player);
|
||||
}
|
||||
else if (%triggerNum == 3) { //flying
|
||||
if(%player.RecentAttack["Fly"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%attack = getRandom(1, 2);
|
||||
%targetInfo = ZombieLookforTarget(%player);
|
||||
%target = getWord(%targetInfo, 0);
|
||||
if(%target.player.IsAlive()) {
|
||||
%player.RecentAttack["Fly"] = 1;
|
||||
schedule(17000, 0, "ResetPlayerDLAttack", %player, "Fly");
|
||||
if(%attack == 1) {
|
||||
PlayerDemonLordFlyAttack(%player, %target.player);
|
||||
}
|
||||
else {
|
||||
PlayerDemonLordPlasmaAttack(%player, %target.player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 4) {
|
||||
if(%player.RecentAttack["Missile"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%targetInfo = ZombieLookforTarget(%player);
|
||||
%target = getWord(%targetInfo, 0);
|
||||
if(%target.player.IsAlive()) {
|
||||
%player.RecentAttack["Missile"] = 1;
|
||||
schedule(17000, 0, "ResetPlayerDLAttack", %player, "Missile");
|
||||
//t3h missile
|
||||
%target = %target.player;
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(),%player.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = DMMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %player.getMuzzlePoint(4);
|
||||
sourceObject = %player;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target,%beacon,%p);
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 5) {
|
||||
if(%player.RecentAttack["Firestorm"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%targetInfo = ZombieLookforTarget(%player);
|
||||
%target = getWord(%targetInfo, 0);
|
||||
if(%target.player.IsAlive()) {
|
||||
%player.RecentAttack["Firestorm"] = 1;
|
||||
schedule(17000, 0, "ResetPlayerDLAttack", %player, "Firestorm");
|
||||
PlayerDemonLordFireRainAttack(%player, %target.player);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function YvexZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
if(%player.RecentAttack["Pulse"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%attack = getRandom(1, 2);
|
||||
%player.RecentAttack["Pulse"] = 1;
|
||||
schedule(14000, 0, "ResetPlayerDLAttack", %player, "Pulse");
|
||||
if(%attack == 1) {
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = KillerPulse;
|
||||
initialDirection = %player.getMuzzleVector(0);
|
||||
initialPosition = %player.getMuzzlePoint(0);
|
||||
sourceObject = %player;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
}
|
||||
else {
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = YvexSniperShot;
|
||||
initialDirection = %player.getMuzzleVector(0);
|
||||
initialPosition = %player.getMuzzlePoint(0);
|
||||
sourceObject = %player;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 3) { //flying
|
||||
if(%player.RecentAttack["RandNight"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["RandNight"] = 1;
|
||||
schedule(20000, 0, "ResetPlayerDLAttack", %player, "RandNight");
|
||||
%client = FindValidTarget(%player);
|
||||
%counts = 0;
|
||||
messageClient(%player.client,'msgZombie',"\c3Attempting Random Nightmare.");
|
||||
if(isObject(%client.player) && %client.player.getState !$= "dead" && !%client.ignoredbyZombs) {
|
||||
%c = createEmitter(%client.player.position,InfNightmareGlobeEmitter,"1 0 0"); //Rotate it
|
||||
MissionCleanup.add(%c); // I think This should be used
|
||||
schedule(3000,0,"killit",%c);
|
||||
%luck = getrandom(1,5);
|
||||
switch(%luck) {
|
||||
case 1:
|
||||
messageClient(%player.client,'msgZombie',"\c3Success!!!");
|
||||
Yvexnightmareloop(%player,%client);
|
||||
messageClient(%client,'msgClient',"~wfx/misc/diagnostic_on.wav");
|
||||
case 2:
|
||||
messageClient(%player.client,'msgZombie',"\c3Failed.");
|
||||
case 3:
|
||||
messageClient(%player.client,'msgZombie',"\c3Success!!!");
|
||||
Yvexnightmareloop(%player,%client);
|
||||
messageClient(%client,'msgClient',"~wfx/misc/diagnostic_on.wav");
|
||||
case 4:
|
||||
messageClient(%player.client,'msgZombie',"\c3Failed.");
|
||||
case 5:
|
||||
messageClient(%player.client,'msgZombie',"\c3Success!!!");
|
||||
Yvexnightmareloop(%player,%client);
|
||||
messageClient(%client,'msgClient',"~wfx/misc/diagnostic_on.wav");
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient(%player.client,'msgZombie',"\c3Failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 4) {
|
||||
if(%player.RecentAttack["Missile"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%targetInfo = ZombieLookforTarget(%player);
|
||||
%target = getWord(%targetInfo, 0);
|
||||
if(%target.player.IsAlive()) {
|
||||
%player.RecentAttack["Missile"] = 1;
|
||||
schedule(27500, 0, "ResetPlayerDLAttack", %player, "Missile");
|
||||
//t3h missile
|
||||
%target = %target.player;
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(),%player.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = YvexZombieMakerMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %player.getMuzzlePoint(4);
|
||||
sourceObject = %player;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target,%beacon,%p);
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 5) {
|
||||
if(%player.RecentAttack["Summon"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["Summon"] = 1;
|
||||
schedule(40000, 0, "ResetPlayerDLAttack", %player, "Summon");
|
||||
PlayerSummon(%player, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function LordRogZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
if(%player.RecentAttack["BOV"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["BOV"] = 1;
|
||||
schedule(1000, 0, "ResetPlayerDLAttack", %player, "BOV");
|
||||
%p = new (LinearProjectile)() {
|
||||
dataBlock = BOVhit;
|
||||
initialDirection = %player.getMuzzleVector(0);
|
||||
initialPosition = %player.getMuzzlePoint(0);
|
||||
sourceObject = %player;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 3) { //flying
|
||||
if(%player.RecentAttack["Summon"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["Summon"] = 1;
|
||||
schedule(35000, 0, "ResetPlayerDLAttack", %player, "Summon");
|
||||
PlayerSummon(%player, 6);
|
||||
}
|
||||
}
|
||||
else if (%triggerNum == 5) {
|
||||
if(%player.RecentAttack["RandAttack"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["RandAttack"] = 1;
|
||||
schedule(27500, 0, "ResetPlayerDLAttack", %player, "RandAttack");
|
||||
PlayerLRAbilities(%player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ShifterZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) { //flying
|
||||
if(%player.RecentAttack["Teleport"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%targetInfo = ZombieLookforTarget(%player);
|
||||
%target = getWord(%targetInfo, 0);
|
||||
if(%target.player.IsAlive()) {
|
||||
%player.RecentAttack["Teleport"] = 1;
|
||||
schedule(3500, 0, "ResetPlayerDLAttack", %player, "Teleport");
|
||||
%player.setVelocity("0 0 10");
|
||||
%player.startFade(500, 0, true);
|
||||
%player.schedule(600, "SetPosition", VectorAdd(%target.player.getPosition(), "0 0 3"));
|
||||
%player.startFade(750, 0, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function SummonerZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) { //flying
|
||||
if(%player.RecentAttack["Summon"] == 1) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%player.RecentAttack["Summon"] = 1;
|
||||
schedule(25000, 0, "ResetPlayerDLAttack", %player, "Summon");
|
||||
%Ct = GetRandom(1,3);
|
||||
%type = GetRandom(1, 8);
|
||||
if(%type > 5) {
|
||||
%type += 3;
|
||||
if(%type == 10) { //summoners don;t summon more summoners
|
||||
%type = 12;
|
||||
}
|
||||
}
|
||||
%SumPos = vectorAdd(VectorAdd(GetRandomPosition(20, 1), "0 0 7"), %player.getPosition());
|
||||
%c = CreateEmitter(%SumPos, NightmareGlobeEmitter, "0 0 1");
|
||||
%c.schedule(((%Ct * 1000) + 500), "delete");
|
||||
for(%i = 1; %i <= %ct; %i++) {
|
||||
%time = %i * 1000;
|
||||
schedule(%time, 0, "StartAZombie", %SumPos, %type);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function DemonUltraZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 0) { //shooting
|
||||
if(%player.recharging) {
|
||||
return;
|
||||
}
|
||||
%p = new GrenadeProjectile() {
|
||||
dataBlock = DemonFireball;
|
||||
initialDirection = %player.getMuzzleVector(0);
|
||||
initialPosition = vectoradd(%player.getMuzzlePoint(0), "0 0 1.5");
|
||||
sourceObject = %player;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
%player.recharging = 1;
|
||||
schedule(1000,0,"ResetZombieCharge",%player);
|
||||
}
|
||||
else if (%triggerNum == 3) {
|
||||
if(vectorLen(%player.getVelocity()) < 30) { //we dont want hyper speed zombies :)
|
||||
%player.applyImpulse(%player.getPosition(),vectorScale(%player.getMuzzleVector(0),$Zombie::forwardspeed));
|
||||
createBiodermProjection(%player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function FZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) {
|
||||
if(%player.zombieType == 13) {
|
||||
ServerPlay3D("SatchelChargeExplosionSound", %player.getPosition());
|
||||
%c4 = new Item() {
|
||||
datablock = C4Deployed;
|
||||
position = %player.getPosition();
|
||||
scale = ".1 .1 .1";
|
||||
};
|
||||
MissionCleanup.add(%c4);
|
||||
schedule(770, 0, "C4GoBoom", %c4);
|
||||
|
||||
%c4.theClient = %player.client;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function WraithZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) {
|
||||
if(vectorLen(%player.getVelocity()) < 30) { //we dont want hyper speed zombies :)
|
||||
%player.applyImpulse(%player.getPosition(),vectorScale(%player.getMuzzleVector(0),$Zombie::forwardspeed));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ROGZombieArmor::onTrigger(%data, %player, %triggerNum, %val) {
|
||||
if (%triggerNum == 3) {
|
||||
if(%player.state["canUseMG"]) {
|
||||
playerRogFire(%player);
|
||||
}
|
||||
}
|
||||
|
||||
if(%triggerNum == 0) {
|
||||
%player.SALoop = RapierShieldAttack(%player, %val, 0);
|
||||
}
|
||||
}
|
||||
2369
scripts/TWM2/Bosses/BossDatablocks.cs
Normal file
2369
scripts/TWM2/Bosses/BossDatablocks.cs
Normal file
File diff suppressed because it is too large
Load diff
263
scripts/TWM2/Bosses/ColonelWindshear.cs
Normal file
263
scripts/TWM2/Bosses/ColonelWindshear.cs
Normal file
|
|
@ -0,0 +1,263 @@
|
|||
//This sets up the drone and the functions needed to start the drone.
|
||||
function StartWindshear(%pos){
|
||||
%team = 6;
|
||||
%rotation = "1 0 0 0";
|
||||
%skill = 10;
|
||||
|
||||
%Drone = new FlyingVehicle() {
|
||||
dataBlock = WindshearPlatform;
|
||||
position = %pos;
|
||||
rotation = %rotation;
|
||||
team = %team;
|
||||
};
|
||||
MissionCleanUp.add(%Drone);
|
||||
|
||||
setTargetSensorGroup(%Drone.getTarget(), %team);
|
||||
|
||||
%Drone.isdrone = 1;
|
||||
%drone.dodgeGround = 0;
|
||||
|
||||
%drone.isace = 1;
|
||||
|
||||
%drone.skill = 0.2 + (%skill / 12.5);
|
||||
|
||||
schedule(100, 0, "WSForwardImpulse", %drone); //special impulse
|
||||
schedule(101, 0, "DronefindTarget", %drone);
|
||||
schedule(102, 0, "WSScanGround", %drone);
|
||||
|
||||
InitiateBoss(%drone, "CnlWindshear");
|
||||
|
||||
//Helpers
|
||||
%pos2 = vectoradd(%pos, "15 0 0");
|
||||
%pos3 = vectoradd(%pos, "-15 0 0");
|
||||
%d2 = StartAIGunship(%pos2, "", 6, "ace", 0);
|
||||
%d3 = StartAIGunship(%pos3, "", 6, "ace", 0);
|
||||
%d2.isUltrally = 1;
|
||||
%d3.isUltrally = 1;
|
||||
//
|
||||
|
||||
WindshearAttacks(%drone);
|
||||
|
||||
return %drone;
|
||||
}
|
||||
|
||||
function WSForwardImpulse(%obj){
|
||||
if(!isObject(%obj)) {
|
||||
return;
|
||||
}
|
||||
if(vectorLen(%obj.getVelocity()) < 500) {
|
||||
%obj.applyImpulse(%obj.getPosition(),vectorScale(%obj.getForwardVector(),$Drone::FrdImpulse));
|
||||
}
|
||||
schedule(100, 0, "WSForwardImpulse", %obj);
|
||||
}
|
||||
|
||||
function WSScanGround(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
%vec = %obj.getForwardVector();
|
||||
%vector = vectorAdd(%obj.getPosition(),"0 0 -350");
|
||||
%searchResult = containerRayCast(%obj.getWorldBoxCenter(), %vector, $TypeMasks::TerrainObjectType, %obj);
|
||||
if(%searchResult){
|
||||
%z = getWord(%vec,2);
|
||||
%height = vectorDist(%obj.getPosition(),posFromRaycast(%searchresult));
|
||||
if(%z < 0){
|
||||
if(%height <= (200 + ((%z * -1) * 300))){
|
||||
%obj.dodgeground = 1;
|
||||
schedule(100, 0, "WSDodgeGround", %obj);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
schedule(100, 0, "WSScanGround", %obj);
|
||||
}
|
||||
|
||||
function WSDodgeGround(%obj){
|
||||
if(!isObject(%obj))
|
||||
return;
|
||||
%vec = %obj.getForwardVector();
|
||||
%z = getWord(%vec,2);
|
||||
if(%z > 0){
|
||||
%obj.dodgeground = 0;
|
||||
schedule(100, 0, "DronefindTarget", %obj);
|
||||
schedule(101, 0, "WSScanGround", %obj);
|
||||
return;
|
||||
}
|
||||
%pos = vectorAdd(%obj.getPosition(),%vec);
|
||||
%obj.applyImpulse(%pos,vectorScale("0 0 1",$Drone::TurnImpulse * %obj.skill));
|
||||
schedule(100, 0, "WSDodgeGround", %obj);
|
||||
}
|
||||
|
||||
function DroneFindNearestPilot(%radius, %drone) {
|
||||
%pos = %drone.getposition();
|
||||
%wbpos = %drone.getworldboxcenter();
|
||||
%count = ClientGroup.getCount();
|
||||
%closestClient = -1;
|
||||
%closestDistance = %radius;
|
||||
for(%i = 0; %i < %count; %i++)
|
||||
{
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player)){
|
||||
%testPos = %cl.player.getWorldBoxCenter();
|
||||
%distance = vectorDist(%wbpos, %testPos);
|
||||
if (%distance > 0 && %distance < %closestDistance)
|
||||
{
|
||||
%closestClient = %cl;
|
||||
%closestDistance = %distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
return %closestClient;
|
||||
}
|
||||
|
||||
function WindshearAttacks(%drone) {
|
||||
if(!isObject(%drone)) {
|
||||
return;
|
||||
}
|
||||
schedule(30000, 0, "WindshearAttacks", %drone);
|
||||
%rand = getRandom(1, 4);
|
||||
switch(%rand) {
|
||||
case 1:
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(3500, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(4200, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(4900, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(5600, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(6300, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(7000, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
// Quick Shots
|
||||
schedule(8000, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(8100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(8200, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(8300, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Windshear"]@": Did you actually think, your fucking missiles could hit me?");
|
||||
case 2:
|
||||
%target = DroneFindNearestPilot(2000,%drone);
|
||||
if(%target.player) {
|
||||
WindshearAttack_FUNC("SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(3500, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(4200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(4900, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(5600, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(6300, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(7000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
// Quick Shots
|
||||
schedule(8000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(8100, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(8200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(8300, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Windshear"]@": You fuckin' Chasing me "@getTaggedString(%target.name)@"!?!? WATCH THIS BITCH!!!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Windshear"]@": FUCK, My missile strike was ready.");
|
||||
}
|
||||
case 3:
|
||||
%target = DroneFindNearestPilot(2000,%drone);
|
||||
if(%target.player) {
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
WindshearAttack_FUNC("SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
// Quick Shots
|
||||
schedule(1000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(1100, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(1200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(1300, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Windshear"]@": I'ma kill me a fuckin' "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Windshear"]@": FUCK!!! Oh well, Flares will fucking do...");
|
||||
}
|
||||
default:
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Windshear"]@": FUCK!!! Oh well, Flares will fucking do...");
|
||||
}
|
||||
}
|
||||
|
||||
//Attack Function
|
||||
function WindshearAttack_FUNC(%att, %args) {
|
||||
switch$(%att) {
|
||||
case "Flare":
|
||||
%d = getWord(%args, 0);
|
||||
if(!isObject(%d)) {
|
||||
return;
|
||||
}
|
||||
%SPos = vectorAdd(%d.getPosition(),"0 0 0");
|
||||
%p1 = new FlareProjectile() {
|
||||
dataBlock = FlareGrenadeProj;
|
||||
initialDirection = "5 0 -3";
|
||||
initialPosition = %SPos;
|
||||
sourceObject = %d;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
%p2 = new FlareProjectile() {
|
||||
dataBlock = FlareGrenadeProj;
|
||||
initialDirection = "-5 0 -3";
|
||||
initialPosition = %SPos;
|
||||
sourceObject = %d;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
FlareSet.add(%p1);
|
||||
FlareSet.add(%p2);
|
||||
MissionCleanup.add(%p1);
|
||||
MissionCleanup.add(%p2);
|
||||
|
||||
case "HeatLoop":
|
||||
%t = getWord(%args, 0);
|
||||
%v = getWord(%args, 1);
|
||||
|
||||
if(!isObject(%t) || %t.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(%v > 200) {
|
||||
return;
|
||||
}
|
||||
%v++;
|
||||
%t.setHeat(100);
|
||||
schedule(100, 0, "WindshearAttack_FUNC", "HeatLoop", %t SPC %v);
|
||||
|
||||
case "MissileDrop":
|
||||
%t = getWord(%args, 0);
|
||||
%m = getWord(%args, 1);
|
||||
|
||||
%t.setHeat(100);
|
||||
%m.setObjectTarget(%t);
|
||||
//HeatLoop(%t,0);
|
||||
WindshearAttack_FUNC("HeatLoop", %t SPC 0);
|
||||
|
||||
case "SidewinderLaunch":
|
||||
%d = getWord(%args, 0);
|
||||
%t = getWord(%args, 1);
|
||||
%TTL = getWord(%args, 2);
|
||||
|
||||
if(!isObject(%d) || !isObject(%t) || %t.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%SPos = vectorAdd(%d.getPosition(),"0 0 3");
|
||||
%p1 = new SeekerProjectile() {
|
||||
dataBlock = BossMissiles;
|
||||
initialDirection = "0 0 10";
|
||||
initialPosition = %SPos;
|
||||
sourceObject = %d;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%p1);
|
||||
schedule(%TTL * 1000, 0, "WindshearAttack_FUNC", "MissileDrop", %t SPC %p1);
|
||||
}
|
||||
}
|
||||
|
||||
208
scripts/TWM2/Bosses/GeneralVegenor.cs
Normal file
208
scripts/TWM2/Bosses/GeneralVegenor.cs
Normal file
|
|
@ -0,0 +1,208 @@
|
|||
function SpawnVegenor(%position) {
|
||||
%Zombie = new player(){
|
||||
Datablock = "VegenorZombieArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%position, "0 0 5");
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["Vegenor"]@": Time to engage the enemy soldiers!!!");
|
||||
|
||||
%command = "Vegenormovetotarget";
|
||||
%zombie.ticks = 0;
|
||||
InitiateBoss(%zombie, "Vengenor");
|
||||
VegenorAttack_FUNC("Summon", %zombie);
|
||||
VegenorAttack(%zombie);
|
||||
|
||||
%Zombie.team = 30;
|
||||
%zname = $TWM2::BossName["Vegenor"]; // <- To Hosts, Enjoy, You can
|
||||
//Change the Zombie Names now!!!
|
||||
%zombie.target = createTarget(%zombie, %zname, "", "Derm3", '', %zombie.team, PlayerSensor);
|
||||
setTargetSensorData(%zombie.target, PlayerSensor);
|
||||
setTargetSensorGroup(%zombie.target, 30);
|
||||
setTargetName(%zombie.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%zombie.target, 'Horde');
|
||||
//
|
||||
%zombie.type = %type;
|
||||
%Zombie.setTransform(%cpos);
|
||||
%zombie.canjump = 1;
|
||||
%zombie.hastarget = 1;
|
||||
%zombie.isZombie = 1;
|
||||
MissionCleanup.add(%Zombie);
|
||||
schedule(1000, %zombie, %command, %zombie);
|
||||
}
|
||||
|
||||
function Vegenormovetotarget(%zombie){
|
||||
if(!isobject(%zombie))
|
||||
return;
|
||||
if(%zombie.getState() $= "dead")
|
||||
return;
|
||||
%pos = %zombie.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%zombie);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.setPosition(vectorAdd(vectoradd(%closestclient.player.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%zombie.setVelocity("0 0 0");
|
||||
MessageAll('msgAntiFall', "\c4"@$TWM2::BossName["Vegenor"]@": Fuck Falling!!!!");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $zombie::detectDist){
|
||||
//Random Repeling
|
||||
if(%closestDistance < 25) {
|
||||
%zombie.playShieldEffect("1 1 1");
|
||||
%RepChance = getRandom(1, 5);
|
||||
if(%RepChance == 3) {
|
||||
RepelZombie(%closestClient, %zombie);
|
||||
}
|
||||
//FIAH!!!
|
||||
else {
|
||||
%vec = vectorsub(%closestClient.getworldboxcenter(),vectorAdd(%zombie.getPosition(), "0 0 1"));
|
||||
%vec = vectoradd(%vec, vectorscale(%closestClient.getvelocity(),vectorlen(%vec)/100));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = FlamethrowerBolt; //burn :)
|
||||
initialDirection = %vec;
|
||||
initialPosition = vectorAdd(%zombie.getPosition(), "0 0 1");
|
||||
sourceObject = %zombie;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
if(%zombie.hastarget != 1){
|
||||
serverPlay3d("ZombieHOWL",%zombie.getWorldBoxCenter());
|
||||
%zombie.hastarget = 1;
|
||||
}
|
||||
%chance = (getrandom() * 20);
|
||||
if(%chance >= 19)
|
||||
serverPlay3d("ZombieMoan",%zombie.getWorldBoxCenter());
|
||||
|
||||
%vector = ZgetFacingDirection(%zombie,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%zombie.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%zombie.hastarget == 1){
|
||||
%zombie.hastarget = 0;
|
||||
%zombie.zombieRmove = schedule(100, %zombie, "ZSetRandomMove", %zombie);
|
||||
}
|
||||
%zombie.moveloop = schedule(500, %zombie, "Vegenormovetotarget", %zombie);
|
||||
}
|
||||
|
||||
function VegenorAttack_FUNC(%att, %args) {
|
||||
switch$(%att) {
|
||||
case "Summon":
|
||||
%z = getWord(%args, 0);
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//schedule the next one
|
||||
schedule(30000, 0, "VegenorAttack_FUNC", "Summon", %z);
|
||||
//--------------------
|
||||
%type = getRandomZombieType("1 2 3 4 5 9 12 13 14");
|
||||
%msg = getrandom(1,2);
|
||||
switch(%msg) {
|
||||
case 1:
|
||||
messageall('MsgSummon',"\c4"@$TWM2::BossName["Vegenor"]@": Attack the enemy");
|
||||
case 2:
|
||||
messageall('MsgSummon',"\c4"@$TWM2::BossName["Vegenor"]@": Hunt them all down");
|
||||
}
|
||||
for(%i = 0; %i < 6; %i++) {
|
||||
%pos = vectoradd(%z.getPosition(), getRandomPosition(10,1));
|
||||
%fpos = vectoradd("0 0 5",%pos);
|
||||
StartAZombie(%fpos, %type);
|
||||
}
|
||||
%z.setMoveState(true);
|
||||
%z.setActionThread($Zombie::RAAMThread, true);
|
||||
%z.schedule(3500, "setMoveState", false);
|
||||
case "SetFire":
|
||||
%t = getWord(%args, 0);
|
||||
if(%t.maxfirecount $= "") {
|
||||
%t.maxfirecount = 0;
|
||||
}
|
||||
%t.maxfirecount = %t.maxfirecount + (30 * (0.05/0.2));
|
||||
if(%t.onfire == 0 || %t.onfire $= ""){
|
||||
%t.onfire = 1;
|
||||
schedule(10, %t, "burnloop", %t);
|
||||
}
|
||||
case "FlameMissileSingle":
|
||||
%Tobj = getWord(%args, 0);
|
||||
%vec = vectorNormalize(vectorSub(%Tobj.getPosition(), %z.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = VegenorFireMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %z.getMuzzlePoint(4);
|
||||
sourceObject = %z;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %Tobj.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%Tobj, %beacon,%p);
|
||||
case "MeteorDrop":
|
||||
%t = getWord(%args, 0);
|
||||
%fpos = vectoradd(%t.getposition(), getRandomposition(50, 0));
|
||||
%pos2 = vectoradd(%fpos, "0 0 700");
|
||||
schedule(500, 0, spawnprojectile, VegenorFireMeteor, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
}
|
||||
}
|
||||
|
||||
function VegenorAttack(%z) {
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
schedule(30000, 0, "VegenorAttack", %z);
|
||||
%z.setVelocity("0 0 0");
|
||||
//Attacks
|
||||
%AttackNum = getRandom(1, 4);
|
||||
switch(%AttackNum) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": Flame on "@getTaggedString(%target.name)@"!");
|
||||
VegenorAttack_FUNC("SetFire", %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": heh, "@getTaggedString(%target.name)@" is already dead!");
|
||||
}
|
||||
case 2:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": Lets insert some fire into your life, "@getTaggedString(%target.name)@"!");
|
||||
VegenorAttack_FUNC("FlameMissileSingle", %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": Hiding from me "@getTaggedString(%target.name)@"?");
|
||||
}
|
||||
case 3:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": Fire Missiles For ALL!!");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player) && %cl.player.getState() !$= "dead") {
|
||||
VegenorAttack_FUNC("FlameMissileSingle", %cl.player);
|
||||
}
|
||||
}
|
||||
case 4:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": Hey "@getTaggedString(%target.name)@", LOOK UP!!!");
|
||||
VegenorAttack_FUNC("MeteorDrop", %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": Hiding does not beat me "@getTaggedString(%target.name)@"!!!");
|
||||
}
|
||||
default:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Vegenor"]@": I shall wait!!!");
|
||||
}
|
||||
}
|
||||
426
scripts/TWM2/Bosses/GhostOfFire.cs
Normal file
426
scripts/TWM2/Bosses/GhostOfFire.cs
Normal file
|
|
@ -0,0 +1,426 @@
|
|||
//Ghost of Fire
|
||||
//Phantom139
|
||||
//Ported From TWM1
|
||||
|
||||
function StartGhostFire(%pos) {
|
||||
%Ghost = new player(){
|
||||
Datablock = "GhostFireArmor";
|
||||
};
|
||||
%Ghost.setTransform(%pos);
|
||||
%Ghost.team = 30;
|
||||
%Ghost.hastarget = 1;
|
||||
%Ghost.isGOF = 1;
|
||||
%Ghost.isBoss = 1;
|
||||
MissionCleanup.add(%Ghost);
|
||||
%Ghost.target = createTarget(%Ghost, ""@$TWM2::BossName["GoF"]@"", "", "Male3", '', %Ghost.team, PlayerSensor);
|
||||
setTargetSensorData(%Ghost.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Ghost.target, 30);
|
||||
setTargetName(%Ghost.target, addtaggedstring($TWM2::BossName["GoF"]));
|
||||
|
||||
GOFAttack_FUNC("ConsiderFlamethrower", %Ghost);
|
||||
GOFDoRandomAttacks(%ghost);
|
||||
|
||||
InitiateBoss(%ghost, "GhostOfFire");
|
||||
|
||||
schedule(500, 0, "GOFLookforTarget", %Ghost);
|
||||
}
|
||||
|
||||
function GOFLookforTarget(%Ghost) {
|
||||
if(!isObject(%Ghost))
|
||||
return;
|
||||
if(%Ghost.getState() $= "dead")
|
||||
return;
|
||||
%pos = %Ghost.getposition();
|
||||
%wbpos = %Ghost.getworldboxcenter();
|
||||
%count = ClientGroup.getCount();
|
||||
%closestClient = -1;
|
||||
%closestDistance = 32767;
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player)){
|
||||
%testPos = %cl.player.getWorldBoxCenter();
|
||||
%distance = vectorDist(%wbpos, %testPos);
|
||||
if (%distance > 0 && %distance < %closestDistance) {
|
||||
%closestClient = %cl;
|
||||
%closestDistance = %distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(%closestClient) {
|
||||
GOFPerformMove(%Ghost,%closestClient,%closestDistance);
|
||||
}
|
||||
%Ghost.Targeting = schedule(500, %Ghost, "GOFLookforTarget", %Ghost);
|
||||
}
|
||||
|
||||
function GOFPerformMove(%ghost,%closestClient,%closestDistance) {
|
||||
%ghost.TargetCL = %closestClient;
|
||||
%ghost.DistToTarg = %closestDistance;
|
||||
%zposition = %ghost.getPosition();
|
||||
%Zzaxis = getword(%zposition,2);
|
||||
if(%Zzaxis < $zombie::falldieheight) {
|
||||
%ghost.scriptkill($DamageType::Suicide);
|
||||
}
|
||||
%pos = %ghost.getworldboxcenter();
|
||||
%closestClient = %closestClient.Player;
|
||||
if(%closestDistance <= $zombie::detectDist){
|
||||
if(%ghost.hastarget != 1){
|
||||
%ghost.hastarget = 1;
|
||||
}
|
||||
|
||||
//target is coming in for an easy kill, lets tele
|
||||
if(%closestDistance < 15) {
|
||||
GOFAttack_FUNC("BurnTeleport", %ghost);
|
||||
}
|
||||
|
||||
%clpos = %closestClient.getPosition();
|
||||
%vector = vectorNormalize(vectorSub(%clpos, %pos));
|
||||
%v1 = getword(%vector, 0);
|
||||
%v2 = getword(%vector, 1);
|
||||
%nv1 = %v2;
|
||||
%nv2 = (%v1 * -1);
|
||||
%none = 0;
|
||||
%vector2 = %nv1@" "@%nv2@" "@%none;
|
||||
%ghost.setRotation(fullrot("0 0 0",%vector2));
|
||||
|
||||
%fmultiplier = $Zombie::ForwardSpeed;
|
||||
%vector = vectorscale(%vector, %Fmultiplier);
|
||||
%upvec = "150";
|
||||
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= 600)
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%ghost.applyImpulse(%pos, %vector);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//ATTACKS
|
||||
function GOFAttack_FUNC(%att, %args) {
|
||||
switch$(%att) {
|
||||
case "ConsiderFlamethrower":
|
||||
%g = getWord(%args, 0);
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%target = %g.TargetCL;
|
||||
%distance = %g.DistToTarg;
|
||||
if(isObject(%target.player) && %target.player.getState() !$= "dead") {
|
||||
//We have a target, time to scan distance
|
||||
if(%distance <= 35) {
|
||||
//The idiot is in range, crisp em :)
|
||||
%vec = vectorsub(%target.player.getworldboxcenter(),vectorAdd(%g.getPosition(), "0 0 1"));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.player.getvelocity(),vectorlen(%vec)/100));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = FlamethrowerBolt; //burn :)
|
||||
initialDirection = %vec;
|
||||
initialPosition = vectorAdd(%g.getPosition(), "0 0 1");
|
||||
sourceObject = %g;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
schedule(200, 0, "GOFAttack_FUNC", "ConsiderFlamethrower", %g);
|
||||
}
|
||||
else {
|
||||
schedule(750, 0, "GOFAttack_FUNC", "ConsiderFlamethrower", %g);
|
||||
}
|
||||
}
|
||||
//no target, lets use a longer loop
|
||||
else {
|
||||
schedule(750, 0, "GOFAttack_FUNC", "ConsiderFlamethrower", %g);
|
||||
}
|
||||
|
||||
case "Fireball":
|
||||
%g = getWord(%args, 0);
|
||||
%t = getWord(%args, 1);
|
||||
if(!isObject(%t) || %t.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%vec = vectorsub(%t.getworldboxcenter(), %g.getMuzzlePoint(0));
|
||||
%vec = vectoradd(%vec, vectorscale(%t.getvelocity(), vectorlen(%vec)/100));
|
||||
%p = new LinearProjectile() {
|
||||
dataBlock = NapalmShot; //burn :)
|
||||
initialDirection = %vec;
|
||||
initialPosition = %g.getMuzzlePoint(0);
|
||||
sourceObject = %g;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
|
||||
case "FBSpiral":
|
||||
%g = getWord(%args, 0);
|
||||
%msDelay = getWord(%args, 1);
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isSet(%msDelay)) {
|
||||
%msDelay = 100;
|
||||
}
|
||||
%dir[0] = "1 0 0";
|
||||
%dir[1] = "1 1 0";
|
||||
%dir[2] = "0 1 0";
|
||||
%dir[3] = "-1 1 0";
|
||||
%dir[4] = "-1 0 0";
|
||||
%dir[5] = "-1 -1 0";
|
||||
%dir[6] = "0 -1 0";
|
||||
%dir[7] = "1 -1 0";
|
||||
//
|
||||
for(%i = 0; %i < 8; %i++) {
|
||||
%time = %i * %msDelay;
|
||||
schedule(%time, 0, spawnprojectile, NapalmShot, LinearProjectile, %g.getPosition(), %dir[%i], %g);
|
||||
}
|
||||
|
||||
case "FireBlast":
|
||||
//CAREFUL!!! note the change from getWord to getField!!!
|
||||
%g = getField(%args, 0);
|
||||
%pos = getField(%args, 1);
|
||||
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = napalmSubExplosion;
|
||||
initialDirection = "0 0 -10";
|
||||
initialPosition = %pos;
|
||||
sourceObject = %g;
|
||||
sourceSlot = 5;
|
||||
};
|
||||
%p.vector = "0 0 -10";
|
||||
%p.count = 1;
|
||||
|
||||
case "BurnTeleport":
|
||||
%g = getWord(%args, 0);
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%cP = %g.getPosition();
|
||||
%nP = getRandomPosition(55, 0);
|
||||
%nP2 = vectorAdd(%np, "0 0 100");
|
||||
%fP = vectorAdd(%cP, %nP2);
|
||||
GOFAttack_FUNC("FireBlast", %g TAB %cP);
|
||||
%g.setTransform(%fP);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": ehehehehe.. Burn out...");
|
||||
|
||||
case "Flamecano":
|
||||
%g = getWord(%args, 0);
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//First, Specify All Directions
|
||||
%vec[1] = vectorscale(vectornormalize("1 0 0"), 24); // +X 0Y
|
||||
%vec[2] = vectorscale(vectornormalize("1 1 0"), 24); // +X +Y
|
||||
%vec[3] = vectorscale(vectornormalize("1 -1 0"), 24); // +X -Y
|
||||
%vec[4] = vectorscale(vectornormalize("-1 0 0"), 24); // -X 0Y
|
||||
%vec[5] = vectorscale(vectornormalize("-1 1 0"), 24); // -X +Y
|
||||
%vec[6] = vectorscale(vectornormalize("-1 -1 0"), 24); //-X -Y
|
||||
%vec[7] = vectorscale(vectornormalize("0 1 0"), 24); // 0X +Y
|
||||
%vec[8] = vectorscale(vectornormalize("0 -1 0"), 24); // 0X -Y
|
||||
//Oh.. long crap
|
||||
for(%i = 1; %i <= 8; %i++) {
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = napalmSubExplosion;
|
||||
initialDirection = "0 0 -30";
|
||||
initialPosition = vectorAdd(%g.getPosition(), "0 0 -3");
|
||||
sourceObject = %g;
|
||||
sourceSlot = 5;
|
||||
};
|
||||
%p.maxCount = 5;
|
||||
%p.vector = %vec[%i];
|
||||
%p.count = 1;
|
||||
}
|
||||
|
||||
case "Ultracano":
|
||||
%g = getWord(%args, 0);
|
||||
%TPos = getWords(%args, 1);
|
||||
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//First, Specify All Directions
|
||||
%vec[1] = vectorscale(vectornormalize("1 0 0"), 24); // +X 0Y
|
||||
%vec[2] = vectorscale(vectornormalize("1 1 0"), 24); // +X +Y
|
||||
%vec[3] = vectorscale(vectornormalize("1 -1 0"), 24); // +X -Y
|
||||
%vec[4] = vectorscale(vectornormalize("-1 0 0"), 24); // -X 0Y
|
||||
%vec[5] = vectorscale(vectornormalize("-1 1 0"), 24); // -X +Y
|
||||
%vec[6] = vectorscale(vectornormalize("-1 -1 0"), 24); //-X -Y
|
||||
%vec[7] = vectorscale(vectornormalize("0 1 0"), 24); // 0X +Y
|
||||
%vec[8] = vectorscale(vectornormalize("0 -1 0"), 24); // 0X -Y
|
||||
//Oh.. long crap
|
||||
for(%i = 1; %i <= 8; %i++) {
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = napalmSubExplosion;
|
||||
initialDirection = "0 0 -30";
|
||||
initialPosition = vectorAdd(%TPos, "0 0 3");
|
||||
sourceSlot = 5;
|
||||
maxCount = 15;
|
||||
};
|
||||
%p.sourceObject = %g;
|
||||
%p.vector = %vec[%i];
|
||||
%p.count = 1;
|
||||
}
|
||||
|
||||
case "LaunchSeekfire":
|
||||
%g = getWord(%args, 0);
|
||||
%t = getWord(%args, 1);
|
||||
%stDelay = getWord(%args, 2);
|
||||
|
||||
%proj = createSeekingProjectile("GhostFlameboltMain", "LinearFlareProjectile", VectorAdd(%g.getPosition(), "0 0 5"), "0 0 1", %g, %t, %stDelay);
|
||||
}
|
||||
}
|
||||
|
||||
function GOFDoFlameCano(%g, %target) {
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%g.setPosition(VectorAdd(%target.player.getPosition(), "0 0 70"));
|
||||
%Pad = new StaticShape() {
|
||||
dataBlock = DeployedSpine;
|
||||
scale = ".1 .1 1";
|
||||
position = VectorAdd(%target.player.getPosition(), "0 0 69");
|
||||
};
|
||||
%g.setMoveState(true);
|
||||
%Pad.setCloaked(true);
|
||||
%Pad.schedule(3000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 10"));
|
||||
%Pad.schedule(4000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 20"));
|
||||
%Pad.schedule(5000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 30"));
|
||||
%Pad.schedule(6000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 40"));
|
||||
%g.schedule(6500, "SetMoveState", false);
|
||||
%pad.schedule(6500, "Delete");
|
||||
//The Vector Crap
|
||||
schedule(2500, 0, "GOFAttack_FUNC", "Flamecano", %g);
|
||||
}
|
||||
|
||||
function GOFDoRandomAttacks(%g) {
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%rand = getRandom(1,15);
|
||||
%target = FindValidTarget(%g);
|
||||
switch(%rand) {
|
||||
case 1:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("FireBlast", %g TAB %target.player.getPosition());
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Time to heat things up "@getTaggedString(%target.name)@".");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Frightened of my fire? Good.");
|
||||
}
|
||||
case 2:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("Fireball", %g SPC %target.player);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Lets see how you dodge this, "@getTaggedString(%target.name)@".");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Frightened of this? Good.");
|
||||
}
|
||||
case 3:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("Fireball", %g SPC %target.player);
|
||||
schedule(400, 0, GOFAttack_FUNC, "Fireball", %g SPC %target.player);
|
||||
schedule(800, 0, GOFAttack_FUNC, "Fireball", %g SPC %target.player);
|
||||
schedule(1200, 0, GOFAttack_FUNC, "Fireball", %g SPC %target.player);
|
||||
schedule(1600, 0, GOFAttack_FUNC, "Fireball", %g SPC %target.player);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Flame Storm "@getTaggedString(%target.name)@", cooked up nicely for you.");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": I love Fire.. it's Good your scared.");
|
||||
}
|
||||
case 4:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("FireBlast", %g TAB vectorAdd(%target.player.getPosition(), "0 0 25"));
|
||||
schedule(400, 0, GOFAttack_FUNC, "FireBlast", %g TAB vectorAdd(%target.player.getPosition(), "0 0 30"));
|
||||
schedule(800, 0, GOFAttack_FUNC, "FireBlast", %g TAB vectorAdd(%target.player.getPosition(), "0 0 35"));
|
||||
schedule(1200, 0, GOFAttack_FUNC, "FireBlast", %g TAB vectorAdd(%target.player.getPosition(), "0 0 40"));
|
||||
schedule(1600, 0, GOFAttack_FUNC, "FireBlast", %g TAB vectorAdd(%target.player.getPosition(), "0 0 45"));
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Engage Dictator Strike!!!");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Frightened Of Fire? Good.");
|
||||
}
|
||||
case 5:
|
||||
if(isObject(%target.player)) {
|
||||
GOFDoFlameCano(%g, %target);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": I Intend Every Moment... FLAMECANO!");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Oh Well, The Volcanic Explosion Can Wait.");
|
||||
}
|
||||
case 6:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 1);
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 1500);
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 3000);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Clensic Flames Will Persue You "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Darn, I Love Cursed Fire.");
|
||||
}
|
||||
case 7:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 1);
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 1500);
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 3000);
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 4500);
|
||||
GOFAttack_FUNC("LaunchSeekfire", %g SPC %target.player SPC 6000);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Clensic Flames Will Persue You "@getTaggedString(%target.name)@", MANY FLAMES!");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Darn, I Love Mega Cursed Fire.");
|
||||
}
|
||||
case 8:
|
||||
if(isObject(%target.player)) {
|
||||
GOFAttack_FUNC("Fireball", %g SPC %target.player);
|
||||
for(%i = 1; %i <= 9; %i++) {
|
||||
%time = %i * 100;
|
||||
schedule(%time, 0, GOFAttack_FUNC, "Fireball", %g SPC %target.player);
|
||||
}
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Lets unleash the fireballs upon "@getTaggedString(%target.name)@"!!!");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": I love Fire.. it's Good your scared.");
|
||||
}
|
||||
case 9:
|
||||
GOFAttack_FUNC("FBSpiral", %g SPC 200);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Let the flaming spinner begin!");
|
||||
case 10:
|
||||
GOFAttack_FUNC("FBSpiral", %g SPC 200);
|
||||
schedule(1000, 0, GOFAttack_FUNC, "FBSpiral", %g SPC 200);
|
||||
schedule(2000, 0, GOFAttack_FUNC, "FBSpiral", %g SPC 200);
|
||||
schedule(3000, 0, GOFAttack_FUNC, "FBSpiral", %g SPC 200);
|
||||
schedule(4000, 0, GOFAttack_FUNC, "FBSpiral", %g SPC 200);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": CLENSE ALL!");
|
||||
case 11:
|
||||
GOFAttack_FUNC("Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(3000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(6000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(9000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": ERUPT!!! MY VOLCANO!!!!");
|
||||
case 12:
|
||||
GOFAttack_FUNC("Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(3000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(6000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(9000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(12000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(15000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(18000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
schedule(20000, 0, GOFAttack_FUNC, "Ultracano", %g SPC "0 0" SPC getTerrainHeight("0 0 0"));
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": YES YES YES!!!! SUPERVOLCANO GO!!!!!");
|
||||
case 13 or 14 or 15:
|
||||
if(isObject(%target.player)) {
|
||||
%store = %target.player.getPosition();
|
||||
GOFAttack_FUNC("Ultracano", %g SPC %store);
|
||||
schedule(3000, 0, GOFAttack_FUNC, "Ultracano", %g SPC %store);
|
||||
schedule(6000, 0, GOFAttack_FUNC, "Ultracano", %g SPC %store);
|
||||
schedule(9000, 0, GOFAttack_FUNC, "Ultracano", %g SPC %store);
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Rise Mt. Death... Cleanse "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
messageall('TheFireMsg',"\c4"@$TWM2::BossName["GoF"]@": Mt Death can await....");
|
||||
}
|
||||
}
|
||||
schedule(25000,0,"GOFDoRandomAttacks", %g);
|
||||
}
|
||||
192
scripts/TWM2/Bosses/GhostOfLightning.cs
Normal file
192
scripts/TWM2/Bosses/GhostOfLightning.cs
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
//DBS
|
||||
|
||||
|
||||
//CREATION
|
||||
|
||||
function SpawnGhostOfLightning(%position) {
|
||||
%Ghost = new player(){
|
||||
Datablock = "LightningGhostArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%position, "0 0 5");
|
||||
MessageAll('MsgDarkraireturn', "\c4"@$TWM2::BossName["GoL"]@": It's time to show you the shocking power of electricity");
|
||||
|
||||
%command = "GoLmovetotarget";
|
||||
InitiateBoss(%Ghost, "GhostOfLightning");
|
||||
|
||||
%Ghost.team = 30;
|
||||
%zname = CollapseEscape("\c7"@$TWM2::BossName["GoL"]@"");
|
||||
DoGoLAttacks(%ghost);
|
||||
|
||||
%Ghost.target = createTarget(%Ghost, %zname, "", "Derm3", '', %Ghost.team, PlayerSensor);
|
||||
setTargetSensorData(%Ghost.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Ghost.target, 30);
|
||||
setTargetName(%Ghost.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%Ghost.target, 'Horde');
|
||||
//
|
||||
%Ghost.type = %type;
|
||||
%Ghost.setTransform(%cpos);
|
||||
%Ghost.canjump = 1;
|
||||
%Ghost.hastarget = 1;
|
||||
%Ghost.isGhost = 1;
|
||||
MissionCleanup.add(%Ghost);
|
||||
schedule(1000, %Ghost, %command, %Ghost);
|
||||
}
|
||||
|
||||
function GoLmovetotarget(%Ghost){
|
||||
if(!isobject(%Ghost))
|
||||
return;
|
||||
if(%Ghost.getState() $= "dead")
|
||||
return;
|
||||
%pos = %Ghost.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%Ghost);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%Ghost.startFade(400, 0, true);
|
||||
%Ghost.startFade(1000, 0, false);
|
||||
%Ghost.setPosition(vectorAdd(%ghost.getPosition(), "0 0 500"));
|
||||
%Ghost.setVelocity("0 0 0");
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": I'm back!!!");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance < 20) {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": I don't think so!");
|
||||
//ATTACK
|
||||
%p = new ShockLanceProjectile() {
|
||||
dataBlock = GoLShocker;
|
||||
initialDirection = %Ghost.getMuzzleVector(0);
|
||||
initialPosition = %Ghost.getMuzzlePoint(0);
|
||||
sourceObject = %Ghost;
|
||||
sourceSlot = 0;
|
||||
targetId = %closestClient;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
//
|
||||
%totalDamage = 50;
|
||||
%closestClient.getDataBlock().damageObject(%closestClient, %ghost, %closestClient.getPosition(), %totalDamage, $DamageType::ShockLance);
|
||||
//
|
||||
%Ghost.startFade(400, 0, true);
|
||||
%Ghost.startFade(1000, 0, false);
|
||||
%new = VectorAdd(%Ghost.getPosition(), GetRandomPosition(50, 1));
|
||||
%new = VectorAdd(%new, "0 0 5");
|
||||
%Ghost.setPosition(%new);
|
||||
%Ghost.setVelocity("0 0 0");
|
||||
}
|
||||
if(%closestDistance <= $Zombie::detectDist){
|
||||
%Ghost.hastarget = 0;
|
||||
%vector = ZgetFacingDirection(%Ghost,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
|
||||
%vector = %x@" "@%y@" "@%z;
|
||||
%Ghost.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%Ghost.hastarget == 1){
|
||||
%Ghost.hastarget = 0;
|
||||
%Ghost.GhostRmove = schedule(100, %Ghost, "ZSetRandomMove", %Ghost);
|
||||
}
|
||||
%Ghost.moveloop = schedule(500, %Ghost, "GoLmovetotarget", %Ghost);
|
||||
}
|
||||
|
||||
function DoGoLAttacks(%ghost) {
|
||||
if(!isObject(%ghost) || %ghost.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//
|
||||
%type = getRandom(1, 5);
|
||||
switch(%type) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%ghost);
|
||||
if(!isObject(%target.player)) {
|
||||
schedule(35000, 0, "DoGoLAttacks", %ghost);
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Meh, no targets for me.");
|
||||
return;
|
||||
}
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Lightning Strike Away!!!");
|
||||
%p = discharge2(%target.player.getPosition(),"0 0 -1");
|
||||
%p.setEnergyPercentage(1);
|
||||
addToShock(%p);
|
||||
%p.schedule(1000,"delete");
|
||||
case 2:
|
||||
%target = FindValidTarget(%ghost);
|
||||
if(!isObject(%target.player)) {
|
||||
schedule(35000, 0, "DoGoLAttacks", %ghost);
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Meh, no targets for me.");
|
||||
return;
|
||||
}
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Watch Electricity Chase You!!!");
|
||||
%vec = vectorNormalize(vectorSub(%target.player.getPosition(),%ghost.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = IonMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %ghost.getMuzzlePoint(0);
|
||||
sourceObject = %ghost;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.player.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target.player,%beacon,%p);
|
||||
case 3:
|
||||
%target = FindValidTarget(%ghost);
|
||||
if(!isObject(%target.player)) {
|
||||
schedule(35000, 0, "DoGoLAttacks", %ghost);
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Meh, no targets for me.");
|
||||
return;
|
||||
}
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Die Now...");
|
||||
%target = %target.player;
|
||||
%p = new ShockLanceProjectile() {
|
||||
dataBlock = GoLShocker;
|
||||
initialDirection = %Ghost.getMuzzleVector(0);
|
||||
initialPosition = %Ghost.getMuzzlePoint(0);
|
||||
sourceObject = %Ghost;
|
||||
sourceSlot = 0;
|
||||
targetId = %target;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
//
|
||||
%totalDamage = 50;
|
||||
%target.getDataBlock().damageObject(%target, %ghost, %target.getPosition(), %totalDamage, $DamageType::ShockLance);
|
||||
case 4:
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Its Storm Time");
|
||||
ionStorm(35 , 1000);
|
||||
case 5:
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["GoL"]@": Lightning Missiles For ALL!!");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player) && %cl.player.getState() !$= "dead") {
|
||||
%vec = vectorNormalize(vectorSub(%cl.player.getPosition(),%ghost.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = IonMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %ghost.getMuzzlePoint(0);
|
||||
sourceObject = %ghost;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %cl.player.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%cl.player,%beacon,%p);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
schedule(30000, 0, "DoGoLAttacks", %ghost);
|
||||
}
|
||||
325
scripts/TWM2/Bosses/LordRog.cs
Normal file
325
scripts/TWM2/Bosses/LordRog.cs
Normal file
|
|
@ -0,0 +1,325 @@
|
|||
function SpawnLordRog(%position) {
|
||||
%Zombie = new player(){
|
||||
Datablock = "LordRogZombieArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%position, "0 0 5");
|
||||
MessageAll('MsgDarkraireturn', "\c4"@$TWM2::ZombieName[8]@": I AM ALIVE!!! I SHALL KILL YOU ALL");
|
||||
|
||||
%zombie.iszombie = 1;
|
||||
StartLRAbilities(%zombie);
|
||||
schedule(5000, 0, LordRogAttack_FUNC, "ZombieSummon", %zombie);
|
||||
|
||||
%command = "LordRogmovetotarget";
|
||||
|
||||
%zombie.ticks = 0;
|
||||
InitiateBoss(%zombie, "LordRog");
|
||||
|
||||
%Zombie.team = 30;
|
||||
%zname = $TWM2::ZombieName[8]; // <- To Hosts, Enjoy, You can
|
||||
//Change the Zombie Names now!!!
|
||||
%zombie.target = createTarget(%zombie, %zname, "", "Derm3", '', %zombie.team, PlayerSensor);
|
||||
setTargetSensorData(%zombie.target, PlayerSensor);
|
||||
setTargetSensorGroup(%zombie.target, 30);
|
||||
setTargetName(%zombie.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%zombie.target, 'Horde');
|
||||
//
|
||||
%zombie.type = %type;
|
||||
%Zombie.setTransform(%cpos);
|
||||
%zombie.canjump = 1;
|
||||
%zombie.hastarget = 1;
|
||||
%zombie.isZombie = 1;
|
||||
MissionCleanup.add(%Zombie);
|
||||
schedule(1000, %zombie, %command, %zombie);
|
||||
}
|
||||
|
||||
function LordRogmovetotarget(%zombie){
|
||||
if(!isobject(%zombie))
|
||||
return;
|
||||
if(%zombie.getState() $= "dead")
|
||||
return;
|
||||
%pos = %zombie.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%zombie);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.setPosition(vectorAdd(vectoradd(%closestclient.player.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%zombie.setVelocity("0 0 0");
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::ZombieName[8]@": You think I will fall to my death!?!?");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $zombie::detectDist){
|
||||
|
||||
//Sword Mount / Unmount
|
||||
if(%closestDistance < 12) {
|
||||
if(!%zombie.ImageMounted) {
|
||||
%zombie.ImageMounted = 1;
|
||||
%zombie.mountImage(BoVSwing, 7);
|
||||
ServerPlay3D(BlasterSwitchSound, %zombie.getPosition());
|
||||
}
|
||||
}
|
||||
else {
|
||||
%zombie.unMountImage(7);
|
||||
%zombie.ImageMounted = 0;
|
||||
}
|
||||
|
||||
if(%zombie.hastarget != 1){
|
||||
serverPlay3d("ZombieHOWL",%zombie.getWorldBoxCenter());
|
||||
%zombie.hastarget = 1;
|
||||
}
|
||||
%chance = (getrandom() * 20);
|
||||
if(%chance >= 19)
|
||||
serverPlay3d("ZombieMoan",%zombie.getWorldBoxCenter());
|
||||
|
||||
%vector = ZgetFacingDirection(%zombie,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%zombie.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%zombie.hastarget == 1){
|
||||
%zombie.hastarget = 0;
|
||||
%zombie.zombieRmove = schedule(100, %zombie, "ZSetRandomMove", %zombie);
|
||||
}
|
||||
%zombie.moveloop = schedule(500, %zombie, "LordRogmovetotarget", %zombie);
|
||||
}
|
||||
|
||||
function LordRogAttack_FUNC(%att, %args) {
|
||||
switch$(%att) {
|
||||
case "ZombieSummon":
|
||||
%z = getWord(%args, 0);
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
schedule(30000, 0, LordRogAttack_FUNC, "ZombieSummon", %z);
|
||||
//--------------------
|
||||
%type = getRandomZombieType("1 2 3 5 9 12 13 15 17"); //omit 4 in place of 17: Demon -> Elite Demon
|
||||
messageall('RogMsg',"\c4"@$TWM2::ZombieName[8]@": Attack my target!");
|
||||
for(%i = 0; %i < 5; %i++) {
|
||||
%pos = vectoradd(%z.getPosition(), getRandomPosition(10,1));
|
||||
%fpos = vectoradd("0 0 5",%pos);
|
||||
StartAZombie(%fpos, %type);
|
||||
}
|
||||
%z.setMoveState(true);
|
||||
%z.setActionThread($Zombie::RAAMThread, true);
|
||||
%z.schedule(3500, "setMoveState", false);
|
||||
|
||||
case "DropshipReinforce":
|
||||
%z = getWord(%args, 0);
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
%type = getRandomZombieType("1 2 3 5 9 12 13 15 17");
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Additional Reinforcements!!! NOW!");
|
||||
%typeCaller = %type SPC %type SPC %type SPC %type;
|
||||
%callPos = vectorAdd(%z.getPosition(), "2000 0 400");
|
||||
spawnHunterDropship(%callPos, "AA", %typeCaller);
|
||||
|
||||
case "TwinLaunch":
|
||||
%z = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isobject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
%SPos1 = vectorAdd(%z.getPosition(), "1 0 0");
|
||||
%SPos2 = vectorAdd(%z.getPosition(), "-1 0 0");
|
||||
%p1 = new SeekerProjectile() {
|
||||
dataBlock = LordRogStiloutte;
|
||||
initialDirection = "0 0 1";
|
||||
initialPosition = %SPos1;
|
||||
sourceObject = %z;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
%p2 = new SeekerProjectile() {
|
||||
dataBlock = LordRogStiloutte;
|
||||
initialDirection = "0 0 1";
|
||||
initialPosition = %SPos2;
|
||||
sourceObject = %z;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%p1);
|
||||
MissionCleanup.add(%p2);
|
||||
schedule(5000, 0, "WindshearAttack_FUNC", "MissileDrop", %target SPC %p1);
|
||||
schedule(5000, 0, "WindshearAttack_FUNC", "MissileDrop", %target SPC %p2);
|
||||
|
||||
case "LaunchStorm":
|
||||
%z = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
LordRogAttack_FUNC("TwinLaunch", %z SPC %target);
|
||||
schedule(1000, 0, LordRogAttack_FUNC, "TwinLaunch", %z SPC %target);
|
||||
schedule(2000, 0, LordRogAttack_FUNC, "TwinLaunch", %z SPC %target);
|
||||
|
||||
case "LaserStrike":
|
||||
%z = getWord(%args, 0);
|
||||
%t = getWord(%args, 1);
|
||||
if(!isObject(%t) || %t.getState() $= "dead") {
|
||||
%z.Storming = 0;
|
||||
return;
|
||||
}
|
||||
if(!isObject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%z.laserStormSount++;
|
||||
if(%z.laserStormSount < 40) {
|
||||
%vec = vectorsub(%t.getworldboxcenter(), %z.getMuzzlePoint(6));
|
||||
%vec = vectoradd(%vec, vectorscale(%t.getvelocity(), vectorlen(%vec)/100));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = LaserShot;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %z.getMuzzlePoint(6);
|
||||
sourceObject = %z;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
}
|
||||
else {
|
||||
%z.Storming = 0;
|
||||
return;
|
||||
}
|
||||
schedule(100, 0, LordRogAttack_FUNC, "LaserStrike", %z SPC %t);
|
||||
|
||||
case "MetrosMaul":
|
||||
%t = getWord(%args, 0);
|
||||
%fpos = vectoradd(%t.getposition(), getRandomposition(50,0));
|
||||
%pos2 = vectoradd(%fpos, "0 0 700");
|
||||
schedule(500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(1000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(1500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
|
||||
case "MeteorOblivion":
|
||||
%t = getWord(%args, 0);
|
||||
%fpos = vectoradd(%t.getposition(), getRandomposition(50, 0));
|
||||
%pos2 = vectoradd(%fpos, "0 0 700");
|
||||
schedule(500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(1000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(1500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(2000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(2500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(3000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(3500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(4000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(4500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(5000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(5500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(6000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(6500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(7000, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
schedule(7500, 0, spawnprojectile, JTLMeteorStormFireball, GrenadeProjectile, %pos2, "0 0 -10");
|
||||
|
||||
case "StaticDischarge":
|
||||
%z = getWord(%args, 0);
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%z.setMoveState(true);
|
||||
%z.schedule(7000, setMoveState, false);
|
||||
%TargetSearchMask = $TypeMasks::PlayerObjectType;
|
||||
%c = createEmitter(%z.getPosition(), FlashLEmitter, "1 0 0"); //Rotate it
|
||||
%c.schedule(1000, delete);
|
||||
InitContainerRadiusSearch(%z.getPosition(), 200, %TargetSearchMask);
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0){
|
||||
if (%potentialTarget.getPosition() != %z.getPosition() && !%potentialtarget.client.ignoredbyZombs) {
|
||||
%potentialTarget.staticTicks = 0;
|
||||
LordRogAttack_FUNC("SCDLoop", %potentialTarget);
|
||||
}
|
||||
}
|
||||
|
||||
case "SCDLoop":
|
||||
%obj = getWord(%args, 0);
|
||||
if(!isobject(%obj) || %obj.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(%obj.staticTicks > 15) {
|
||||
%obj.setMoveState(false);
|
||||
return;
|
||||
}
|
||||
%c = createEmitter(%obj.getPosition(), PBCExpEmitter, "1 0 0"); //Rotate it
|
||||
%c.schedule(1000, delete);
|
||||
%obj.setMoveState(true);
|
||||
%obj.staticTicks++;
|
||||
%obj.damage(0, %obj.getPosition(), 0.05, $DamageType::Zombie);
|
||||
schedule(1000, 0, LordRogAttack_FUNC, "SCDLoop", %obj);
|
||||
}
|
||||
}
|
||||
|
||||
function StartLRAbilities(%zombie) {
|
||||
if(!isobject(%zombie) || %zombie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%z = %zombie; //< Im lazy =-P
|
||||
%z.setVelocity("0 0 0");
|
||||
%rand = getRandom(1, 9);
|
||||
switch(%rand) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Launch!");
|
||||
LordRogAttack_FUNC("TwinLaunch", %z SPC %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Fools, you cannot withstand my power!");
|
||||
}
|
||||
|
||||
case 2:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
%z.laserStormSount = 0;
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Laser Storm Begin!");
|
||||
LordRogAttack_FUNC("LaserStrike", %z SPC %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Fools, you cannot withstand my power!");
|
||||
}
|
||||
|
||||
case 3:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Metros Maul!");
|
||||
LordRogAttack_FUNC("MetrosMaul", %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Fools, you cannot withstand my power!");
|
||||
}
|
||||
|
||||
case 4:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Storm Begins!");
|
||||
LordRogAttack_FUNC("LaunchStorm", %z SPC %target.player);
|
||||
}
|
||||
|
||||
case 5 or 6:
|
||||
LordRogAttack_FUNC("StaticDischarge", %z);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Static Discharge!");
|
||||
|
||||
case 7:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player) && !%target.ignoredbyZombs) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Metros EXTREMITY!!!!");
|
||||
LordRogAttack_FUNC("MeteorOblivion", %target.player);
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[8]@": Fools, you cannot withstand my power!");
|
||||
}
|
||||
|
||||
case 8:
|
||||
LordRogAttack_FUNC("DropshipReinforce", %z);
|
||||
|
||||
default:
|
||||
LordRogAttack_FUNC("DropshipReinforce", %z);
|
||||
}
|
||||
schedule(30000, 0, "StartLRAbilities", %zombie);
|
||||
}
|
||||
954
scripts/TWM2/Bosses/LordVardison.cs
Normal file
954
scripts/TWM2/Bosses/LordVardison.cs
Normal file
|
|
@ -0,0 +1,954 @@
|
|||
//LORD \/ARDISON & Dark Archmage Vardison
|
||||
//THIS BOSS WILL MURDER OCCULTBADBOY
|
||||
//Yeah, he really will
|
||||
function VardisonLaserBallMissile::OnExplode(%data, %proj, %pos, %mod) {
|
||||
//LaserBall
|
||||
%ball = CreateEmitter(%pos, "MiniShadowBallEmitter", "0 0 0 0");
|
||||
%ball.schedule(10000, "Delete");
|
||||
LaserBallStrike(vectorAdd(%pos, "0 0 3"), 0);
|
||||
}
|
||||
|
||||
function LaserBallStrike(%position, %count) {
|
||||
%count++;
|
||||
if(%count > 100) {
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = VardisonSubShadowBomb;
|
||||
initialDirection = "0 0 -1";
|
||||
initialPosition = %position;
|
||||
};
|
||||
return; //stop here
|
||||
}
|
||||
else {
|
||||
if(%count % 3 == 0) { //multiples of 3 == strike
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = PlasmaCannonMainProj;
|
||||
initialDirection = vectorAdd(%postition, getRandomPosition(25,0));
|
||||
initialPosition = %position;
|
||||
};
|
||||
}
|
||||
}
|
||||
schedule(100, 0, "LaserBallStrike", %position, %count);
|
||||
}
|
||||
|
||||
function StartDAVardison(%pos) {
|
||||
%Vardison = new player() {
|
||||
Datablock = "DarkArchmageVardisonArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%pos, "0 0 5");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["DAVardison"]@": Rise forces of darkness, as our enemies shall face their demise");
|
||||
|
||||
%command = "DAVardisonmovetotarget";
|
||||
%Vardison.ticks = 0;
|
||||
InitiateBoss(%Vardison, "DAVardison");
|
||||
|
||||
%Vardison.team = 30;
|
||||
%zname = CollapseEscape("\c7"@$TWM2::BossName["DAVardison"]@""); // <- To Hosts, Enjoy, You can
|
||||
//Change the Demon Names now!!!
|
||||
%Vardison.target = createTarget(%Vardison, %zname, "", "Derm3", '', %Vardison.team, PlayerSensor);
|
||||
setTargetSensorData(%Vardison.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Vardison.target, 30);
|
||||
setTargetName(%Vardison.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%Vardison.target, 'Inferno');
|
||||
//
|
||||
%Vardison.setPosition(%cpos);
|
||||
%Vardison.canjump = 1;
|
||||
%Vardison.hastarget = 1;
|
||||
MissionCleanup.add(%Vardison);
|
||||
schedule(1000, %Vardison, %command, %Vardison);
|
||||
|
||||
DAVardisonAttacks(%Vardison);
|
||||
}
|
||||
|
||||
function StartVardison1(%pos) {
|
||||
|
||||
%Vardison = new player(){
|
||||
Datablock = "VardisonStage1Armor";
|
||||
};
|
||||
%Cpos = vectorAdd(%pos, "0 0 5");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": "@$TWM2::BossName["Vardison"]@", Checking into duty, and about to slaughter some fuckin' enemies!!!");
|
||||
|
||||
%command = "Vardison1movetotarget";
|
||||
%Vardison.ticks = 0;
|
||||
InitiateBoss(%Vardison, "Vardison1");
|
||||
|
||||
%Vardison.team = 30;
|
||||
%zname = CollapseEscape("\c7"@$TWM2::BossName["Vardison"]@""); // <- To Hosts, Enjoy, You can
|
||||
//Change the Demon Names now!!!
|
||||
%Vardison.target = createTarget(%Vardison, %zname, "", "Derm3", '', %Vardison.team, PlayerSensor);
|
||||
setTargetSensorData(%Vardison.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Vardison.target, 30);
|
||||
setTargetName(%Vardison.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%Vardison.target, 'Inferno');
|
||||
//
|
||||
%Vardison.setPosition(%cpos);
|
||||
%Vardison.canjump = 1;
|
||||
%Vardison.hastarget = 1;
|
||||
MissionCleanup.add(%Vardison);
|
||||
schedule(1000, %Vardison, %command, %Vardison);
|
||||
|
||||
VardisonAttacks(%Vardison);
|
||||
}
|
||||
|
||||
function StartVardison2(%pos) {
|
||||
%StartPos = VectorAdd(%pos, "0 0 100");
|
||||
%team = 30;
|
||||
%rotation = "1 0 0 0";
|
||||
%skill = 10;
|
||||
|
||||
%Drone = new FlyingVehicle() {
|
||||
dataBlock = VardisonStage2Flyer;
|
||||
position = %StartPos;
|
||||
rotation = %rotation;
|
||||
team = %team;
|
||||
};
|
||||
MissionCleanUp.add(%Drone);
|
||||
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": HA! I'm nowhere near finished with you, Lets take this to the skies.. shall we.");
|
||||
|
||||
setTargetSensorGroup(%Drone.getTarget(), %team);
|
||||
|
||||
%Drone.isdrone = 1;
|
||||
%drone.dodgeGround = 0;
|
||||
|
||||
%drone.isace = 1;
|
||||
|
||||
%drone.skill = 0.2 + (%skill / 12.5);
|
||||
|
||||
schedule(100, 0, "DroneForwardImpulse", %drone); //special impulse
|
||||
schedule(101, 0, "DronefindTarget", %drone);
|
||||
schedule(102, 0, "DroneScanGround", %drone);
|
||||
|
||||
InitiateBoss(%drone, "Vardison2");
|
||||
VardisonDroneAttacks(%drone);
|
||||
}
|
||||
|
||||
function StartVardison3(%pos) {
|
||||
%Vardison = new player(){
|
||||
Datablock = "VardisonStage3Armor";
|
||||
};
|
||||
%Cpos = vectorAdd(%pos, "0 0 5");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": Now you will see the full power of a shadow demon!!!");
|
||||
|
||||
%command = "Vardison3movetotarget";
|
||||
%Vardison.ticks = 0;
|
||||
InitiateBoss(%Vardison, "Vardison3");
|
||||
|
||||
%Vardison.team = 30;
|
||||
%zname = CollapseEscape("\c7"@$TWM2::BossName["Vardison"]@""); // <- To Hosts, Enjoy, You can
|
||||
//Change the Demon Names now!!!
|
||||
%Vardison.target = createTarget(%Vardison, %zname, "", "Derm3", '', %Vardison.team, PlayerSensor);
|
||||
setTargetSensorData(%Vardison.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Vardison.target, 30);
|
||||
setTargetName(%Vardison.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%Vardison.target, 'Inferno');
|
||||
//
|
||||
%Vardison.setTransform(%cpos);
|
||||
%Vardison.canjump = 1;
|
||||
%Vardison.hastarget = 1;
|
||||
MissionCleanup.add(%Vardison);
|
||||
schedule(1000, %Vardison, %command, %Vardison);
|
||||
|
||||
VardisonDemonAttacks(%Vardison);
|
||||
|
||||
//SpawnVardHelper(%Vardison, vectorAdd(%Vardison.getPosition(), "15 0 100"));
|
||||
|
||||
}
|
||||
|
||||
function DAVardisonmovetotarget(%Demon){
|
||||
if(!isobject(%Demon))
|
||||
return;
|
||||
if(%Demon.getState() $= "dead")
|
||||
return;
|
||||
%pos = %Demon.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%Demon);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%Demon.startFade(400, 0, true);
|
||||
%Demon.startFade(1000, 0, false);
|
||||
%Demon.setPosition(vectorAdd(vectoradd(%closestclient.player.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%Demon.setVelocity("0 0 0");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["DAVardison"]@": I'm back....");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $Zombie::detectDist){
|
||||
if(%closestDistance < 15) {
|
||||
if(!%closestClient.vardKilling) {
|
||||
%closestClient.vardKilling = 1;
|
||||
DoVardisonSuperCloseKill(%Demon, %closestClient, 0);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["DAVardison"]@": Die.... Human....");
|
||||
}
|
||||
}
|
||||
if(%Demon.hastarget != 1){
|
||||
//LZDoYell(%Demon);
|
||||
%Demon.hastarget = 1;
|
||||
}
|
||||
|
||||
%vector = ZgetFacingDirection(%Demon,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%Demon.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%Demon.hastarget == 1){
|
||||
%Demon.hastarget = 0;
|
||||
%Demon.DemonRmove = schedule(100, %Demon, "ZSetRandomMove", %Demon);
|
||||
}
|
||||
%Demon.moveloop = schedule(500, %Demon, "DAVardisonmovetotarget", %Demon);
|
||||
}
|
||||
|
||||
function Vardison1movetotarget(%Demon){
|
||||
if(!isobject(%Demon))
|
||||
return;
|
||||
if(%Demon.getState() $= "dead")
|
||||
return;
|
||||
%pos = %Demon.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%Demon);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%Demon.startFade(400, 0, true);
|
||||
%Demon.startFade(1000, 0, false);
|
||||
%Demon.setPosition(vectorAdd(vectoradd(%closestclient.player.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%Demon.setVelocity("0 0 0");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": I'm back....");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $Zombie::detectDist){
|
||||
if(%closestDistance < 15) {
|
||||
if(!%closestClient.vardKilling) {
|
||||
%closestClient.vardKilling = 1;
|
||||
DoVardisonSuperCloseKill(%Demon, %closestClient, 0);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": Die.... Human....");
|
||||
}
|
||||
}
|
||||
if(%Demon.hastarget != 1){
|
||||
//LZDoYell(%Demon);
|
||||
%Demon.hastarget = 1;
|
||||
}
|
||||
|
||||
%vector = ZgetFacingDirection(%Demon,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%Demon.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%Demon.hastarget == 1){
|
||||
%Demon.hastarget = 0;
|
||||
%Demon.DemonRmove = schedule(100, %Demon, "ZSetRandomMove", %Demon);
|
||||
}
|
||||
%Demon.moveloop = schedule(500, %Demon, "Vardison1movetotarget", %Demon);
|
||||
}
|
||||
|
||||
function Vardison3movetotarget(%Demon){
|
||||
if(!isobject(%Demon))
|
||||
return;
|
||||
if(%Demon.getState() $= "dead")
|
||||
return;
|
||||
%pos = %Demon.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%Demon);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%Demon.startFade(400, 0, true);
|
||||
%Demon.startFade(1000, 0, false);
|
||||
%Demon.setPosition(vectorAdd(vectoradd(%closestclient.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%Demon.setVelocity("0 0 0");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": I'm back....");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $Zombie::detectDist){
|
||||
if(%closestDistance < 10) {
|
||||
%closestClient.scriptKill(0);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": DIE!!!!!!");
|
||||
}
|
||||
if(%Demon.hastarget != 1){
|
||||
%Demon.hastarget = 1;
|
||||
}
|
||||
|
||||
%vector = ZgetFacingDirection(%Demon,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed*1.8);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%Demon.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%Demon.hastarget == 1){
|
||||
%Demon.hastarget = 0;
|
||||
%Demon.DemonRmove = schedule(100, %Demon, "ZSetRandomMove", %Demon);
|
||||
}
|
||||
%Demon.moveloop = schedule(500, %Demon, "Vardison3movetotarget", %Demon);
|
||||
}
|
||||
|
||||
//ATTACKS
|
||||
|
||||
function DoVardisonSuperCloseKill(%source, %target, %count) {
|
||||
%count++;
|
||||
if(!isObject(%source) || %source.getState() $= "dead") {
|
||||
%target.setMoveState(false);
|
||||
return;
|
||||
}
|
||||
%source.setMoveState(true);
|
||||
%target.setMoveState(true);
|
||||
%target.clearInventory(); //ha, no guns for You!
|
||||
//lift
|
||||
if(%count <= 15) {
|
||||
%ZPos = %count * 0.025;
|
||||
%newpos = vectoradd(%target.getPosition(),"0 0 "@%ZPos@"");
|
||||
%target.setTransform(%newpos);
|
||||
%target.setvelocity("0 0 0");
|
||||
}
|
||||
else if(%count == 16) {
|
||||
//MessageAll('MsgDIE', "\c4"@%source.client.namebase@": You're so.... weak...");
|
||||
%newpos = vectoradd(%target.getPosition(),"0 0 "@%ZPos * -1@"");
|
||||
%target.setTransform(%newpos);
|
||||
%target.setvelocity("0 0 0");
|
||||
}
|
||||
else if(%count == 17) {
|
||||
%target.setvelocity("1000 1000 1000");
|
||||
%target.blowup();//BAM!
|
||||
ServerPlay3d(BOVHitSound, %target.getPosition());
|
||||
ServerPlay3d(BOVHitSound, %target.getPosition());
|
||||
ServerPlay3d(BOVHitSound, %target.getPosition());
|
||||
%target.damage(%source, %target.getposition(), 9999, $DamageType::BladeOfVengance);
|
||||
%source.setMoveState(false);
|
||||
return;
|
||||
}
|
||||
schedule(100, 0, "DoVardisonSuperCloseKill", %source, %target, %count);
|
||||
}
|
||||
|
||||
function GOVDoFlameCano(%g, %target) {
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%g.setPosition(VectorAdd(%target.getPosition(), "0 0 70"));
|
||||
%Pad = new StaticShape() {
|
||||
dataBlock = DeployedSpine;
|
||||
scale = ".1 .1 1";
|
||||
position = VectorAdd(%target.getPosition(), "0 0 69");
|
||||
};
|
||||
%g.setMoveState(true);
|
||||
%Pad.setCloaked(true);
|
||||
%Pad.schedule(3000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 10"));
|
||||
%Pad.schedule(4000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 20"));
|
||||
%Pad.schedule(5000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 30"));
|
||||
%Pad.schedule(6000, "setPosition", vectorSub(%Pad.getPosition(), "0 0 40"));
|
||||
%g.schedule(6500, "SetMoveState", false);
|
||||
%pad.schedule(6500, "Delete");
|
||||
//The Vector Crap
|
||||
schedule(2500,0,"DropFlameCano2", %g, %target);
|
||||
}
|
||||
|
||||
function DropFlameCano2(%g, %target) {
|
||||
if(!isObject(%g) || %g.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//First, Specify All Directions
|
||||
%vec[1] = vectorscale(vectornormalize("1 0 0"), 24); // +X 0Y
|
||||
%vec[2] = vectorscale(vectornormalize("1 1 0"), 24); // +X +Y
|
||||
%vec[3] = vectorscale(vectornormalize("1 -1 0"), 24); // +X -Y
|
||||
%vec[4] = vectorscale(vectornormalize("-1 0 0"), 24); // -X 0Y
|
||||
%vec[5] = vectorscale(vectornormalize("-1 1 0"), 24); // -X +Y
|
||||
%vec[6] = vectorscale(vectornormalize("-1 -1 0"), 24); //-X -Y
|
||||
%vec[7] = vectorscale(vectornormalize("0 1 0"), 24); // 0X +Y
|
||||
%vec[8] = vectorscale(vectornormalize("0 -1 0"), 24); // 0X -Y
|
||||
//Oh.. long crap
|
||||
for(%i = 1; %i <= 8; %i++) {
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = ShadowBomb;
|
||||
initialDirection = "0 0 -30";
|
||||
initialPosition = vectorAdd(%g.getPosition(), "0 0 -3");
|
||||
sourceObject = %g;
|
||||
sourceSlot = 5;
|
||||
};
|
||||
%p.vector = %vec[%i];
|
||||
%p.count = 1;
|
||||
%p.MaxExplode = 15;
|
||||
}
|
||||
}
|
||||
|
||||
//The evilness Begins Here
|
||||
function DAVardisonAttacks(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
schedule(23500, 0, "DAVardisonAttacks", %boss);
|
||||
%attack = getRandom(1, 10);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "NMM", %target);
|
||||
}
|
||||
case 2:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "LBM", %target);
|
||||
}
|
||||
case 3:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "ShadowBombDirect", %target SPC 2);
|
||||
}
|
||||
case 4:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
GOVDoFlameCano(%boss, %target);
|
||||
}
|
||||
case 5:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "ShadowBombDirect", %target SPC 4);
|
||||
}
|
||||
case 6:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
for(%i = 0; %i < 10; %i++) {
|
||||
%timeInt = %i * 200;
|
||||
schedule(%timeInt, 0, VardisonAttack, %boss, "ShadowBombLaunchAbove", %target SPC 4);
|
||||
}
|
||||
}
|
||||
case 7:
|
||||
%boss.setMoveState(true);
|
||||
%vS[0] = "10 10 0";
|
||||
%vS[1] = "-10 10 0";
|
||||
%vS[2] = "10 -10 0";
|
||||
%vS[3] = "-10 -10 0";
|
||||
for(%i = 0; %i < 4; %i++) {
|
||||
CreateDemon(vectorAdd(%boss.getPosition(), %vS[%i]));
|
||||
}
|
||||
%boss.schedule(5000, setMoveState, false);
|
||||
case 8:
|
||||
%boss.setMoveState(true);
|
||||
//four charge-up beams
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
//the actual attack
|
||||
for(%i = 0; %i < 50; %i++) {
|
||||
%timeAtt = 5000 + (%i *150);
|
||||
//--------------------------
|
||||
%vec = %boss.GetMuzzleVector(4);
|
||||
%pos = %boss.GetMuzzlePoint(4);
|
||||
schedule(%timeAtt, 0, VardisonAttack, %boss, "HyperspeedPlasmaBolt", %pos TAB %vec);
|
||||
}
|
||||
%boss.schedule(12500, setMoveState, false);
|
||||
case 9:
|
||||
VardisonAttack(%boss, "LinearFlameWall");
|
||||
case 10:
|
||||
VardisonAttack(%boss, "SeekingRapiers", %target);
|
||||
}
|
||||
}
|
||||
|
||||
function VardisonAttacks(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
schedule(23500, 0, "VardisonAttacks", %boss);
|
||||
%attack = getRandom(1, 8);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "NMM", %target);
|
||||
}
|
||||
case 2:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "LBM", %target);
|
||||
}
|
||||
case 3:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "ShadowBombDirect", %target SPC 2);
|
||||
}
|
||||
case 4:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
GOVDoFlameCano(%boss, %target);
|
||||
}
|
||||
case 5:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "ShadowBombDirect", %target SPC 4);
|
||||
}
|
||||
case 6:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
for(%i = 0; %i < 10; %i++) {
|
||||
%timeInt = %i * 200;
|
||||
schedule(%timeInt, 0, VardisonAttack, %boss, "ShadowBombLaunchAbove", %target SPC 4);
|
||||
}
|
||||
}
|
||||
case 7:
|
||||
%boss.setMoveState(true);
|
||||
%vS[0] = "10 10 0";
|
||||
%vS[1] = "-10 10 0";
|
||||
%vS[2] = "10 -10 0";
|
||||
%vS[3] = "-10 -10 0";
|
||||
for(%i = 0; %i < 4; %i++) {
|
||||
CreateDemon(vectorAdd(%boss.getPosition(), %vS[%i]));
|
||||
}
|
||||
%boss.schedule(5000, setMoveState, false);
|
||||
case 8:
|
||||
%boss.setMoveState(true);
|
||||
//four charge-up beams
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
//the actual attack
|
||||
for(%i = 0; %i < 50; %i++) {
|
||||
%timeAtt = 5000 + (%i *150);
|
||||
//--------------------------
|
||||
%vec = %boss.GetMuzzleVector(4);
|
||||
%pos = %boss.GetMuzzlePoint(4);
|
||||
schedule(%timeAtt, 0, VardisonAttack, %boss, "HyperspeedPlasmaBolt", %pos TAB %vec);
|
||||
}
|
||||
%boss.schedule(12500, setMoveState, false);
|
||||
}
|
||||
}
|
||||
|
||||
function VardisonDroneAttacks(%boss) {
|
||||
if(!isObject(%boss)) {
|
||||
return;
|
||||
}
|
||||
schedule(10000, 0, "VardisonDroneAttacks", %boss);
|
||||
%attack = getRandom(1,3);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
VardisonAttack(%boss, "NMM", %target.player);
|
||||
}
|
||||
case 2:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "LBM", %target);
|
||||
}
|
||||
case 3:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "SuperLaser", %target);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function VardisonDemonAttacks(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//create a mini-demon
|
||||
CreateDemon(vectorAdd(%boss.getPosition(), getRandomPosition(10, 1)));
|
||||
//
|
||||
%boss.setMoveState(true);
|
||||
schedule(15000, 0, "VardisonDemonAttacks", %boss);
|
||||
%attack = getRandom(1,8);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "LBM", %target);
|
||||
schedule(2500, 0, VardisonAttack, %boss, "LBM", %target);
|
||||
schedule(3500, 0, VardisonAttack, %boss, "LBM", %target);
|
||||
schedule(5000, 0, VardisonAttack, %boss, "LBM", %target);
|
||||
schedule(5100, 0, VardisonAttack, %boss, "LBM", %target);
|
||||
%boss.schedule(5100, "SetMoveState", false);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": I've got some missiles for you "@getTaggedString(%target.client.name)@".");
|
||||
return;
|
||||
}
|
||||
%boss.schedule(1, "SetMoveState", false);
|
||||
case 2:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
VardisonAttack(%boss, "NMM", %target.player);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": It's time to invoke darkness upon "@getTaggedString(%target.name)@".");
|
||||
%boss.schedule(1000, "SetMoveState", false);
|
||||
return;
|
||||
}
|
||||
%boss.schedule(1, "SetMoveState", false);
|
||||
case 3:
|
||||
setgravity(-1000);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": I'll disorient you all!");
|
||||
schedule(3000, 0, "SetGravity", 1000);
|
||||
schedule(7500, 0, "SetGravity", -20);
|
||||
%boss.schedule(7500, "SetMoveState", false);
|
||||
//%boss.InvokeLoop = InvokeStillwallLoop(%boss);
|
||||
schedule(7500, 0, "Cancel", %boss.InvokeLoop);
|
||||
case 4:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
VardisonAttack(%boss, "LaserDrop", %target);
|
||||
%boss.schedule(3000, "SetMoveState", false);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": Your time has come "@getTaggedString(%target.client.name)@".");
|
||||
return;
|
||||
}
|
||||
%boss.schedule(1, "SetMoveState", false);
|
||||
case 5:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
for(%i = 0; %i < 25; %i++) {
|
||||
schedule(50+(%i*150), 0, VardisonAttack, %boss, "SuperLaser", %target);
|
||||
}
|
||||
%boss.schedule(10000, "SetMoveState", false);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": BLAAAAHAAHAHAHAAHA!!!");
|
||||
return;
|
||||
}
|
||||
%boss.schedule(1, "SetMoveState", false);
|
||||
case 6:
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%target = ClientGroup.getObject(%i);
|
||||
if(isObject(%target.player)) {
|
||||
VardisonAttack(%boss, "NMM", %target.player);
|
||||
}
|
||||
}
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": All must suffer!!!");
|
||||
%boss.schedule(1000, "SetMoveState", false);
|
||||
return;
|
||||
case 7:
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%target = ClientGroup.getObject(%i);
|
||||
if(isObject(%target.player)) {
|
||||
%target = %target.player;
|
||||
for(%l = 0; %l < 25; %l++) {
|
||||
schedule(50+(%l*150), 0, VardisonAttack, %boss, "SuperLaser", %target);
|
||||
}
|
||||
}
|
||||
}
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": Everyone DIES NOW!!!!");
|
||||
%boss.schedule(10000, "SetMoveState", false);
|
||||
return;
|
||||
case 8:
|
||||
%target = FindValidTarget(%boss);
|
||||
if(isObject(%target.player)) {
|
||||
for(%i = 0; %i < 15; %i++) {
|
||||
%time = %i * 150;
|
||||
%mType = getRandom(0, 1);
|
||||
switch(%mType) {
|
||||
case 0:
|
||||
schedule(%time, 0, VardisonAttack, %boss, "NMM", %target.player);
|
||||
case 1:
|
||||
schedule(%time, 0, VardisonAttack, %boss, "LBM", %target.player);
|
||||
default:
|
||||
schedule(%time, 0, VardisonAttack, %boss, "NMM", %target.player);
|
||||
}
|
||||
}
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["Vardison"]@": "@getTaggedString(%target.name)@" Will Feel the Power of My Missiles.");
|
||||
%boss.schedule(1000, "SetMoveState", false);
|
||||
return;
|
||||
}
|
||||
%boss.schedule(1, "SetMoveState", false);
|
||||
}
|
||||
}
|
||||
|
||||
function VardisonAttack(%boss, %att, %arg) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
switch$(%att) {
|
||||
case "ShadowBombDirect":
|
||||
%target = getWord(%arg, 0);
|
||||
%detCt = getWord(%arg, 1);
|
||||
if(!isObject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(),%boss.getPosition()));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = ShadowBomb;
|
||||
initialDirection = vectorScale(%vec, 10);
|
||||
initialPosition = %boss.getPosition();
|
||||
sourceObject = %boss;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
//%p.maxExplode = %detCt;
|
||||
MissionCleanup.add(%p);
|
||||
|
||||
case "ShadowBombLaunchAbove":
|
||||
%target = getWord(%arg, 0);
|
||||
%detCt = getWord(%arg, 1);
|
||||
if(!isObject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(), vectorAdd(%boss.getPosition(), "0 0 35")));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = ShadowBomb;
|
||||
initialDirection = vectorScale(%vec, 10);
|
||||
initialPosition = vectorAdd(%boss.getPosition(), "0 0 35");
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%p.maxExplode = %detCt;
|
||||
%p.sourceObject = %boss;
|
||||
MissionCleanup.add(%p);
|
||||
|
||||
case "HyperspeedPlasmaBolt":
|
||||
%boss.playShieldEffect("1 1 1");
|
||||
%pos = getField(%arg, 0);
|
||||
%dir = getField(%arg, 1);
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = PlasmaCannonMainProj;
|
||||
initialDirection = %dir;
|
||||
initialPosition = %pos;
|
||||
sourceObject = %boss;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
|
||||
case "LaserDrop":
|
||||
%toDie = %arg;
|
||||
if(!isObject(%toDie) || %toDie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = HyperDevestatorBeam;
|
||||
initialDirection = "0 0 -10";
|
||||
initialPosition = vectoradd(%target.getPosition(), "0 0 500");
|
||||
sourceObject = %boss;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
|
||||
case "SuperLaser":
|
||||
%toDie = %arg;
|
||||
if(!isObject(%toDie) || %toDie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%vec = vectorNormalize(vectorSub(%toDie.getPosition(), %boss.getPosition()));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = SuperlaserProjectile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %boss.getPosition();
|
||||
sourceObject = %boss;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
|
||||
case "NMM":
|
||||
%target = %arg;
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(), %boss.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = YvexNightmareMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %boss.getPosition();
|
||||
sourceObject = %boss;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%p);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target,%beacon,%p);
|
||||
|
||||
case "LBM":
|
||||
%target = %arg;
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(), %boss.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = VardisonLaserBallMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %boss.getPosition();
|
||||
sourceObject = %boss;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%p);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target,%beacon,%p);
|
||||
|
||||
case "LinearFlameWall":
|
||||
%fVec = %boss.getEyeVector();
|
||||
%fPos = %boss.getEyePosition();
|
||||
%lPos = vectorAdd(%fPos, vectorScale(%fVec, 10));
|
||||
%vec = vectorScale(%fVec, 24);
|
||||
//drop a line fire hire
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = napalmSubExplosion;
|
||||
initialDirection = "0 0 -30";
|
||||
initialPosition = vectorAdd(%lPos, "0 0 3");
|
||||
sourceSlot = 5;
|
||||
maxCount = 15;
|
||||
};
|
||||
%p.sourceObject = %g;
|
||||
%p.vector = %vec;
|
||||
%p.count = 1;
|
||||
|
||||
case "SeekingRapiers":
|
||||
%target = %arg;
|
||||
%iVec[0] = "1 0 0";
|
||||
%iVec[1] = "0 1 0";
|
||||
%iVec[2] = "-1 0 0";
|
||||
%iVec[3] = "0 -1 0";
|
||||
for(%i = 0; %i < 4; %i++) {
|
||||
createSeekingProjectile("RapierShieldForwardProjectile", "LinearFlareProjectile", %boss.getPosition(), %iVec[%i], %boss, %target, 3000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function InvokeStillwallLoop(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%boss.setVelocity("0 0 0");
|
||||
%boss.InvokeLoop = schedule(100, 0, "InvokeStillwallLoop", %boss);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
function VardisonMiniDemonSpawner::OnExplode(%data, %proj, %pos, %mod) {
|
||||
//LaserBall
|
||||
%ball = CreateEmitter(%pos, "MiniShadowBallEmitter", "0 0 0 0");
|
||||
%ball.schedule(1000, "Delete");
|
||||
%Fire = CreateEmitter(%pos, "burnEmitter", "0 0 0 0");
|
||||
%Fire.schedule(2500, "Delete");
|
||||
CreateDemonAT(vectorAdd(%pos, "0 0 3"));
|
||||
}
|
||||
|
||||
function CreateDemon(%pos) {
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = VardisonMiniDemonSpawner;
|
||||
initialDirection = "0 0 -10";
|
||||
initialPosition = vectorAdd(%pos, "0 0 500");
|
||||
//sourceObject = %boss;
|
||||
//sourceSlot = 4;
|
||||
};
|
||||
}
|
||||
|
||||
function CreateDemonAT(%Pos) {
|
||||
%Demon = new player(){
|
||||
Datablock = "MiniDemonArmor";
|
||||
};
|
||||
%Demon.setTransform(%Pos);
|
||||
%Demon.type = 1;
|
||||
%Demon.canjump = 1;
|
||||
%Demon.hastarget = 1;
|
||||
%Demon.isBoss = 1; //grant boss-like ability
|
||||
|
||||
%Demon.team = 30;
|
||||
|
||||
%Demon.target = createTarget(%Demon, "Shadow Warrior", "", "Derm3", '', %Demon.team, PlayerSensor);
|
||||
setTargetSensorData(%Demon.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Demon.target, 30);
|
||||
setTargetName(%Demon.target, addtaggedstring("Shadow Warrior"));
|
||||
setTargetSkin(%Demon.target, 'Horde');
|
||||
|
||||
MissionCleanup.add(%Demon);
|
||||
schedule(1000, %Demon, "MiniDemonMoveToTarget", %Demon);
|
||||
}
|
||||
|
||||
function MiniDemonMoveToTarget(%Demon){
|
||||
if(!isobject(%Demon))
|
||||
return;
|
||||
if(%Demon.getState() $= "dead")
|
||||
return;
|
||||
%pos = %Demon.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%Demon);
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
%Demon.counter++;
|
||||
if(%Demon.counter >= 5) {
|
||||
%Demon.counter = 0;
|
||||
%Demon.canFire = 1;
|
||||
}
|
||||
if(%closestDistance <= $Zombie::detectDist) {
|
||||
if(%Demon.hastarget != 1){
|
||||
%Demon.hastarget = 1;
|
||||
}
|
||||
%upvec = "250";
|
||||
%fmultiplier = $Zombie::FForwardSpeed;
|
||||
|
||||
%vector = ZgetFacingDirection(%Demon,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, %Fmultiplier);
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= "1200" && %Demon.canjump == 1){
|
||||
%Demon.setvelocity("0 0 0");
|
||||
%upvec = (%upvec * 8);
|
||||
%x = (%x * 0.5);
|
||||
%y = (%y * 0.5);
|
||||
%Demon.canjump = 0;
|
||||
schedule(2500, %Demon, "Zsetjump", %Demon);
|
||||
}
|
||||
|
||||
if(%Demon.canFire) {
|
||||
MiniDemonFire(%Demon, %closestclient);
|
||||
}
|
||||
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%Demon.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%Demon.hastarget == 1) {
|
||||
%Demon.hastarget = 0;
|
||||
%Demon.DemonRmove = schedule(100, %Demon, "ZSetRandomMove", %Demon);
|
||||
}
|
||||
%Demon.moveloop = schedule(500, %Demon, "MiniDemonMoveToTarget", %Demon);
|
||||
}
|
||||
|
||||
function MiniDemonFire(%demon, %closestclient){
|
||||
%pos = %demon.getMuzzlePoint(4);
|
||||
%tpos = %closestclient.getWorldBoxCenter();
|
||||
%tvel = %closestclient.getvelocity();
|
||||
%vec = vectorsub(%tpos,%pos);
|
||||
%dist = vectorlen(%vec);
|
||||
%velpredict = vectorscale(%tvel,(%dist / 125));
|
||||
%vector = vectoradd(%vec,%velpredict);
|
||||
%ndist = vectorlen(%vector);
|
||||
%upvec = "0 0 "@((%ndist / 125) * (%ndist / 125) * 2);
|
||||
%vector = vectornormalize(vectoradd(%vector,%upvec));
|
||||
|
||||
%p = new GrenadeProjectile() {
|
||||
dataBlock = MiniDemonBlaster;
|
||||
initialDirection = %vector;
|
||||
initialPosition = %pos;
|
||||
sourceObject = %demon;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
|
||||
%demon.canFire = 0;
|
||||
}
|
||||
372
scripts/TWM2/Bosses/LordYvex.cs
Normal file
372
scripts/TWM2/Bosses/LordYvex.cs
Normal file
|
|
@ -0,0 +1,372 @@
|
|||
//BLOCK FUNCTIONS
|
||||
function YvexNightmareMissile::OnExplode(%data, %proj, %pos, %mod) {
|
||||
%source = %proj.SourceObject;
|
||||
InitContainerRadiusSearch(%proj.getPosition(), 6, $TypeMasks::PlayerObjectType);
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0) {
|
||||
%cl = %potentialTarget.client;
|
||||
if(%cl !$= "")
|
||||
Yvexnightmareloop(%source, %cl);
|
||||
}
|
||||
}
|
||||
|
||||
function KillerPulse::onCollision(%data,%projectile,%targetObject,%modifier,%position,%normal) {
|
||||
if (%targetObject.getClassName() $= "Player" && %targetObject.isBoss) {
|
||||
messageall('msgkillcurse', "\c5"@getTaggedString(%targetObject.client.name)@" Took a fatal Hit from "@$TWM2::ZombieName[7]@"'s Dark Energy");
|
||||
%targetObject.throwWeapon();
|
||||
%targetObject.clearinventory();
|
||||
YvexAttack_FUNC("KillLoop", %targetObject);
|
||||
}
|
||||
}
|
||||
|
||||
function YvexZombieMakerMissile::OnExplode(%data, %proj, %pos, %mod) {
|
||||
%c = CreateEmitter(%pos, NightmareGlobeEmitter, "0 0 1");
|
||||
%rand = getRandom(1, 6);
|
||||
%c.schedule(%rand * 750, "delete");
|
||||
for(%i = 0; %i < %rand; %i++) {
|
||||
%time = %i * 750;
|
||||
%type = getRandomZombieType("1 2 3 4 5 9 12 13");
|
||||
schedule(%time, 0, "StartAZombie", vectoradd(%pos, "0 0 1"), %type);
|
||||
}
|
||||
}
|
||||
|
||||
function YvexSniperShot::onCollision(%data, %projectile, %targetObject, %modifier, %position, %normal) {
|
||||
if(!isplayer(%targetObject)) {
|
||||
return;
|
||||
}
|
||||
%targ = %targetObject.client;
|
||||
%Zombie = %projectile.sourceObject;
|
||||
%targ.nightmareticks = 0;
|
||||
Yvexnightmareloop(%zombie,%targ);
|
||||
%randMessage = getrandom(3)+1;
|
||||
switch(%randMessage) {
|
||||
case 1:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[7]@": Let the revenge begin, "@getTaggedString(%targ.name)@".");
|
||||
case 2:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[7]@": Taste my vengance... "@getTaggedString(%targ.name)@".");
|
||||
case 3:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[7]@": Sleep Forever... "@getTaggedString(%targ.name)@".");
|
||||
default:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::ZombieName[7]@": This Nightmare will lock you forever "@getTaggedString(%targ.name)@"!");
|
||||
}
|
||||
}
|
||||
|
||||
//CREATION
|
||||
function SpawnYvex(%position) {
|
||||
%Zombie = new player(){
|
||||
Datablock = "YvexZombieArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%position, "0 0 5");
|
||||
MessageAll('MsgYvexreturn', "\c4"@$TWM2::ZombieName[7]@": Did you miss me? Because... I WANT MY REVENGE!!!");
|
||||
|
||||
%command = "Yvexmovetotarget";
|
||||
%zombie.ticks = 0;
|
||||
InitiateBoss(%zombie, "Yvex");
|
||||
|
||||
YvexAttack_FUNC("ZombieSummon", %zombie);
|
||||
YvexAttacks(%zombie);
|
||||
|
||||
%Zombie.team = 30;
|
||||
%zname = $TWM2::ZombieName[7]; // <- To Hosts, Enjoy, You can
|
||||
//Change the Zombie Names now!!!
|
||||
%zombie.target = createTarget(%zombie, %zname, "", "Derm3", '', %zombie.team, PlayerSensor);
|
||||
setTargetSensorData(%zombie.target, PlayerSensor);
|
||||
setTargetSensorGroup(%zombie.target, 30);
|
||||
setTargetName(%zombie.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%zombie.target, 'Horde');
|
||||
//
|
||||
%zombie.type = %type;
|
||||
%Zombie.setTransform(%cpos);
|
||||
%zombie.canjump = 1;
|
||||
%zombie.hastarget = 1;
|
||||
%zombie.isZombie = 1;
|
||||
MissionCleanup.add(%Zombie);
|
||||
schedule(1000, %zombie, %command, %zombie);
|
||||
}
|
||||
|
||||
|
||||
//AI
|
||||
|
||||
function Yvexmovetotarget(%zombie){
|
||||
if(!isobject(%zombie))
|
||||
return;
|
||||
if(%zombie.getState() $= "dead")
|
||||
return;
|
||||
%pos = %zombie.getworldboxcenter();
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.setPosition(vectorAdd(vectoradd(%closestclient.player.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%zombie.setVelocity("0 0 0");
|
||||
MessageAll('msgYvexAttack', "\c4"@$TWM2::ZombieName[7]@": I shall not fall to my end!");
|
||||
}
|
||||
%closestClient = ZombieLookForTarget(%zombie);
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $zombie::detectDist){
|
||||
if(%zombie.hastarget != 1){
|
||||
serverPlay3d("ZombieHOWL",%zombie.getWorldBoxCenter());
|
||||
%zombie.hastarget = 1;
|
||||
}
|
||||
%chance = (getrandom() * 20);
|
||||
if(%chance >= 19)
|
||||
serverPlay3d("ZombieMoan",%zombie.getWorldBoxCenter());
|
||||
|
||||
%vector = ZgetFacingDirection(%zombie,%closestClient,%pos);
|
||||
|
||||
%zombie.ticks++;
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed / 2);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed / 3 * 2))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%zombie.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%zombie.hastarget == 1){
|
||||
%zombie.hastarget = 0;
|
||||
%zombie.zombieRmove = schedule(100, %zombie, "ZSetRandomMove", %zombie);
|
||||
}
|
||||
%zombie.moveloop = schedule(500, %zombie, "Yvexmovetotarget", %zombie);
|
||||
}
|
||||
|
||||
//ATTACKS
|
||||
function YvexAttacks(%yvex) {
|
||||
if(!isObject(%yvex) || %yvex.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%closestClient = ZombieLookForTarget(%zombie);
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
|
||||
if(%closestClient) {
|
||||
if(%closestDistance <= 150) {
|
||||
%att = getRandom(1, 3);
|
||||
switch(%att) {
|
||||
case 1:
|
||||
YvexAttack_FUNC("FireCurse", %yvex SPC %closestClient);
|
||||
case 2:
|
||||
YvexAttack_FUNC("FireSniper", %yvex SPC %closestClient);
|
||||
case 3:
|
||||
YvexAttack_FUNC("LaunchSummonMissile", %yvex SPC %closestClient);
|
||||
}
|
||||
}
|
||||
else {
|
||||
%att = getRandom(1, 3);
|
||||
switch(%att) {
|
||||
case 1:
|
||||
YvexAttack_FUNC("RiftPulse", %yvex SPC %closestClient);
|
||||
case 2:
|
||||
YvexAttack_FUNC("NightmareMissile", %yvex SPC %closestClient);
|
||||
case 3:
|
||||
YvexAttack_FUNC("LaunchSummonMissile", %yvex SPC %closestClient);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
schedule(25000, 0, "YvexAttacks", %yvex);
|
||||
}
|
||||
|
||||
function YvexAttack_FUNC(%att, %args) {
|
||||
switch$(%att) {
|
||||
case "ZombieSummon":
|
||||
%z = getWord(%args, 0);
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//schedule the next one
|
||||
schedule(40000, 0, "YvexAttack_FUNC", "ZombieSummon", %z);
|
||||
//--------------------
|
||||
%type = getRandomZombieType("1 2 3 4 5 9 12 13");
|
||||
%msg = getrandom(1, 3);
|
||||
switch(%msg) {
|
||||
case 1:
|
||||
messageall('YvexMsg',"\c4"@$TWM2::ZombieName[7]@": Enlisted for revenge... ATTACK");
|
||||
case 2:
|
||||
messageall('YvexMsg',"\c4"@$TWM2::ZombieName[7]@": Attack my soldiers.. REVENGE is ours");
|
||||
case 3:
|
||||
messageall('YvexMsg',"\c4"@$TWM2::ZombieName[7]@": Take out the enemy, ALL OF THEM!");
|
||||
}
|
||||
for(%i = 0; %i < 5; %i++) {
|
||||
%pos = vectoradd(%z.getPosition(), getRandomPosition(10,1));
|
||||
%fpos = vectoradd("0 0 5",%pos);
|
||||
StartAZombie(%fpos, %type);
|
||||
}
|
||||
%z.setMoveState(true);
|
||||
%z.setActionThread($Zombie::RAAMThread, true);
|
||||
%z.schedule(3500, "setMoveState", false);
|
||||
|
||||
case "FireCurse":
|
||||
MessageAll('msgWTFH', "\c4"@$TWM2::ZombieName[7]@": DIE!!!");
|
||||
%zombie = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
|
||||
%vec = vectorsub(%target.getworldboxcenter(),%zombie.getMuzzlePoint(0));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.getvelocity(),vectorlen(%vec)/100));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = YvexSniperShot;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %zombie.getMuzzlePoint(0);
|
||||
sourceObject = %zombie;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
|
||||
case "FireSniper":
|
||||
%zombie = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
|
||||
%vec = vectorsub(%target.getworldboxcenter(),%zombie.getMuzzlePoint(0));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.getvelocity(),vectorlen(%vec)/100));
|
||||
%p = new LinearFlareProjectile() {
|
||||
dataBlock = YvexSniperShot;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %zombie.getMuzzlePoint(0);
|
||||
sourceObject = %zombie;
|
||||
sourceSlot = 0;
|
||||
};
|
||||
|
||||
case "LaunchSummonMissile":
|
||||
%z = getWord(%args, 0);
|
||||
%t = getWord(%args, 1);
|
||||
%vec = vectorNormalize(vectorSub(%t.getPosition(),%z.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = YvexZombieMakerMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %z.getMuzzlePoint(4);
|
||||
sourceObject = %z;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %t.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%t, %beacon, %p);
|
||||
|
||||
case "RiftPulse":
|
||||
%t = getWord(%args, 0);
|
||||
%ct = getWord(%args, 1);
|
||||
|
||||
if(!isObject(%t)) {
|
||||
return;
|
||||
}
|
||||
%t.setMoveState(true);
|
||||
%ct++;
|
||||
if(%ct > 30) {
|
||||
%t.setMoveState(false);
|
||||
}
|
||||
schedule(500, 0, "YvexAttack_FUNC", "RiftPulse", %t SPC %ct);
|
||||
|
||||
case "NightmareMissile":
|
||||
%z = getWord(%args, 0);
|
||||
%t = getWord(%args, 1);
|
||||
%vec = vectorNormalize(vectorSub(%t.getPosition(),%z.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = YvexNightmareMissile;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %z.getMuzzlePoint(4);
|
||||
sourceObject = %z;
|
||||
sourceSlot = 4;
|
||||
};
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %t.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%t, %beacon, %p);
|
||||
|
||||
case "KillLoop":
|
||||
%player = getWord(%args, 0);
|
||||
if(isObject(%player)) {
|
||||
%player.disablemove(true);
|
||||
if (%player.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%player.setActionThread("Death2");
|
||||
if(%player.beats == 1) {
|
||||
messageclient(%player.client, 'MsgClient', "\c2You feel the life slowly leave you.");
|
||||
messageclient(%player.client, 'MsgClient', "~wfx/misc/heartbeat.wav");
|
||||
}
|
||||
if(%player.beats < 10) {
|
||||
%player.setWhiteOut(%player.beats * 0.2);
|
||||
}
|
||||
else {
|
||||
%player.setDamageFlash(1);
|
||||
%player.scriptKill(0);
|
||||
}
|
||||
}
|
||||
%player.beats++;
|
||||
Schedule(600, 0, "YvexAttack_FUNC", "KillLoop", %player);
|
||||
}
|
||||
}
|
||||
|
||||
function Yvexnightmareloop(%zombie,%viewer) {
|
||||
%enum = getRandom(1,5);
|
||||
switch(%enum) {
|
||||
case 1:
|
||||
%emote = "sitting";
|
||||
case 2:
|
||||
%emote = "standing";
|
||||
case 3:
|
||||
%emote = "death3";
|
||||
case 4:
|
||||
%emote = "death2";
|
||||
case 5:
|
||||
%emote = "death4";
|
||||
}
|
||||
if(!isobject(%viewer.player) || %viewer.player.getState() $= "dead") {
|
||||
%viewer.nightmared = 0;
|
||||
return;
|
||||
}
|
||||
if(!isobject(%zombie)) {
|
||||
%viewer.nightmared = 0;
|
||||
%viewer.player.setMoveState(false);
|
||||
return;
|
||||
}
|
||||
if(%viewer.nightmareticks > 30) {
|
||||
%viewer.player.setMoveState(false);
|
||||
%viewer.nightmareticks = 0;
|
||||
%viewer.nightmared = 0;
|
||||
return;
|
||||
}
|
||||
%c = createEmitter(%viewer.player.position,NightmareGlobeEmitter,"1 0 0"); //Rotate it
|
||||
MissionCleanup.add(%c); // I think This should be used
|
||||
schedule(500,0,"killit",%c);
|
||||
%viewer.nightmareticks++;
|
||||
%viewer.player.setMoveState(true);
|
||||
%viewer.nightmared = 1;
|
||||
%viewer.player.setActionThread(%emote,true);
|
||||
%viewer.player.setWhiteout(1.8);
|
||||
%viewer.player.setDamageFlash(1.5);
|
||||
|
||||
%zombie.playShieldEffect("1 1 1");
|
||||
serverPlay3D(NightmareScreamSound, %viewer.player.position);
|
||||
schedule(500,0,"Yvexnightmareloop",%zombie, %viewer);
|
||||
%viewer.player.damage(0, %viewer.player.position, 0.01, $DamageType::Zombie);
|
||||
%zombie.setDamageLevel(%zombie.getDamageLevel() - 0.1);
|
||||
|
||||
BottomPrint(%viewer,"You are locked in "@$TWM2::ZombieName[7]@"'s Nightmare.",5,1);
|
||||
schedule(1, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/fem1/avo.deathcry_02.wav");
|
||||
schedule(5, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/fem2/avo.deathcry_02.wav");
|
||||
schedule(10, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/fem3/avo.deathcry_02.wav");
|
||||
schedule(15, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/fem4/avo.deathcry_02.wav");
|
||||
schedule(20, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/fem5/avo.deathcry_02.wav");
|
||||
schedule(25, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/male1/avo.deathcry_02.wav");
|
||||
schedule(30, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/male2/avo.deathcry_02.wav");
|
||||
schedule(35, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/male3/avo.deathcry_02.wav");
|
||||
schedule(40, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/male4/avo.deathcry_02.wav");
|
||||
schedule(45, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/male5/avo.deathcry_02.wav");
|
||||
schedule(50, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/derm1/avo.deathcry_02.wav");
|
||||
schedule(55, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/derm2/avo.deathcry_02.wav");
|
||||
schedule(60, 0, "messageclient", %viewer, 'MsgClient', "~wvoice/derm3/avo.deathcry_02.wav");
|
||||
}
|
||||
418
scripts/TWM2/Bosses/LordraniusTrebor.cs
Normal file
418
scripts/TWM2/Bosses/LordraniusTrebor.cs
Normal file
|
|
@ -0,0 +1,418 @@
|
|||
function StartTrebor(%pos){
|
||||
%team = 6;
|
||||
%rotation = "1 0 0 0";
|
||||
%skill = 10;
|
||||
|
||||
%tank = new HoverVehicle() {
|
||||
dataBlock = TreborTank;
|
||||
position = %pos;
|
||||
rotation = %rotation;
|
||||
team = %team;
|
||||
};
|
||||
MissionCleanUp.add(%tank);
|
||||
|
||||
setTargetSensorGroup(%tank.getTarget(), %team);
|
||||
%tank.isdrone = 1;
|
||||
%tank.skill = 0.2 + (%skill / 12.5);
|
||||
|
||||
%tank.CanUseSpec = 1;
|
||||
%tank.SpecTicks = 0;
|
||||
InitiateBoss(%tank, "Trebor");
|
||||
|
||||
TreborDetermineAttack(%tank);
|
||||
TreborMove(%tank);
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": It's time to test the harbinger clan's ultimate siege weapon. ON YOU!");
|
||||
|
||||
return %tank;
|
||||
}
|
||||
|
||||
function TreborTank::onAdd(%this, %obj) {
|
||||
Parent::onAdd(%this, %obj);
|
||||
|
||||
%turret = TurretData::create(CentaurTurret);
|
||||
%turret.selectedWeapon = 1;
|
||||
MissionCleanup.add(%turret);
|
||||
%turret.team = 6;
|
||||
%turret.setSelfPowered();
|
||||
%obj.mountObject(%turret, 10);
|
||||
|
||||
%turret.mountImage(Cent50CalBarrel, 0);
|
||||
%obj.barrel = "Chain";
|
||||
|
||||
%obj.turretObject = %turret;
|
||||
%turret.source = %obj;
|
||||
|
||||
%turret.setCapacitorRechargeRate(999);
|
||||
%turret.setAutoFire(true);
|
||||
|
||||
%obj.schedule(6000, "playThread", $ActivateThread, "activate");
|
||||
|
||||
// set the turret's target info
|
||||
setTargetSensorGroup(%obj.getTarget(), 6);
|
||||
setTargetAlwaysVisMask(%obj.getTarget(), 0xffffffff);
|
||||
setTargetSensorGroup(%turret.getTarget(), 6);
|
||||
setTargetAlwaysVisMask(%turret.getTarget(), 0xffffffff);
|
||||
}
|
||||
function TreborTank::deleteAllMounted(%data, %obj) {
|
||||
CentaurVehicle::deleteAllMounted(%data, %obj);
|
||||
}
|
||||
|
||||
function TreborLocateTarget(%tank) {
|
||||
%wbpos = %tank.getworldboxcenter();
|
||||
%count = ClientGroup.getCount();
|
||||
%closestClient = -1;
|
||||
%closestDistance = 32767;
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player)){
|
||||
%testPos = %cl.player.getWorldBoxCenter();
|
||||
%distance = vectorDist(%wbpos, %testPos);
|
||||
if (%distance > 0 && %distance < %closestDistance) {
|
||||
%closestClient = %cl;
|
||||
%closestDistance = %distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
return %closestClient SPC %closestDistance;
|
||||
}
|
||||
|
||||
function TreborRotateAndVec(%tank, %tPl){
|
||||
if(!isObject(%tPl)) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
%cPos = %tank.getPosition();
|
||||
%vector = vectorNormalize(vectorSub(%cpos, %tPl.getPosition()));
|
||||
%v1 = getword(%vector, 0);
|
||||
%v2 = getword(%vector, 1);
|
||||
%v3 = getword(%vector, 2);
|
||||
%nv1 = (%v2*-1);
|
||||
%nv2 = (%v1);
|
||||
%set = %nv1@" "@%nv2@" "@%v3;
|
||||
%tank.setRotation(fullrot("0 0 0", %Set));
|
||||
//
|
||||
return %set;
|
||||
}
|
||||
|
||||
function TreborMove(%tank) {
|
||||
if(!isObject(%tank)) {
|
||||
return;
|
||||
}
|
||||
if(%tank.performingSpec) { //Specials make the tank do things that this must be off to work
|
||||
schedule(250, 0, "TreborMove", %tank);
|
||||
return;
|
||||
}
|
||||
%target = TreborLocateTarget(%tank);
|
||||
if(!isObject(%target.player)) {
|
||||
schedule(100, 0, "TreborMove", %tank);
|
||||
return;
|
||||
}
|
||||
%vec = TreborRotateAndVec(%tank, %target.player); //turns the tank
|
||||
%dist = VectorDist(%target.player.getPosition(), %tank.getPosition()); //The all important
|
||||
//don't ask how we would get this far
|
||||
//but we simply move
|
||||
if(%dist > 1500) {
|
||||
%vector = vectorscale(%tank.getForwardVector(), 6000);
|
||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||
//throw in another speed boost
|
||||
%tank.setImageTrigger(3, true); //the jets
|
||||
}
|
||||
else if(%dist <= 1500 && %dist > 200) {
|
||||
%vector = vectorscale(%tank.getForwardVector(), 3000);
|
||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||
//decent move, we like this range
|
||||
}
|
||||
//This range is potentially deadly, so take it slower
|
||||
else {
|
||||
if(%dist < 10 && !%tank.teleporting) {
|
||||
//interesting... trying to cut it close?
|
||||
%tank.teleporting = 1;
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Trying to do that huhn? I think not!");
|
||||
PhaseShift(%tank);
|
||||
}
|
||||
%vector = vectorscale(%tank.getForwardVector(), 1150);
|
||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||
}
|
||||
schedule(100, 0, "TreborMove", %tank);
|
||||
}
|
||||
|
||||
function TreborDetermineAttack(%tank) {
|
||||
if(!isObject(%tank)) {
|
||||
return;
|
||||
}
|
||||
if(%tank.performingSpec) { //Specials make the tank do things that this must be off to work
|
||||
schedule(250, 0, "TreborDetermineAttack", %tank);
|
||||
return;
|
||||
}
|
||||
%target = TreborLocateTarget(%tank);
|
||||
if(!isObject(%target)) {
|
||||
schedule(250, 0, "TreborDetermineAttack", %tank);
|
||||
return;
|
||||
}
|
||||
%dist = VectorDist(%target.player.getPosition(), %tank.getPosition()); //The all important
|
||||
if(%dist < 175) { //in CG Range
|
||||
//Collider?
|
||||
if(%tank.barrel $= "Collider") {
|
||||
%tank.barrel = "Chain";
|
||||
//unmount first, we no likey UEs
|
||||
%tank.turretObject.schedule(500, "unmountImage", 0);
|
||||
%tank.turretObject.schedule(500, "unmountImage", 1);
|
||||
//
|
||||
%tank.turretObject.schedule(3500, "mountImage", Cent50CalBarrel, 0);
|
||||
}
|
||||
}
|
||||
//striking range for collider
|
||||
else {
|
||||
if(%tank.barrel $= "Chain") {
|
||||
%tank.barrel = "Collider";
|
||||
//unmount first, we no likey UEs
|
||||
%tank.turretObject.schedule(500, "unmountImage", 0);
|
||||
%tank.turretObject.schedule(500, "unmountImage", 1);
|
||||
//
|
||||
%tank.turretObject.schedule(3500, "mountImage", CentaurColliderBarrel, 0);
|
||||
}
|
||||
}
|
||||
if(%tank.CanUseSpec) {
|
||||
%tank.CanUseSpec = 0;
|
||||
schedule(20000, 0, "eval", "%tank.CanUseSpec = 1;");
|
||||
if(%dist < 150) { //in CG Range
|
||||
//Now, Lets try an attack
|
||||
%attackNum = GetRandom(1, 3);
|
||||
//1. Ramming Run: Tank boosts to ram the target
|
||||
//2. CG Slide: Tank slides around the target and CGs it
|
||||
//3. Phase Shift: Tank Shifts to collider range
|
||||
switch(%attackNum) {
|
||||
case 1:
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Dodge this "@getTaggedString(%target.name)@"!!!");
|
||||
RammingSpeed(%tank, %target);
|
||||
case 2:
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage sideswipe boosters");
|
||||
SlideTarget(%tank, %target);
|
||||
case 3:
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage Phase Shift!");
|
||||
PhaseShift(%tank);
|
||||
}
|
||||
}
|
||||
//striking range for collider (and some of my other goodies)
|
||||
else {
|
||||
%attackNum = getRandom(1,3);
|
||||
switch(%attackNum) {
|
||||
case 1:
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage missile storm on "@getTaggedString(%target.name)@"!!!");
|
||||
MissileStorm(%tank, %target);
|
||||
case 2:
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Let a firey storm of missiles rain upon you, "@getTaggedString(%target.name)@"!!!");
|
||||
MissileRain(%tank, %target);
|
||||
case 3:
|
||||
MessageAll('MsgBossBegin', "\c4"@$TWM2::BossName["Trebor"]@": Engage missile storm on "@getTaggedString(%target.name)@"!!!");
|
||||
MissileStorm(%tank, %target);
|
||||
}
|
||||
}
|
||||
}
|
||||
schedule(250, 0, "TreborDetermineAttack", %tank);
|
||||
}
|
||||
|
||||
//Attackz0rs
|
||||
function RammingSpeed(%tank, %target) {
|
||||
//get ready to blast into them
|
||||
if(!isObject(%tank)) {
|
||||
return;
|
||||
}
|
||||
if(!isObject(%target.player)) {
|
||||
%tank.performingSpec = 0;
|
||||
%tank.SpecTicks = 0;
|
||||
%tank.barrel = "Chain";
|
||||
%tank.turretObject.schedule(3500, "mountImage", Cent50CalBarrel, 0);
|
||||
echo("done");
|
||||
return;
|
||||
}
|
||||
%tank.SpecTicks++;
|
||||
if(%tank.SpecTicks == 1) {
|
||||
echo("prep");
|
||||
%tank.performingSpec = 1;
|
||||
%tank.barrel = "";
|
||||
%tank.turretObject.schedule(100, "unMountImage", 0);
|
||||
}
|
||||
else {
|
||||
%vec = TreborRotateAndVec(%tank, %target.player); //turns the tank
|
||||
%vector = vectorscale(%tank.getForwardVector(), 15000);
|
||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||
//%tank.setImageTrigger(3, true);
|
||||
//echo("boost");
|
||||
}
|
||||
if(%tank.SpecTicks > 150) {
|
||||
%tank.performingSpec = 0;
|
||||
%tank.SpecTicks = 0;
|
||||
%tank.barrel = "Chain";
|
||||
%tank.turretObject.schedule(15000, "mountImage", Cent50CalBarrel, 0);
|
||||
echo("done");
|
||||
return;
|
||||
}
|
||||
schedule(100, 0, "RammingSpeed", %tank, %target);
|
||||
}
|
||||
|
||||
function SlideTarget(%tank, %target) {
|
||||
if(!isObject(%tank)) {
|
||||
return;
|
||||
}
|
||||
if(!isObject(%target.player)) {
|
||||
%tank.performingSpec = 0;
|
||||
return;
|
||||
}
|
||||
%tank.SpecTicks++;
|
||||
if(%tank.SpecTicks == 1) {
|
||||
%tank.performingSpec = 1;
|
||||
}
|
||||
else {
|
||||
%vec = TreborRotateAndVec(%tank, %target.player); //turns the tank
|
||||
%x = Getword(%vec,0);
|
||||
%y = Getword(%vec,1);
|
||||
%nv1 = %y;
|
||||
%nv2 = (%x * -1);
|
||||
%vector = %nv1@" "@%nv2@" 0";
|
||||
%vector = vectorscale(%vector, 8000);
|
||||
%tank.applyImpulse(%tank.getPosition(), %vector);
|
||||
}
|
||||
if(%tank.SpecTicks > 100) {
|
||||
%tank.performingSpec = 0;
|
||||
%tank.SpecTicks = 0;
|
||||
return;
|
||||
}
|
||||
schedule(100, 0, "SlideTarget", %tank, %target);
|
||||
}
|
||||
|
||||
function PhaseShift(%tank) {
|
||||
%tank.setCloaked(true);
|
||||
%tank.setFrozenState(true);
|
||||
%tank.schedule(2500, "setCloaked", false);
|
||||
%tank.schedule(2500, "setFrozenState", false);
|
||||
%CPos = %tank.getPosition();
|
||||
%rand = getRandomPosition(250, 1);
|
||||
%fin = vectorAdd(%CPos, %rand);
|
||||
%xy = getwords(%fin, 0, 1);
|
||||
%z = getTerrainHeight(%fin) + 9;
|
||||
%goto = %xy SPC %z;
|
||||
%tank.schedule(1000, "SetPosition", %goto);
|
||||
%tank.SpecTicks = 0;
|
||||
%tank.performingSpec = 0;
|
||||
schedule(2500, 0, eval, ""@%tank@".teleporting = 0;");
|
||||
}
|
||||
|
||||
// hack
|
||||
function CentaurTurret::selectTarget(%this, %turret) {
|
||||
if(%turret.source.isboss) {
|
||||
%turretTarg = %turret.getTarget();
|
||||
if(%turretTarg == -1)
|
||||
return;
|
||||
|
||||
// if the turret isn't on a team, don't fire at anyone
|
||||
if(getTargetSensorGroup(%turretTarg) == 0) {
|
||||
%turret.clearTarget();
|
||||
return;
|
||||
}
|
||||
|
||||
// stop firing if turret is disabled or if it needs power and isn't powered
|
||||
if((!%turret.isPowered()) && (!%turret.needsNoPower)) {
|
||||
%turret.clearTarget();
|
||||
return;
|
||||
}
|
||||
|
||||
%TargetSearchMask = $TypeMasks::PlayerObjectType | $TypeMasks::VehicleObjectType;
|
||||
|
||||
InitContainerRadiusSearch(%turret.getMuzzlePoint(0), %turret.getMountedImage(0).attackRadius,
|
||||
%TargetSearchMask);
|
||||
|
||||
// TODO - clean up this mess + GameBaseData::hasLOS()
|
||||
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0) {
|
||||
if (%potentialtarget && %potentialTarget != %turret.source) {
|
||||
%potTargTarg = %potentialTarget.getTarget();
|
||||
if (%potentialTarget.homingCount > 0 && !%secondTarg) {
|
||||
if (!%firstTarg)
|
||||
%firstTarg = %potentialTarget;
|
||||
else
|
||||
%secondTarg = %potentialTarget;
|
||||
}
|
||||
else {
|
||||
%turret.setTargetObject(%potentialTarget);
|
||||
%turret.aquireTime = getSimTime();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (%secondTarg) {
|
||||
%turret.setTargetObject(%firstTarg);
|
||||
%turret.aquireTime = getSimTime();
|
||||
return;
|
||||
}
|
||||
if (%firstTarg) {
|
||||
%turret.setTargetObject(%firstTarg);
|
||||
%turret.aquireTime = getSimTime();
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
TurretData::selectTarget(%this, %turret);
|
||||
}
|
||||
}
|
||||
|
||||
function MissileStorm(%tank, %target) {
|
||||
schedule(700,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(1400,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(2100,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(2800,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(3500,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(4200,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(4900,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 5);
|
||||
schedule(5600,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 3);
|
||||
schedule(6300,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 3);
|
||||
schedule(7000,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 3);
|
||||
// Quick Shots
|
||||
schedule(8000,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8100,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8200,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8300,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8400,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8500,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8600,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(8700,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
%tank.SpecTicks = 0;
|
||||
%tank.performingSpec = 0;
|
||||
}
|
||||
|
||||
//ultimate evil
|
||||
function MissileRain(%tank, %target) {
|
||||
schedule(100,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(200,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(300,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(400,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(500,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(600,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(700,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(800,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(900,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1000,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
// Quick Shots
|
||||
schedule(1100,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1200,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1300,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1400,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1500,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1600,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1700,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1800,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(1900,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2000,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2100,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2200,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2300,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2400,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2500,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2600,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2700,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2800,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(2900,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
schedule(3000,0,"WindshearAttack_FUNC", "SidewinderLaunch", %tank SPC %target.player SPC 1);
|
||||
%tank.SpecTicks = 0;
|
||||
%tank.performingSpec = 0;
|
||||
}
|
||||
341
scripts/TWM2/Bosses/MajorInsignia.cs
Normal file
341
scripts/TWM2/Bosses/MajorInsignia.cs
Normal file
|
|
@ -0,0 +1,341 @@
|
|||
//Major Insignia
|
||||
//Gravity Zombie Boss
|
||||
|
||||
//Stops console spammage
|
||||
function NoCollideBio::shouldApplyImpulse(%targetObject) {
|
||||
return false;
|
||||
}
|
||||
function NoCollideHum::shouldApplyImpulse(%targetObject) {
|
||||
return false;
|
||||
}
|
||||
|
||||
//CREATION
|
||||
function SpawnInsignia(%position) {
|
||||
%Zombie = new player(){
|
||||
Datablock = "InsigniaZombieArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%position, "0 0 5");
|
||||
MessageAll('MsgDarkraireturn', "\c4"@$TWM2::BossName["Insignia"]@": Oh, a battle, lets see if I know how to do this...");
|
||||
|
||||
%command = "Insigniamovetotarget";
|
||||
%zombie.ticks = 0;
|
||||
InitiateBoss(%zombie, "Insignia");
|
||||
schedule(5000, 0, InsigniaAttack_FUNC, "ZombieSummon", %zombie);
|
||||
InsigniaAttack(%zombie);
|
||||
|
||||
%Zombie.team = 30;
|
||||
%zname = $TWM2::BossName["Insignia"]; // <- To Hosts, Enjoy, You can
|
||||
//Change the Zombie Names now!!!
|
||||
%zombie.target = createTarget(%zombie, %zname, "", "Derm3", '', %zombie.team, PlayerSensor);
|
||||
setTargetSensorData(%zombie.target, PlayerSensor);
|
||||
setTargetSensorGroup(%zombie.target, 30);
|
||||
setTargetName(%zombie.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%zombie.target, 'Horde');
|
||||
//
|
||||
%zombie.type = %type;
|
||||
%Zombie.setTransform(%cpos);
|
||||
%zombie.canjump = 1;
|
||||
%zombie.hastarget = 1;
|
||||
%zombie.isZombie = 1;
|
||||
MissionCleanup.add(%Zombie);
|
||||
schedule(1000, %zombie, %command, %zombie);
|
||||
}
|
||||
|
||||
|
||||
//AI
|
||||
|
||||
function Insigniamovetotarget(%zombie){
|
||||
if(!isobject(%zombie))
|
||||
return;
|
||||
if(%zombie.getState() $= "dead")
|
||||
return;
|
||||
%pos = %zombie.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%zombie);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.setPosition(vectorAdd(vectoradd(%closestclient.player.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%zombie.setVelocity("0 0 0");
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": OH FALLING IS NOT FUN!!!!");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $zombie::detectDist){
|
||||
if(%zombie.hastarget != 1){
|
||||
serverPlay3d("ZombieHOWL",%zombie.getWorldBoxCenter());
|
||||
%zombie.hastarget = 1;
|
||||
}
|
||||
%chance = (getrandom() * 20);
|
||||
if(%chance >= 19)
|
||||
serverPlay3d("ZombieMoan",%zombie.getWorldBoxCenter());
|
||||
|
||||
%vector = ZgetFacingDirection(%zombie,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%zombie.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%zombie.hastarget == 1){
|
||||
%zombie.hastarget = 0;
|
||||
%zombie.zombieRmove = schedule(100, %zombie, "ZSetRandomMove", %zombie);
|
||||
}
|
||||
%zombie.moveloop = schedule(500, %zombie, "Insigniamovetotarget", %zombie);
|
||||
}
|
||||
|
||||
//
|
||||
function InsigniaAttack_FUNC(%att, %args) {
|
||||
switch$(%att) {
|
||||
case "ZombieSummon":
|
||||
%z = getWord(%args, 0);
|
||||
if(!isobject(%z) || %z.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
schedule(30000, 0, InsigniaAttack_FUNC, "ZombieSummon", %z);
|
||||
//--------------------
|
||||
%type = getRandomZombieType("1 2 3 5 9 12 13 15 17"); //omit 4 in place of 17: Demon -> Elite Demon
|
||||
messageall('RogMsg',"\c4"@$TWM2::BossName["Insignia"]@": Slay the humans!!!");
|
||||
for(%i = 0; %i < 6; %i++) {
|
||||
%pos = vectoradd(%z.getPosition(), getRandomPosition(10,1));
|
||||
%fpos = vectoradd("0 0 5",%pos);
|
||||
StartAZombie(%fpos, %type);
|
||||
}
|
||||
%z.setMoveState(true);
|
||||
%z.setActionThread($Zombie::RAAMThread, true);
|
||||
%z.schedule(3500, "setMoveState", false);
|
||||
|
||||
case "Reinforce":
|
||||
%zombie = getWord(%args, 0);
|
||||
%type = getRandomZombieType("1 2 3 5 9 12 13 15 17");
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Insignia"]@": It's time for you to take on my reinforcements!");
|
||||
%typeCaller = %type SPC %type SPC %type SPC %type;
|
||||
%callPos1 = vectorAdd(%zombie.getPosition(), "2000 100 400");
|
||||
spawnHunterDropship(%callPos1, "AA", %typeCaller);
|
||||
%callPos2 = vectorAdd(%zombie.getPosition(), "2000 -100 400");
|
||||
spawnHunterDropship(%callPos2, "AA", %typeCaller);
|
||||
|
||||
case "GravShot":
|
||||
%plyr = getWord(%args, 0);
|
||||
%vec = getWords(%args, 1);
|
||||
if(%plyr.isAlive()) {
|
||||
%plyr.applyImpulse(%plyr.getPosition(), VectorScale(%vec, 2000));
|
||||
%plyr.flight = 1;
|
||||
schedule(4000, 0, "eval", ""@%plyr@".flight = 0;");
|
||||
for( %i = 0; %i < 20; %i++ ) {
|
||||
schedule(%i * 80, 0, InsigniaAttack_FUNC, "Projection_Bio", %plyr);
|
||||
}
|
||||
}
|
||||
|
||||
case "Projection_Bio":
|
||||
%plyr = getWord(%args, 0);
|
||||
if(isPlayer(%plyr)) {
|
||||
%trans2 = %plyr.getTransform();
|
||||
%player = new StaticShape(){
|
||||
Datablock = "NoCollideBio";
|
||||
};
|
||||
%player.setTransform(%trans2);
|
||||
%player.startfade(2000, 0, true);
|
||||
%player.schedule(5000, "Delete");
|
||||
}
|
||||
|
||||
case "Projection_Hum":
|
||||
%plyr = getWord(%args, 0);
|
||||
if(isPlayer(%plyr)) {
|
||||
%trans2 = %plyr.getTransform();
|
||||
%player = new StaticShape(){
|
||||
Datablock = "NoCollideHum";
|
||||
};
|
||||
%player.setTransform(%trans2);
|
||||
%player.startfade(2000, 0, true);
|
||||
%player.schedule(5000, "Delete");
|
||||
}
|
||||
|
||||
case "AcidShot_Single":
|
||||
%zombie = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
if(isobject(%zombie) && isobject(%target)){
|
||||
%vec = vectorsub(%target.getworldboxcenter(),%zombie.getMuzzlePoint(6));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.getvelocity(),vectorlen(%vec)/100));
|
||||
%p = new TracerProjectile() {
|
||||
dataBlock = LZombieAcidBall;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %zombie.getMuzzlePoint(6);
|
||||
sourceObject = %zombie;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
}
|
||||
|
||||
case "AcidStorm":
|
||||
%zombie = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
if(!isobject(%zombie) || %zombie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isobject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
%zombie.setMoveState(true);
|
||||
InsigniaAttack_FUNC("AcidShot_Single", %zombie SPC %target);
|
||||
schedule(500, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(1000, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(1500, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(2000, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(2500, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(3000, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(3500, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(4000, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
schedule(4500, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
%zombie.schedule(5000, "setMoveState", false);
|
||||
|
||||
case "AcidMachineGun":
|
||||
%zombie = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
if(!isobject(%zombie) || %zombie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isobject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
for(%i = 0; %i < 40; %i++) {
|
||||
schedule(%i * 100, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
}
|
||||
|
||||
case "LapseStrike":
|
||||
%zombie = getWord(%args, 0);
|
||||
%target = getWord(%args, 1);
|
||||
%ct = getWord(%args, 2);
|
||||
if(!isObject(%zombie) || %zombie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isObject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(%ct > 30) {
|
||||
return;
|
||||
}
|
||||
%ct++;
|
||||
schedule(200, 0, InsigniaAttack_FUNC, "LapseStrike", %zombie SPC %target SPC %ct);
|
||||
if(%ct < 5) {
|
||||
%zombie.setVelocity("0 0 10");
|
||||
}
|
||||
else if(%ct >= 5 && %ct <= 10) {
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.schedule(700, "setPosition", vectorAdd(%target.getPosition(), "20 0 50"));
|
||||
}
|
||||
else if(%ct == 10 || %ct == 11) {
|
||||
schedule(1, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
}
|
||||
else if(%ct >= 12 && %ct <= 17) {
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.schedule(700, "setPosition", vectorAdd(%target.getPosition(), "-20 0 50"));
|
||||
}
|
||||
else if(%ct == 18 || %ct == 19 || %ct == 20) {
|
||||
schedule(1, 0, InsigniaAttack_FUNC, "AcidShot_Single", %zombie SPC %target);
|
||||
}
|
||||
else if(%ct > 20 && %ct <= 25) {
|
||||
%zombie.setVelocity("0 0 10");
|
||||
%zombie.startFade(400, 0, true);
|
||||
%zombie.startFade(1000, 0, false);
|
||||
%zombie.schedule(700, "setPosition", vectorAdd(%target.getPosition(), "-20 20 50"));
|
||||
}
|
||||
else if(%ct > 26 && %ct < 30) {
|
||||
%zombie.setVelocity("0 0 10");
|
||||
}
|
||||
|
||||
case "DropSummon":
|
||||
%target = getWord(%args, 0);
|
||||
%target.setMoveState(true);
|
||||
%target.schedule(1500, "SetMoveState", false);
|
||||
%target.setPosition(vectorAdd(%zombie.getPosition(), "0 0 20"));
|
||||
InsigniaAttack_FUNC("GravShot", %target@" 0 0 -1");
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
//ATTACKS
|
||||
|
||||
function InsigniaAttack(%zombie) {
|
||||
if(!isObject(%zombie) || %zombie.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
schedule(27000, 0, "InsigniaAttack", %zombie);
|
||||
%attack = getRandom(1, 7);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
%target = FindValidTarget(%zombie);
|
||||
%target = %target.player;
|
||||
if(!isObject(%target) || %target.getState() $= "Dead") {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": I suppose I can wait...");
|
||||
return;
|
||||
}
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": Lets shorten the distance... "@getTaggedString(%target.client.name)@".");
|
||||
%vec = vectorsub(%target.getworldboxcenter(), %zombie.getMuzzlePoint(0));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.getvelocity(), vectorlen(%vec)/100));
|
||||
InsigniaAttack_FUNC("GravShot", %zombie SPC %vec);
|
||||
|
||||
case 2:
|
||||
%target = FindValidTarget(%zombie);
|
||||
%target = %target.player;
|
||||
if(!isObject(%target) || %target.getState() $= "Dead") {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": I suppose I can wait...");
|
||||
return;
|
||||
}
|
||||
InsigniaAttack_FUNC("GravShot", %zombie SPC "0 0 200");
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": Death from above "@getTaggedString(%target.client.name)@".");
|
||||
%vec = vectorsub(%target.getworldboxcenter(),%zombie.getMuzzlePoint(0));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.getvelocity(),vectorlen(%vec)/100));
|
||||
schedule(1500, 0, InsigniaAttack_FUNC, "GravShot", %zombie SPC %vec);
|
||||
|
||||
case 3:
|
||||
%target = FindValidTarget(%zombie);
|
||||
%target = %target.player;
|
||||
if(!isObject(%target) || %target.getState() $= "Dead") {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": I suppose I can wait...");
|
||||
return;
|
||||
}
|
||||
InsigniaAttack_FUNC("AcidStorm", %zombie SPC %target);
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": Acid Storm, just for you... "@getTaggedString(%target.client.name)@".");
|
||||
|
||||
case 4:
|
||||
%target = FindValidTarget(%zombie);
|
||||
%target = %target.player;
|
||||
if(!isObject(%target) || %target.getState() $= "Dead") {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": I suppose I can wait...");
|
||||
return;
|
||||
}
|
||||
InsigniaAttack_FUNC("LapseStrike", %zombie SPC %target SPC 0);
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": Hey, "@getTaggedString(%target.client.name)@". Watch this.");
|
||||
|
||||
case 5:
|
||||
%target = FindValidTarget(%zombie);
|
||||
%target = %target.player;
|
||||
if(!isObject(%target) || %target.getState() $= "Dead") {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": I suppose I can wait...");
|
||||
return;
|
||||
}
|
||||
InsigniaAttack_FUNC("AcidMachineGun", %zombie SPC %target);
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": ENOUGH, "@getTaggedString(%target.client.name)@". DIE.");
|
||||
|
||||
case 6:
|
||||
%target = FindValidTarget(%zombie);
|
||||
%target = %target.player;
|
||||
if(!isObject(%target) || %target.getState() $= "Dead") {
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": I suppose I can wait...");
|
||||
return;
|
||||
}
|
||||
MessageAll('msgDarkraiAttack', "\c4"@$TWM2::BossName["Insignia"]@": C'Mere, "@getTaggedString(%target.client.name)@".");
|
||||
InsigniaAttack_FUNC("DropSummon", %target);
|
||||
|
||||
case 7:
|
||||
InsigniaAttack_FUNC("Reinforce", %zombie);
|
||||
}
|
||||
}
|
||||
548
scripts/TWM2/Bosses/ShadeLord.cs
Normal file
548
scripts/TWM2/Bosses/ShadeLord.cs
Normal file
|
|
@ -0,0 +1,548 @@
|
|||
//SHADE LORD
|
||||
function ShadeLordSword::OnExplode(%data, %proj, %pos, %mod) {
|
||||
%source = %proj.SourceObject;
|
||||
InitContainerRadiusSearch(%pos, 6, $TypeMasks::PlayerObjectType);
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0) {
|
||||
if(%potentialTarget != %source) {
|
||||
serverPlay3D(BOVHitSound,%potentialTarget.getPosition());
|
||||
MessageAll('msgDeath', "\c0"@%potentialTarget.client.namebase@" was killed by the shadowy forces of death.");
|
||||
%potentialTarget.blowUp();
|
||||
%potentialTarget.scriptKill();
|
||||
createBlood(%potentialTarget);
|
||||
//===========================
|
||||
%potentialTarget.schedule(750, Blowup);
|
||||
schedule(750, 0, createBlood, %potentialTarget);
|
||||
%potentialTarget.schedule(1250, Blowup);
|
||||
schedule(1250, 0, createBlood, %potentialTarget);
|
||||
|
||||
schedule(1250, 0, doReturnMissile, %potentialTarget, %source);
|
||||
}
|
||||
}
|
||||
|
||||
if(isObject(%proj.targetedPlayer) && %proj.targetedPlayer.getState() !$= "dead") {
|
||||
%proj.targetedPlayer.setMoveState(false); //free to move.
|
||||
}
|
||||
}
|
||||
|
||||
function doReturnMissile(%ini, %src) {
|
||||
%final = vectorAdd(%ini.getPosition(), vectorAdd(getRandomPosition(70, 1), "0 0 250"));
|
||||
%vec = vectorNormalize(vectorSub(%final, %ini.getPosition()));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = ShadeLordSword;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %ini.getPosition();
|
||||
};
|
||||
%p.sourceObject = %src;
|
||||
}
|
||||
|
||||
//
|
||||
function SpawnShadeLord(%position) {
|
||||
%Boss = new player(){
|
||||
Datablock = "ShadeLordArmor";
|
||||
};
|
||||
%Cpos = vectorAdd(%position, "0 0 5");
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": Take your stand, and prepare to face your destined fate of death!");
|
||||
schedule(3000, 0, MessageAll, 'MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": And so it begins... Let's see how you face your fears...");
|
||||
schedule(3500, 0, shadeLordToggleCondition, %Boss, 1);
|
||||
|
||||
%command = "shadelorddomove";
|
||||
|
||||
%Boss.ticks = 0;
|
||||
InitiateBoss(%Boss, "ShadeLord");
|
||||
|
||||
%Boss.team = 30;
|
||||
%zname = $TWM2::BossName["ShadeLord"]; // <- To Hosts, Enjoy, You can
|
||||
//Change the Zombie Names now!!!
|
||||
|
||||
$ShadeLordBoss::AllowedNighttime = 1;
|
||||
%Boss.target = createTarget(%Boss, %zname, "", "Derm3", '', %Boss.team, PlayerSensor);
|
||||
setTargetSensorData(%Boss.target, PlayerSensor);
|
||||
setTargetSensorGroup(%Boss.target, 30);
|
||||
setTargetName(%Boss.target, addtaggedstring(%zname));
|
||||
setTargetSkin(%Boss.target, 'Horde');
|
||||
//
|
||||
%Boss.setTransform(%cpos);
|
||||
%Boss.canjump = 1;
|
||||
%Boss.hastarget = 1;
|
||||
MissionCleanup.add(%Boss);
|
||||
schedule(7500, %Boss, %command, %Boss);
|
||||
}
|
||||
|
||||
function ShadeLordToggleCondition(%Boss, %on) {
|
||||
if(!isObject(%Boss) || %Boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
cancel(%boss.attacks);
|
||||
if(%on) {
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
%Boss.setMoveState(true);
|
||||
%Boss.setActionThread("cel4",true);
|
||||
%Boss.schedule(3500, "SetMoveState", false);
|
||||
skyVeryDark();
|
||||
|
||||
%boss.attacks = ShadeLordDarkAttacks(%Boss);
|
||||
}
|
||||
else {
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
%Boss.setMoveState(true);
|
||||
%Boss.setActionThread("death1",true);
|
||||
%Boss.schedule(3000, "setActionThread", "cel4", true);
|
||||
%Boss.schedule(4500, "SetMoveState", false);
|
||||
skyDusk();
|
||||
|
||||
cancel(%boss.antiSky);
|
||||
cancel(%boss.randomFX);
|
||||
|
||||
%boss.antiSky = "";
|
||||
%boss.randomFX = "";
|
||||
%boss.attacks = schedule(4500, 0, "ShadeLordLightAttacks", %Boss);
|
||||
}
|
||||
}
|
||||
|
||||
function ShadeStormAntiSky(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
if(!$ShadeLordBoss::AllowedNighttime) {
|
||||
return;
|
||||
}
|
||||
%killHeight = getWord(%boss.getPosition(), 2) + 50;
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player) && %cl.player.getState() !$= "dead") {
|
||||
if(getWord(%cl.player.getPosition(), 2) >= %killHeight) {
|
||||
ShadeDropKill(%boss, %cl.player);
|
||||
}
|
||||
}
|
||||
}
|
||||
%boss.antiSky = schedule(2500, 0, "ShadeStormAntiSky", %boss);
|
||||
}
|
||||
|
||||
function ShadeStormFX(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
%bPos = %boss.getPosition();
|
||||
%start1 = vectorAdd(%bPos, "300 -300 50");
|
||||
%go = vectorAdd(%bPos, "-300 300 50");
|
||||
%interval = 15;
|
||||
for(%i = 0; %i < 20; %i++) {
|
||||
%neg = %i % 2 == 0 ? 1 : -1;
|
||||
%start = vectorAdd(%start1, %neg*%interval*%i@" 0 0");
|
||||
%vec = vectorNormalize(vectorSub(%go,%start));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = ShadeLordSword;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %start;
|
||||
};
|
||||
%p.sourceObject = %boss;
|
||||
}
|
||||
|
||||
%boss.randomFX = schedule(getRandom(10000, 25000), 0, ShadeStormFX, %boss);
|
||||
}
|
||||
|
||||
function ShadeLordDarkAttacks(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
if(isObject(%boss.dayCloak)) {
|
||||
%boss.dayCloak.delete();
|
||||
}
|
||||
|
||||
if(%boss.randomFX $= "") {
|
||||
%boss.randomFX = ShadeStormFX(%boss);
|
||||
}
|
||||
if(%boss.antiSky $= "") {
|
||||
%boss.antiSky = ShadeStormAntiSky(%boss);
|
||||
}
|
||||
|
||||
%attack = getRandom(1, 3);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": SHALDORVAAAAAAAAAAAAAAH!!!!!!!");
|
||||
ShadeLordPerformScream(%boss);
|
||||
case 2:
|
||||
ShadeLordStormDescendAttack(%boss, 0);
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": Descend Mighty Shade Storm, Destroy all who dare oppose us!");
|
||||
case 3:
|
||||
%target = FindValidTarget(%z);
|
||||
if(isObject(%target.player)) {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["ShadeLord"]@": Come forth my shade, Destroy "@getTaggedString(%target.name)@"!");
|
||||
%boss.setMoveState(true);
|
||||
%boss.schedule(5000, setMoveState, false);
|
||||
%boss.setActionThread($Zombie::RogThread,true);
|
||||
//
|
||||
%bPos = %boss.getPosition();
|
||||
%start1 = vectorAdd(%bPos, "300 -300 50");
|
||||
%go = vectorAdd(%bPos, "-300 300 50");
|
||||
%interval = 15;
|
||||
for(%i = 0; %i < 20; %i++) {
|
||||
%neg = %i % 2 == 0 ? 1 : -1;
|
||||
%start = vectorAdd(%start1, %neg*%interval*%i@" 0 0");
|
||||
%vec = vectorNormalize(vectorSub(%go,%start));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = ShadeLordSword;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %start;
|
||||
};
|
||||
%p.sourceObject = %boss;
|
||||
%p.targetedPlayer = %target.player;
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.player.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target.player,%beacon,%p);
|
||||
}
|
||||
//
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["ShadeLord"]@": Hiding in death does not save you "@getTaggedString(%target.name)@"");
|
||||
}
|
||||
}
|
||||
|
||||
%boss.attacks = schedule(25000, 0, "ShadeLordDarkAttacks", %boss);
|
||||
}
|
||||
|
||||
function ShadeLordLightAttacks(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
if(!isObject(%boss) || !%boss.getState() $= "dead") {
|
||||
if(isObject(%boss.dayCloak)) {
|
||||
%boss.dayCloak.delete();
|
||||
}
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
%attack = getRandom(1, 1);
|
||||
switch(%attack) {
|
||||
case 1:
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": SHALDORVAAAAAAAAAAAAAAH!!!!!!!");
|
||||
ShadeLordPerformScream(%boss);
|
||||
case 2:
|
||||
MessageAll('MsgBossEvilness', "\c4"@$TWM2::BossName["ShadeLord"]@": Come forth, and return to me my power of the shadows!");
|
||||
ShadeLordBeginHealSequ(%boss, 0);
|
||||
}
|
||||
%boss.attacks = schedule(25000, 0, "ShadeLordLightAttacks", %boss);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
function ShadeLordBeginHealSequ(%boss, %count) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
if(%count == 0) {
|
||||
%boss.setMoveState(true);
|
||||
%boss.setPosition(vectorAdd(%boss.getPosition(), getRandomPosition(700, 1)));
|
||||
cancel(%boss.moveLoop);
|
||||
}
|
||||
if(%count < 25) {
|
||||
%boss.setDamageLevel(%boss.getDamageLevel() - 1.0);
|
||||
createLifeEmitter(%boss.getPosition(), PrebeamEmitter, 5000);
|
||||
}
|
||||
else {
|
||||
%boss.schedule(3000, setMoveState, false);
|
||||
%boss.moveLoop = schedule(3000, %boss, "shadelorddomove", %boss);
|
||||
return;
|
||||
}
|
||||
schedule(200, 0, "ShadeLordBeginHealSequ", %boss, %count++);
|
||||
}
|
||||
|
||||
function ShadeLordStormDescendAttack(%boss, %count) {
|
||||
if(%count == 0) {
|
||||
cancel(%boss.moveLoop);
|
||||
%boss.rapierShield = 1;
|
||||
%boss.setMoveState(true);
|
||||
//
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
}
|
||||
else if(%count > 0 && %count <= 25) {
|
||||
%pos = "0 0 "@ 250 - (10 * %count);
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
%boss.shadeStorm = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%boss.getPosition(), %pos);
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "ShadeStormEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
//%boss.shadeStorm.setPosition(vectorAdd(%boss.getPosition(), %pos));
|
||||
}
|
||||
else if(%count == 26) {
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player) && %cl.player.getState() !$= "dead") {
|
||||
ShadeDropKill(%boss, %cl.player);
|
||||
}
|
||||
}
|
||||
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
%boss.shadeStorm = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%Demon.getPosition(), "0 0 0.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "ShadeStormEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
}
|
||||
else if(%count > 26 && %count < 40) {
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
%boss.shadeStorm = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%boss.getPosition(), "0 0 1.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "ShadeStormEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
}
|
||||
else if(%count == 40) {
|
||||
%boss.rapierShield = 0;
|
||||
%boss.setMoveState(false);
|
||||
%boss.moveLoop = schedule(3000, %boss, "shadelorddomove", %boss);
|
||||
|
||||
//flash all
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(isObject(%cl.player) && %cl.player.getState() !$= "dead") {
|
||||
%cl.player.setWhiteout(1.0);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
%count++;
|
||||
schedule(300, 0, "ShadeLordStormDescendAttack", %boss, %count);
|
||||
}
|
||||
|
||||
function ShadeLordPerformScream(%boss) {
|
||||
cancel(%boss.moveloop);
|
||||
%boss.setMoveState(true);
|
||||
%boss.schedule(5000, setMoveState, false);
|
||||
//create emitter
|
||||
%screamEmit = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%boss.getPosition(),"0 0 0.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "ShadeLordScreamEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
%screamEmit.schedule(5000, "delete");
|
||||
|
||||
//knock down and throw weapons in radius.
|
||||
%TargetSearchMask = $TypeMasks::PlayerObjectType;
|
||||
InitContainerRadiusSearch(%boss.getPosition(), 200, %TargetSearchMask);
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0) {
|
||||
if(isSet(%potentialTarget.client)) {
|
||||
//throw guns, knock down.
|
||||
%potentialTarget.setActionThread("death1", true);
|
||||
%potentialTarget.throwweapon(1);
|
||||
%potentialTarget.throwweapon(0);
|
||||
%potentialTarget.setMoveState(true);
|
||||
%potentialTarget.schedule(3000, setMoveState, false);
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
%boss.moveLoop = schedule(5000, %boss, "shadelorddomove", %boss);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
function ShadeLordDoDeath(%boss) {
|
||||
%boss.RapierShield = 1;
|
||||
%boss.inDeath = 1;
|
||||
if(isObject(%boss.dayCloak)) {
|
||||
%boss.dayCloak.delete();
|
||||
}
|
||||
if(isObject(%boss.shadeStorm)) {
|
||||
%boss.shadeStorm.delete();
|
||||
}
|
||||
//set on fire
|
||||
%fire = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%boss.getPosition(),"0 0 0.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "BurnEmitter";
|
||||
};
|
||||
MissionCleanup.add(%fire);
|
||||
%fire.schedule(5000, delete);
|
||||
//
|
||||
%Boss.setMoveState(true);
|
||||
%boss.setActionThread("death1", true);
|
||||
%boss.schedule(5000, "blowup");
|
||||
%boss.schedule(5000, "scriptkill");
|
||||
schedule(4999, 0, eval, ""@%boss@".rapierShield = 0;");
|
||||
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
Serverplay3D($Ion::ThunderSound[mFloor(getRandom() * $Ion::ThunderSoundCount)],%boss.getPosition());
|
||||
}
|
||||
|
||||
function shadelorddomove(%Demon){
|
||||
if(!isobject(%Demon) || %Demon.getState() $= "Dead") {
|
||||
if(isObject(%Demon.dayCloak)) {
|
||||
%Demon.dayCloak.delete();
|
||||
}
|
||||
if(isObject(%Demon.shadeStorm)) {
|
||||
%Demon.shadeStorm.delete();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if(%demon.getDamageLeftPct() < 0.005) {
|
||||
ShadeLordDoDeath(%Demon);
|
||||
}
|
||||
|
||||
if(%demon.getDamageLeftPct() < 0.4) {
|
||||
if($ShadeLordBoss::AllowedNighttime == 1) {
|
||||
$ShadeLordBoss::AllowedNighttime = 0;
|
||||
ShadeLordToggleCondition(%Demon, 0);
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": No, You will not break the barrier of dark!");
|
||||
}
|
||||
}
|
||||
else {
|
||||
if($ShadeLordBoss::AllowedNighttime == 0) {
|
||||
$ShadeLordBoss::AllowedNighttime = 1;
|
||||
ShadeLordToggleCondition(%Demon, 1);
|
||||
MessageAll('MsgBossSpawn', "\c4"@$TWM2::BossName["ShadeLord"]@": Awaken, mighty storm of shade, bring forth the doom of our foes!");
|
||||
}
|
||||
}
|
||||
|
||||
if(isObject(%Demon.dayCloak) && !%Demon.inDeath) {
|
||||
%Demon.dayCloak.delete();
|
||||
%Demon.dayCloak = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%Demon.getPosition(),"0 0 0.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "dayCloakEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
MissionCleanup.add(%Demon.dayCloak);
|
||||
}
|
||||
else {
|
||||
if($ShadeLordBoss::AllowedNighttime == 0) {
|
||||
%Demon.dayCloak = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%Demon.getPosition(),"0 0 0.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "dayCloakEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(isObject(%Demon.shadeStorm)) {
|
||||
%Demon.shadeStorm.delete();
|
||||
%Demon.shadeStorm = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%Demon.getPosition(),"0 0 250");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "ShadeStormEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
}
|
||||
else {
|
||||
if($ShadeLordBoss::AllowedNighttime == 1) {
|
||||
%Demon.shadeStorm = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%Demon.getPosition(),"0 0 250");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "ShadeStormEmitter"; //ShadeStormEmitter
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
%pos = %Demon.getworldboxcenter();
|
||||
%closestClient = ZombieLookForTarget(%Demon);
|
||||
%z = getWord(%pos, 2);
|
||||
if(%z < -300) {
|
||||
%Demon.startFade(400, 0, true);
|
||||
%Demon.startFade(1000, 0, false);
|
||||
%Demon.setPosition(vectorAdd(vectoradd(%closestclient.getPosition(), "0 0 20"), getRandomPosition(25, 1)));
|
||||
%Demon.setVelocity("0 0 0");
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["ShadeLord"]@": I'm back....");
|
||||
}
|
||||
%closestDistance = getWord(%closestClient,1);
|
||||
%closestClient = getWord(%closestClient,0).Player;
|
||||
if(%closestDistance <= $Zombie::detectDist){
|
||||
if(%closestDistance < 10) {
|
||||
ShadeDropKill(%Demon, %closestClient);
|
||||
MessageAll('MsgVardison', "\c4"@$TWM2::BossName["ShadeLord"]@": Feel The Vengeance of the Shadows "@getTaggedString(%closestClient.client.name)@".");
|
||||
%closestClient.setMoveState(true);
|
||||
ShadeLordRandomTeleport(%Demon);
|
||||
}
|
||||
if(%Demon.hastarget != 1){
|
||||
%Demon.hastarget = 1;
|
||||
}
|
||||
|
||||
%vector = ZgetFacingDirection(%Demon,%closestClient,%pos);
|
||||
|
||||
%vector = vectorscale(%vector, $Zombie::DForwardSpeed);
|
||||
%upvec = "150";
|
||||
%x = Getword(%vector,0);
|
||||
%y = Getword(%vector,1);
|
||||
%z = Getword(%vector,2);
|
||||
if(%z >= ($Zombie::DForwardSpeed))
|
||||
%upvec = (%upvec * 5);
|
||||
%vector = %x@" "@%y@" "@%upvec;
|
||||
%Demon.applyImpulse(%pos, %vector);
|
||||
}
|
||||
else if(%Demon.hastarget == 1){
|
||||
%Demon.hastarget = 0;
|
||||
%Demon.DemonRmove = schedule(100, %Demon, "ZSetRandomMove", %Demon);
|
||||
}
|
||||
%Demon.moveloop = schedule(500, %Demon, "shadelorddomove", %Demon);
|
||||
}
|
||||
|
||||
function ShadeDropKill(%boss, %target) {
|
||||
%incoming = vectorAdd(%target.getPosition(), vectorAdd(getRandomPosition(70, 1), "0 0 250"));
|
||||
%vec = vectorNormalize(vectorSub(%target.getPosition(),%incoming));
|
||||
%p = new SeekerProjectile() {
|
||||
dataBlock = ShadeLordSword;
|
||||
initialDirection = %vec;
|
||||
initialPosition = %incoming;
|
||||
};
|
||||
%p.sourceObject = %boss;
|
||||
%p.targetedPlayer = %target;
|
||||
%beacon = new BeaconObject() {
|
||||
dataBlock = "SubBeacon";
|
||||
beaconType = "vehicle";
|
||||
position = %target.getWorldBoxCenter();
|
||||
};
|
||||
%beacon.team = 0;
|
||||
%beacon.setTarget(0);
|
||||
MissionCleanup.add(%beacon);
|
||||
%p.setObjectTarget(%beacon);
|
||||
DemonMotherMissileFollow(%target,%beacon,%p);
|
||||
}
|
||||
|
||||
function ShadeLordRandomTeleport(%boss) {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
%newPosition = vectorAdd(%boss.getPosition(), getRandomPosition(150, 1));
|
||||
%boss.setPosition(%newPosition);
|
||||
}
|
||||
379
scripts/TWM2/Bosses/Stormrider.cs
Normal file
379
scripts/TWM2/Bosses/Stormrider.cs
Normal file
|
|
@ -0,0 +1,379 @@
|
|||
//Stormrider.cs
|
||||
//Ported From TWM1
|
||||
//Code Updated By Phantom139
|
||||
// * 2-18-14: Did some housecleaning, harvested some unneeded functions here.
|
||||
|
||||
function UltrDroneBattle(%pos, %radius, %number, %teamlow, %teamhigh, %maxskill, %slth){
|
||||
for(%i = 0; %i < %number; %i++){
|
||||
%startpos = vectorAdd(%pos,(getRandom(0, %radius) - (%radius / 2))@" "@(getRandom(0, %radius) - (%radius / 2))@" 0");
|
||||
%rotation = "0 0 1 "@getRandom(1,360);
|
||||
if(%teamlow != %teamhigh) {
|
||||
%team = getRandom(%teamlow, %teamhigh);
|
||||
}
|
||||
else {
|
||||
%team = %teamlow;
|
||||
}
|
||||
StartUltrDrone(%startpos,%rotation,%team,getRandom(1,%maxskill), %slth);
|
||||
}
|
||||
}
|
||||
|
||||
//This sets up the drone and the functions needed to start the drone.
|
||||
function StartUltrDrone(%pos, %rotation, %team, %skill, %slth) {
|
||||
if(%team $= "") {
|
||||
%team = 0;
|
||||
}
|
||||
if(%pos $= "") {
|
||||
%pos = "0 0 300";
|
||||
}
|
||||
if(%rotation $= "") {
|
||||
%rotation = "1 0 0 0";
|
||||
}
|
||||
if(%skill !$= "ace") {
|
||||
if(%skill $= "" || %skill < 1) {
|
||||
%skill = 10;
|
||||
}
|
||||
else if(%skill > 10) {
|
||||
%skill = 10;
|
||||
}
|
||||
}
|
||||
%Drone = new FlyingVehicle() {
|
||||
dataBlock = StormSeigeDrone;
|
||||
position = %pos;
|
||||
rotation = %rotation;
|
||||
team = %team;
|
||||
};
|
||||
MissionCleanUp.add(%Drone);
|
||||
|
||||
setTargetSensorGroup(%Drone.getTarget(), %team);
|
||||
|
||||
%Drone.isdrone = 1;
|
||||
%drone.dodgeGround = 0;
|
||||
|
||||
if(%slth) {
|
||||
%Drone.setCloaked(true);
|
||||
}
|
||||
|
||||
if(%skill $= "ace"){
|
||||
%skill = 10;
|
||||
%drone.isace = 1;
|
||||
}
|
||||
|
||||
%drone.skill = 0.2 + (%skill / 12.5);
|
||||
|
||||
schedule(100, 0, "DroneForwardImpulse", %drone);
|
||||
schedule(101, 0, "DronefindTarget", %drone);
|
||||
schedule(102, 0, "DroneScanGround", %drone);
|
||||
|
||||
return %drone;
|
||||
}
|
||||
|
||||
function StartStormrider(%position) {
|
||||
%pos = vectoradd(%position, "0 0 500");
|
||||
%pos2 = vectoradd(%position, "15 0 500");
|
||||
%pos3 = vectoradd(%position, "-15 0 500");
|
||||
%drone = UltrDroneBattle(%pos, 500, 1, 6, 6, "ace", 0); //yes this bad guy is stealthed
|
||||
%d2 = DroneBattle(%pos2, 500, 1, 6, 6, 100, 0); //his Pal
|
||||
%d3 = DroneBattle(%pos3, 500, 1, 6, 6, 100, 0); //his Other Pal
|
||||
%drone.isUltr = 1;
|
||||
%drone.isBoss = 1;
|
||||
%d2.isUltrally = 1;
|
||||
%d3.isUltrally = 1;
|
||||
UltraBossAbilities(%drone);
|
||||
|
||||
InitiateBoss(%drone, "Stormrider");
|
||||
}
|
||||
|
||||
function UltraBossAbilities(%drone) {
|
||||
if(!isObject(%drone)) {
|
||||
return;
|
||||
}
|
||||
%drone.setCloaked(false); //disable cloak?
|
||||
%rand = getRandom(1,13);
|
||||
|
||||
switch(%rand) {
|
||||
|
||||
//1: Double Missile Strike: Targets Single Player with Two Missiles
|
||||
case 1:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
%SPos1 = vectorAdd(%drone.getPosition(),"3 0 0");
|
||||
%SPos2 = vectorAdd(%drone.getPosition(),"-3 0 0");
|
||||
%p1 = new SeekerProjectile() {
|
||||
dataBlock = LordRogStiloutte;
|
||||
initialDirection = "0 0 10";
|
||||
initialPosition = %SPos1;
|
||||
sourceObject = %drone;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
%p2 = new SeekerProjectile() {
|
||||
dataBlock = LordRogStiloutte;
|
||||
initialDirection = "0 0 10";
|
||||
initialPosition = %SPos1;
|
||||
sourceObject = %drone;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%p1);
|
||||
MissionCleanup.add(%p2);
|
||||
schedule(1000, 0, WindshearAttack_FUNC, "MissileDrop", %target.player SPC %p1);
|
||||
schedule(1000, 0, WindshearAttack_FUNC, "MissileDrop", %target.player SPC %p2);
|
||||
MessageAll('MessageAll', "\c4Stormrider: Fire!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": No targets for me!");
|
||||
}
|
||||
|
||||
//2: Quad Strike: Fire Four Missiles out in a + pattern which then aquire a single target.
|
||||
case 2:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
%SPos = vectorAdd(%drone.getPosition(),"0 0 3");
|
||||
%dirs = "5 0 0\t-5 0 0\t0 5 0\t0 -5 0";
|
||||
for(%i = 0; %i < getFieldCount(%dirs); %i++) {
|
||||
%newMissile = new SeekerProjectile() {
|
||||
dataBlock = ShoulderMissile;
|
||||
initialDirection = getField(%dirs, %i);
|
||||
initialPosition = %SPos;
|
||||
sourceObject = %drone;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
MissionCleanup.add(%newMissile);
|
||||
schedule(1000, 0, WindshearAttack_FUNC, "MissileDrop", %target.player SPC %newMissile);
|
||||
}
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Have fun with these "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Bah, no targets, no fun.");
|
||||
}
|
||||
|
||||
//3: IR Beam: A single enemy target gets locked on with a heat beam making missiles 100% accurate for a time period
|
||||
case 3:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
HeatLoop(%target.player, 0);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Lets see what happens when missiles are completely precice on you, "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": I guess it's time to start scanning.");
|
||||
}
|
||||
|
||||
//4: Auxilary Pod Swarm: Unleash a swarm of hybrid strike missiles on a single enemy target
|
||||
case 4:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
FireanotherSidewinder(%drone, %target.player, 3);
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(3500, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(4200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(4900, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
//Rapid Shot Missiles
|
||||
schedule(5000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(5200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(5400, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(5600, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(5800, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(6000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(6200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(6400, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(6500, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Taste my fury "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Aww, My missiles were ready.");
|
||||
}
|
||||
|
||||
//5: Focused Missile Fire: Similar to APS, but more accurate with less shots near the end
|
||||
case 5:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
FireanotherSidewinder(%drone, %target.player, 3);
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(3500, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(4200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(4900, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(5600, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(6300, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
schedule(7000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 3);
|
||||
// Quick Shots
|
||||
schedule(8000, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(8100, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(8200, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
schedule(8300, 0, "WindshearAttack_FUNC", "SidewinderLaunch", %drone SPC %target.player SPC 1);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": I have missiles with your name on them "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Aww, My missile strike was ready.");
|
||||
}
|
||||
|
||||
//6: Clear Skies: Launch a wave on anti-missile flares blocking all missiles from striking Stormrider for a short time.
|
||||
case 6:
|
||||
schedule(700, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(1400, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(2800, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(3500, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(4200, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(4900, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(5600, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(6300, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(7000, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
// Quick Shots
|
||||
schedule(8000, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(8100, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(8200, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
schedule(8300, 0, "WindshearAttack_FUNC", "Flare", %drone);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Hahaha, Your Missiles are worthless Now!");
|
||||
|
||||
//7: Anti-Ground Chaingun: Fire a rapid strike anti-matter chaingun which does heavy damage to hit targets
|
||||
case 7:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
FireSniperShots(%drone, %target.player, 3);
|
||||
for(%i = 0; %i < 700; %i++) {
|
||||
%time = %i * 10;
|
||||
schedule(%time, 0,"FireSniperShots",%drone, %target.player);
|
||||
}
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Time to Use My CG, "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": We'll see who can withstand the CG... Oh wait, there's nobody there.");
|
||||
}
|
||||
|
||||
//8: Photon Seekers: Launch a wave of Photon Seekers to strike a single target
|
||||
case 8:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
FireSeekerPhotons(%drone, %target.player);
|
||||
schedule(1500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(3000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(4500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(6000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Here, "@getTaggedString(%target.name)@", Catch!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Close up the Seekers. No Targets To hit.");
|
||||
}
|
||||
|
||||
//9: Advanced Photon Wave: Launch an additional Photon Missile compared to #8
|
||||
case 9:
|
||||
%target = DroneFindNearestPilot(2000,%drone);
|
||||
if(%target.player) {
|
||||
FireSeekerPhotons(%drone,%target.player);
|
||||
schedule(700, 0, "FireSeekerPhotons",%drone,%target.player);
|
||||
schedule(1400, 0, "FireSeekerPhotons",%drone,%target.player);
|
||||
schedule(2100, 0, "FireSeekerPhotons",%drone,%target.player);
|
||||
schedule(2800, 0, "FireSeekerPhotons",%drone,%target.player);
|
||||
schedule(3500, 0, "FireSeekerPhotons",%drone,%target.player);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Try these out for size, "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Heh, No enemies in the area.");
|
||||
}
|
||||
|
||||
//10: Photon Storm: Launch Photon Missiles to the point of overheating the internal system.
|
||||
case 10:
|
||||
%target = DroneFindNearestPilot(2000, %drone);
|
||||
if(%target.player) {
|
||||
FireSeekerPhotons(%drone, %target.player);
|
||||
schedule(500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(1000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(1500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(2000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(2500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(3000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(3500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(4000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(4500, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
schedule(5000, 0, "FireSeekerPhotons", %drone, %target.player);
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": I have some fun plasma missiles for you, "@getTaggedString(%target.name)@"!");
|
||||
}
|
||||
else {
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Meh, No targets for my plasma seekers.");
|
||||
}
|
||||
|
||||
//11: Tactical Camo: Engage an invisibility module to blend in with the sky.
|
||||
case 11:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Engage Stealth!");
|
||||
%drone.setCloaked(true);
|
||||
|
||||
//11: Wingmen: Call in 4 Harbinger Aerial Drones to engage air and ground targets.
|
||||
case 12:
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": My Buddies will handle You!");
|
||||
%SPos1 = vectorAdd(%drone.getPosition(), "15 0 0");
|
||||
%SPos2 = vectorAdd(%drone.getPosition(), "-15 0 0");
|
||||
%SPos3 = vectorAdd(%drone.getPosition(), "0 15 0");
|
||||
%SPos4 = vectorAdd(%drone.getPosition(), "0 -15 0");
|
||||
%d2 = DroneBattle(%SPos1, 500, 1, 6, 6, 100, 0); //his Pal
|
||||
%d3 = DroneBattle(%SPos2, 500, 1, 6, 6, 100, 0); //his Other Pal
|
||||
%d4 = DroneBattle(%SPos3, 500, 1, 6, 6, 100, 0); //his Pal's Pal
|
||||
%d5 = DroneBattle(%SPos4, 500, 1, 6, 6, 100, 0); //his Pal's Pal's Buddy
|
||||
%d2.isUltrally = 1;
|
||||
%d3.isUltrally = 1;
|
||||
%d4.isUltrally = 1;
|
||||
%d5.isUltrally = 1;
|
||||
|
||||
//DE: Reinforcements: Call in support from Harbinger Drones
|
||||
default:
|
||||
%SPos1 = vectorAdd(%drone.getPosition(),"15 0 0");
|
||||
%SPos2 = vectorAdd(%drone.getPosition(),"15 0 0");
|
||||
%d2 = DroneBattle(%SPos1, 500, 1, 6, 6, 100, 0); //his Pal
|
||||
%d3 = DroneBattle(%SPos2, 500, 1, 6, 6, 100, 0); //his Other Pal
|
||||
%d2.isUltrally = 1;
|
||||
%d3.isUltrally = 1;
|
||||
MessageAll('MessageAll', "\c4"@$TWM2::BossName["Stormrider"]@": Get Moving, targets to be hunted!");
|
||||
}
|
||||
schedule(30000,0,"UltraBossAbilities",%drone);
|
||||
}
|
||||
|
||||
function FireSniperShots(%drone,%target){
|
||||
if(!isObject(%drone) || !isObject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
%vec = vectorsub(%target.getworldboxcenter(),%drone.getMuzzlePoint(6));
|
||||
%vec = vectoradd(%vec, vectorscale(%target.getvelocity(),vectorlen(%vec)/100));
|
||||
|
||||
%x = (getRandom() - 0.5) * 2 * 3.1415926 * (6/1000);
|
||||
%y = (getRandom() - 0.5) * 2 * 3.1415926 * (6/1000);
|
||||
%z = (getRandom() - 0.5) * 2 * 3.1415926 * (6/1000);
|
||||
%mat = MatrixCreateFromEuler(%x @ " " @ %y @ " " @ %z);
|
||||
%nvec = MatrixMulVector(%mat, %vec);
|
||||
|
||||
%p = new TracerProjectile()
|
||||
{
|
||||
dataBlock = M1Bullet;
|
||||
initialDirection = %nvec;
|
||||
initialPosition = %drone.getMuzzlePoint(6);
|
||||
sourceObject = %drone;
|
||||
sourceSlot = 6;
|
||||
};
|
||||
}
|
||||
|
||||
function FireSeekerPhotons(%drone,%target){
|
||||
if(!isObject(%drone) || !isObject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
|
||||
%proj = createSeekingProjectile(PhotonMissileProj, linearflareprojectile, vectorAdd(%drone.getPosition(), "0 0 5")
|
||||
, "0 0 3", %drone, %target, 100);
|
||||
|
||||
MissionCleanup.add(%proj);
|
||||
%proj.PhotonMuzVec = %drone.getMuzzleVector(5);
|
||||
schedule( 100,0, "PhotonShockwaveFunc" ,%drone,%Proj);
|
||||
}
|
||||
|
||||
//**********************************
|
||||
//* Projectiles *
|
||||
//**********************************
|
||||
function PhotonMissileProj::onExplode(%data, %proj, %pos, %mod)// ok this is where everything is canceled... the scheds.. this is the buggy part
|
||||
{
|
||||
parent::onexplode(%data, %proj, %pos, %mod);
|
||||
cancel(%proj.seeksched);
|
||||
cancel(%proj.PhotonShockwaveSched);
|
||||
cancel(%proj.seekschedcheck);
|
||||
}
|
||||
1007
scripts/TWM2/ChatCommands/Admin.cs
Normal file
1007
scripts/TWM2/ChatCommands/Admin.cs
Normal file
File diff suppressed because it is too large
Load diff
360
scripts/TWM2/ChatCommands/DevAndHost.cs
Normal file
360
scripts/TWM2/ChatCommands/DevAndHost.cs
Normal file
|
|
@ -0,0 +1,360 @@
|
|||
function parseDeveloperCommands(%sender, %command, %args) {
|
||||
switch$(strLwr(%command)) {
|
||||
case "devcmds":
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
MessageClient(%sender, 'MsgCommandList', "\c5TWM2 Developer/Host Commands");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/CMDToggle, /RankTags, /ToggleSniper, /setHostGUID");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/SetWeatherZip, /ApplyWeather, /ToggleCondition");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/SCGBot");
|
||||
if(%sender.guid $= "2000343") {
|
||||
MessageClient(%sender, 'MsgCommandList', "\c5TWM2 FULL Developer Commands");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/GodSlap, /ExecFile, /CreateFile, /ForceRestart");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/buyMSeal");
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "cmdtoggle":
|
||||
%cmd = getWord(%args, 0);
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
if($TWM2::AllowedCMD[""@%cmd@""] $= "") {
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3Command "@%cmd@" is not listed, please check your spelling.");
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
if($TWM2::AllowedCMD[""@%cmd@""]) {
|
||||
$TWM2::AllowedCMD[""@%cmd@""] = 0;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3DISABLED\c5 the chat command: \c3/"@%cmd@"\c5.");
|
||||
}
|
||||
else {
|
||||
$TWM2::AllowedCMD[""@%cmd@""] = 1;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3ENABLED\c5 the chat command: \c3/"@%cmd@"\c5.");
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "ranktags":
|
||||
%cmd = getWord(%args, 0);
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
if($TWM2::UseRankTags) {
|
||||
$TWM2::UseRankTags = 0;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3DISABLED\c5 Rank Tags.");
|
||||
for(%i = 0; %i < clientGroup.getCount(); %i++) {
|
||||
%tcl = ClientGroup.getObject(%i);
|
||||
//reset first
|
||||
%name = "\cp\c6" @ %tcl.namebase @ "\co";
|
||||
MessageAll( 'MsgClientNameChanged', "", %tcl.name, %name, %tcl );
|
||||
removeTaggedString(%tcl.name);
|
||||
%tcl.name = addTaggedString(%name);
|
||||
setTargetName(%tcl.target, %tcl.name);
|
||||
//Lastly, check the GUID to match devs
|
||||
checkGUID(%tcl);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$TWM2::UseRankTags = 1;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3ENABLED\c5 Rank Tags.");
|
||||
for(%i = 0; %i < clientGroup.getCount(); %i++) {
|
||||
%tcl = ClientGroup.getObject(%i);
|
||||
DoNameChangeChecks(%tcl);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "togglesniper":
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
if($TWM2::AllowSnipers) {
|
||||
$TWM2::AllowSnipers = 0;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3DISABLED\c5 Sniper Weapons.");
|
||||
}
|
||||
else {
|
||||
$TWM2::AllowSnipers = 1;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3ENABLED\c5 Sniper Weapons.");
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "setweatherzip":
|
||||
%zip = getWord(%args, 0);
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
//
|
||||
if(strLen(%zip) != 5) {
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3Invalid zip code length.");
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
for (%i = 0; %i < strlen(%zip); %i++) {
|
||||
%char = strcmp(getSubStr(%zip, %i, 1), "");
|
||||
if (%char > 57 || %char < 48) {
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3Invalid zip code, it contained non numericals.");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
//
|
||||
MessageAll('msgAdminForce', "\c3"@%sender.namebase@"\c5 has set the weather zip code to: \c3"@%zip@"\c5.");
|
||||
$Weather::DefaultZipLocation = %zip;
|
||||
//
|
||||
// check if the script is enabled.
|
||||
if($Weather::UseConstantConditionMonitor) {
|
||||
// Cancel the next scheduled update
|
||||
cancel($Weather::NextUpdate);
|
||||
// And then perform this run
|
||||
GetWeather($Weather::DefaultZipLocation, 2);
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "applyweather":
|
||||
%cond = getWord(%args, 0);
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
//
|
||||
switch$(%cond) {
|
||||
case "Dusk":
|
||||
skyDusk();
|
||||
case "Cloudy":
|
||||
skyCloudy();
|
||||
case "Thunderstorm":
|
||||
skyThunderstorm();
|
||||
case "Rain":
|
||||
skyRain();
|
||||
case "VeryDark":
|
||||
skyVeryDark();
|
||||
case "Daylight":
|
||||
skyDaylight();
|
||||
case "Night":
|
||||
skyNight();
|
||||
case "Sunny":
|
||||
skySunny();
|
||||
case "Morning":
|
||||
skyMorning();
|
||||
case "Snow":
|
||||
skySnowy();
|
||||
case "Fog":
|
||||
skyFog();
|
||||
default:
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3Invalid Condition, they are:");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3Dusk, Cloudy, Thunderstorm, Rain, VeryDark");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3Daylight, Night, Sunny, Morning, Snow, Fog.");
|
||||
return 1;
|
||||
}
|
||||
messageAll('msgAdminForce', "\c3"@%sender.namebase@"\c5 has changed the current weather to: \c3"@%cond@"\c5.");
|
||||
return 1;
|
||||
|
||||
case "togglecondition":
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
if($Weather::UseConstantConditionMonitor) {
|
||||
$Weather::UseConstantConditionMonitor = 0;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3DISABLED\c5 the Weather script.");
|
||||
// Cancel the next scheduled update
|
||||
cancel($Weather::NextUpdate);
|
||||
}
|
||||
else {
|
||||
$Weather::UseConstantConditionMonitor = 1;
|
||||
messageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c5 has \c3ENABLED\c5 the Weather script.");
|
||||
// Cancel the next scheduled update
|
||||
cancel($Weather::NextUpdate);
|
||||
// And then perform this run
|
||||
GetWeather($Weather::DefaultZipLocation, 2);
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "sethostguid":
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
//
|
||||
if(isSet($TWM2::HostGUID) && $TWM2::HostGUID !$= "SetMeUp" && %sender.guid !$= "2000343") {
|
||||
MessageClient(%sender, 'MsgCommandList', "\c5The host guid is already set, contact Phantom139 for override.");
|
||||
return 1;
|
||||
}
|
||||
if(!isSet(%args) || strlen(%args) != 7) {
|
||||
MessageClient(%sender, 'MsgCommandList', "\c5Did not enter or entered an invalid guid.");
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
$TWM2::HostGUID = %args;
|
||||
//write over settings
|
||||
%file = new FileObject();
|
||||
%file.openForRead("serverControl.cs");
|
||||
%index = 0;
|
||||
while(!%file.isEof()) {
|
||||
%line[%index] = %file.readLine();
|
||||
%index++;
|
||||
}
|
||||
%last = %index;
|
||||
//
|
||||
%file.close();
|
||||
%file.openForWrite("serverControl.cs"); //write -> delete data
|
||||
%index = 0;
|
||||
while(%index < %last) {
|
||||
if(strstr(%line[%index], "$TWM2::HostGUID") != -1) {
|
||||
%file.writeLine("$TWM2::HostGUID = \""@%args@"\";");
|
||||
}
|
||||
else {
|
||||
%file.writeLine(%line[%index]);
|
||||
}
|
||||
%index++;
|
||||
}
|
||||
%file.close();
|
||||
%file.delete();
|
||||
echo("File Update Successful: "@%index+1@" Lines Read/Wrote");
|
||||
//
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
checkGuid(ClientGroup.getObject(%i));
|
||||
}
|
||||
MessageAll('msgAdminForce', %sender.namebase@" has updated the server host GUID: "@%args@".");
|
||||
//
|
||||
return 1;
|
||||
|
||||
case "scgbot":
|
||||
if(!%sender.isDev && !%sender.ishost) {
|
||||
return 4;
|
||||
}
|
||||
%ai = plnametocid(getword(%args, 0));
|
||||
%targ = plnametocid(getword(%args, 1));
|
||||
if(%ai == 0 || %targ == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c5No bot or target.');
|
||||
return 1;
|
||||
}
|
||||
%ai.hasOrder = true;
|
||||
%ai.clearTasks();
|
||||
%ai.stepEscort(0);
|
||||
%ai.stepEngage(%targ);
|
||||
%ai.setSkillLevel(100);
|
||||
|
||||
%ai.player.setInventory("Superchaingun",1,true);
|
||||
%ai.player.use(SuperChaingun);
|
||||
%ai.setWeaponInfo("SuperChaingunBullet", 10, 750, 75);
|
||||
%ai.schedule(750, setWeaponInfo, "SuperChaingunBullet", 10, 750, 75);
|
||||
|
||||
_loopKill(%ai, %targ);
|
||||
return 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
function parseFullDevCommands(%sender, %command, %args) {
|
||||
switch$(strLwr(%command)) {
|
||||
case "godslap":
|
||||
if(%sender.guid !$= "2000343") {
|
||||
MessageClient(%sender, 'MsgCommandAlert', "\c2Only Phantom139 May Use This Command.");
|
||||
return 1;
|
||||
}
|
||||
%nametotest = getword(%args,0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
if(isObject(%target.player)) {
|
||||
%target.player.setActionThread("death11",true);
|
||||
%target.player.setVelocity("1500 0 1500");
|
||||
%target.player.setDamageFlash(100);
|
||||
%target.player.damage(0, %target.player.position, 1000, $DamageType::admin);
|
||||
%target.player.setMoveState(true);
|
||||
%target.player.schedule(5000, "SetMoveState", false);
|
||||
MessageAll('msgGod', "\c5"@%sender.namebase@" unleashes his godly backhand slap upon "@%target.namebase@".~wfx/misc/gamestart.wav");
|
||||
MessageAll('msgGod', "~wfx/misc/gamestart.wav");
|
||||
MessageAll('msgGod', "~wfx/misc/gamestart.wav");
|
||||
MessageAll('msgGod', "~wfx/misc/gamestart.wav");
|
||||
MessageAll('msgGod', "~wfx/misc/gamestart.wav");
|
||||
}
|
||||
else {
|
||||
messageclient(%sender, 'MsgClient', "\c2"@%target.namebase@" be dead :)");
|
||||
}
|
||||
return 1;
|
||||
|
||||
case "execfile":
|
||||
if(%sender.guid !$= "2000343") {
|
||||
MessageClient(%sender, 'MsgCommandAlert', "\c2Only Phantom139 May Use This Command.");
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
MessageAll('msgAdminForce', "\c3SERVER: Executing file ("@%args@")");
|
||||
schedule(2500, 0, "exec", %args);
|
||||
return 1;
|
||||
|
||||
case "createfile":
|
||||
if(%sender.guid !$= "2000343") {
|
||||
MessageClient(%sender, 'MsgCommandAlert', "\c2Only Phantom139 May Use This Command.");
|
||||
return 1;
|
||||
}
|
||||
if(isFile(%args)) {
|
||||
MessageClient(%sender, 'MsgCommandAlert', "\c2This file already exists.");
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
MessageAll('msgAdminForce', "\c3SERVER: Creating/Executing file ("@%args@")");
|
||||
%file = new FileObject();
|
||||
%file.openForWrite(%args);
|
||||
%file.writeLine("//Test File.... Ready to exec");
|
||||
%file.close();
|
||||
%file.delete();
|
||||
schedule(2500, 0, "exec", %args);
|
||||
return 1;
|
||||
|
||||
case "forcerestart":
|
||||
if(%sender.guid !$= "2000343") {
|
||||
MessageClient(%sender, 'MsgCommandAlert', "\c2Only Phantom139 May Use This Command.");
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
quit();
|
||||
return 1;
|
||||
|
||||
case "buymseal":
|
||||
if (%sender.guid !$= "2000343"){
|
||||
messageclient(%sender, 'MsgClient', '\c5Must be Phantom139.');
|
||||
return 1;
|
||||
}
|
||||
if(isObject(%sender.player)) {
|
||||
if(%sender.player.getMountedImage($Backpackslot) !$= "")
|
||||
%sender.getControlObject().throwPack();
|
||||
%sender.player.setinventory(MedalSealDeployable,1,true);
|
||||
return 1;
|
||||
}
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
addCMD("DevHost", "DevCmds", "Usage: /DevCmds: Lists Developer and Host Commands.");
|
||||
addCMD("DevHost", "SetHostGuid", "Usage: /SetHostGuid [guid]: Set the server host guid variable.");
|
||||
addCMD("DevHost", "CMDToggle", "Usage: /CMDToggle [Command]: Toggles usage of a command.");
|
||||
addCMD("DevHost", "RankTags", "Usage: /RankTags: Toggles rank tags.");
|
||||
addCMD("DevHost", "ToggleSniper", "Usage: /ToggleSniper: Toggles allowance sniper weapons.");
|
||||
addCMD("DevHost", "ToggleCondition", "Usage: /ToggleCondition: Toggles the weather condition script.");
|
||||
addCMD("DevHost", "SetWeatherZip", "Usage: /SetWeatherZip [Zip]: Sets the zip code for the weather updater.");
|
||||
addCMD("DevHost", "ApplyWeather", "Usage: /ApplyWeather [Weather]: Apply a specific weather condition.");
|
||||
addCMD("DevHost", "SCGBot", "Usage: /SCGBot [bot] [target]: Activate a bot to use the super chaingun.");
|
||||
|
||||
addCMD("FullDev", "GodSlap", "Usage: /GodSlap [name]: And all the holyness of thy backhand shall be unleashed upon a player.");
|
||||
addCMD("FullDev", "ForceRestart", "Usage: /ForceRestart: Force the server to restart.");
|
||||
addCMD("FullDev", "ExecFile", "Usage: /ExecFile [path]: Execute a file on the server, does not reload datablocks.");
|
||||
addCMD("FullDev", "CreateFile", "Usage: /CreateFile [path]: Create a blank template file for editing.");
|
||||
addCMD("FullDev", "BuyMSeal", "Usage: /BuyMSeal: Gives you the medal seal pack.");
|
||||
|
||||
function _loopKill(%ai, %target) {
|
||||
if(!isObject(%ai.player) || %ai.player.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(!isObject(%target.player) || %target.player.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
//
|
||||
%ai.schedule(750, setWeaponInfo, "SuperChaingunBullet", 10, 750, 75);
|
||||
schedule(150, 0, _loopKill, %ai, %target);
|
||||
}
|
||||
1161
scripts/TWM2/ChatCommands/Public.cs
Normal file
1161
scripts/TWM2/ChatCommands/Public.cs
Normal file
File diff suppressed because it is too large
Load diff
769
scripts/TWM2/ChatCommands/SuperAdmin.cs
Normal file
769
scripts/TWM2/ChatCommands/SuperAdmin.cs
Normal file
|
|
@ -0,0 +1,769 @@
|
|||
function parseSuperAdminCommands(%sender, %command, %args) {
|
||||
switch$(strLwr(%command)) {
|
||||
//sacmds: list all super admin commands
|
||||
case "sacmds":
|
||||
if(!%sender.isSuperAdmin) {
|
||||
return 3;
|
||||
}
|
||||
MessageClient(%sender, 'MsgCommandList', "\c5TWM2 Super Admin Commands");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/TkToggle, /Sa, /MakeSA, /BlowVehs");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/startBoss, /makePRG, /override");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/givews, /giveKSSW, /turrets, /jail");
|
||||
MessageClient(%sender, 'MsgCommandList', "\c3/megaSlap, /Zap, /DroneSpawns, /pieceBan");
|
||||
return 1;
|
||||
|
||||
//tktoggle: enable/disable Friendly Fire EXP gain
|
||||
case "tktoggle":
|
||||
if(!%sender.isSuperAdmin) {
|
||||
return 3;
|
||||
}
|
||||
if($TWM2::FFAMode) {
|
||||
$TWM2::FFAMode = 0;
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 Disabled FFA Mode.");
|
||||
}
|
||||
else {
|
||||
$TWM2::FFAMode = 1;
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 Enabled FFA Mode.");
|
||||
}
|
||||
return 1;
|
||||
|
||||
//sa: SA chat only
|
||||
case "sa":
|
||||
if (!%sender.issuperadmin) {
|
||||
return 3;
|
||||
}
|
||||
%count = ClientGroup.getCount();
|
||||
for (%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject( %i );
|
||||
if(%cl.issuperadmin) {
|
||||
messageclient(%cl, 'MsgClient', "\c5[SA]"@%sender.namebase@" : \c4"@%args@"");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
//makeSA: obvious enough
|
||||
case "makesa":
|
||||
if (!%sender.issuperadmin) {
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target==0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
%target.isAdmin = true;
|
||||
%target.isSuperAdmin = true;
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Made \c3"@ %target.namebase@"\c2 SA.");
|
||||
messageclient(%target, 'MsgClient', '\c5 You are now a Super-Admin');
|
||||
//Re-add them to the list with the SA tag.
|
||||
messageAll('MsgClientDrop', "", Game.kickClientName, %target);
|
||||
messageAll('MsgClientJoin', "", %target.name, %target, %target.target, %target.isAIControlled(), %target.isAdmin, %target.isSuperAdmin, %target.isSmurf, %target.Guid);
|
||||
%target.setSensorGroup(%target.team);
|
||||
setTargetSensorGroup(%target.target, %target.team);
|
||||
//hit here.
|
||||
CheckGUID(%target);
|
||||
//
|
||||
return 1;
|
||||
|
||||
//blowvehs: destroy all active vehic;es
|
||||
case "blowvehs":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Destroyed All Vehicles.");
|
||||
echo("All Vehicles Have Been Destroyed Via /Blowvehs");
|
||||
%count = MissionCleanup.getCount();
|
||||
for (%i = 0; %i < %count; %i++) {
|
||||
%obj = MissionCleanup.getObject(%i);
|
||||
if (%obj) {
|
||||
if ((%obj.getType() & $TypeMasks::VehicleObjectType)) {
|
||||
%random = getRandom() * 1000;
|
||||
%obj.schedule(%random, setDamageState , Destroyed);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
//startBoss: spawn a boss
|
||||
case "startboss":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
if($TWM::PlayingHellJump || $TWM::PlayingHorde) {
|
||||
messageClient(%sender, 'MsgClient', '\c2Cannot spawn bosses in horde or helljump');
|
||||
return 1;
|
||||
}
|
||||
if($TWM2::BossGoing) {
|
||||
messageclient(%sender, 'MsgClient', '\c2A Boss Is Already Going.');
|
||||
return 1;
|
||||
}
|
||||
if(!isObject(%sender.player) || %sender.player.getState() $= "Dead") {
|
||||
messageclient(%sender, 'MsgClient', '\c2Player Object Required.');
|
||||
return 1;
|
||||
}
|
||||
switch$(%args) {
|
||||
case "Yvex":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnYvex(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned lord Yvex.");
|
||||
case "CnlWindshear":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 150");
|
||||
StartWindshear(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Colonel Windshear.");
|
||||
case "GhostOfLightning":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnGhostOfLightning(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned the ghost of lightning.");
|
||||
case "GenVegenor":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnVegenor(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Yvex's General Vegenor.");
|
||||
case "LordRog":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnLordRog(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 Spawned Lord Rog.");
|
||||
case "Insignia":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnInsignia(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Rog's major insignia.");
|
||||
case "Trebor":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
||||
StartTrebor(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Lordranius Trebor, leader of the harbinger clan.");
|
||||
case "GhostOfFire":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
||||
StartGhostFire(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned The Ghost Of Fire... RUN AWAY!!!");
|
||||
case "Stormrider":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 15");
|
||||
StartStormrider(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Commander Stormrider, the aerial harbinger clan commander.");
|
||||
case "Vardison":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
StartVardison1(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Lord Vardison, go hide noobs.");
|
||||
case "DAVardison":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
StartDAVardison(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 spawned Dark Archmage Vardison, run in fear n0bs.");
|
||||
case "ShadeLord":
|
||||
%pos = VectorAdd(%sender.player.getPosition(), "0 0 5");
|
||||
SpawnShadeLord(%pos);
|
||||
MessageAll('MsgAdminForce', "\c3"@%sender.namebase@"\c2 has unleashed the relentless Shade Lord.");
|
||||
default:
|
||||
messageclient(%sender, 'MsgClient', '\c2Invalid Boss Name.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Bosses: Yvex, CnlWindshear, GhostOfLightning.');
|
||||
messageclient(%sender, 'MsgClient', '\c2GenVegenor, LordRog, Insignia, Trebor, Vardison.');
|
||||
messageclient(%sender, 'MsgClient', '\c2Stormrider, GhostOfFire, ShadeLord, DAVardison.');
|
||||
}
|
||||
return 1;
|
||||
|
||||
//makePRG: transform a turret into a plasma railgun
|
||||
case "makeprg":
|
||||
if (!%sender.issuperadmin) {
|
||||
return 3;
|
||||
}
|
||||
%pos = %sender.player.getMuzzlePoint($WeaponSlot);
|
||||
%vec = %sender.player.getMuzzleVector($WeaponSlot);
|
||||
%targetpos = vectoradd(%pos, vectorscale(%vec, 100));
|
||||
%obj = containerraycast(%pos, %targetpos, $typemasks::staticshapeobjecttype, %sender.player);
|
||||
%obj = getword(%obj, 0);
|
||||
%dataBlock = %obj.getDataBlock();
|
||||
%className = %dataBlock.className;
|
||||
%owner = %obj.owner;
|
||||
if (!isObject(%obj)) {
|
||||
messageclient(%sender, 'MsgClient', '\c5No object in range.');
|
||||
return 1;
|
||||
}
|
||||
%classname = %obj.getDataBlock().getName();
|
||||
if(%classname $= "TurretBaseLarge" || %classname $= "TurretDeployedBase") {
|
||||
messageclient(%sender, 'MsgClient', '\c5Mounting Plasma Railgun Barrel.');
|
||||
%obj.mountImage("PlasmaCannonBarrelLarge", 0);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
messageclient(%sender, 'MsgClient', '\c5No turret in range.');
|
||||
return 1;
|
||||
}
|
||||
|
||||
//override: override the save/load reset timers
|
||||
case "override":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target==0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
%type = getWord(%args, 1);
|
||||
if(%type $= "save") {
|
||||
if(!%target.cantSave) {
|
||||
messageclient(%sender, 'MsgClient', "\c2"@%target.namebase@" can already save.");
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
$SaveTime::TimeLeft[%target.guid, "Save"] = 1;
|
||||
messageclient(%sender, 'MsgClient', "\c2"@%target.namebase@" has been granted a save override.");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(%type $= "load") {
|
||||
if(!%target.cantLoad) {
|
||||
messageclient(%sender, 'MsgClient', "\c2"@%target.namebase@" can already load.");
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
$SaveTime::TimeLeft[%target.guid, "Load"] = 1;
|
||||
messageclient(%sender, 'MsgClient', "\c2"@%target.namebase@" has been granted a load override.");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageclient(%sender, 'MsgClient', "\c2Invalid, must be 'Save' or 'Load'.");
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
|
||||
//givews: spawn a windshear platform
|
||||
case "givews":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
if(!isObject(%target.player) || %target.player.getState() $= "dead") {
|
||||
messageclient(%sender, 'MsgClient', '\c2The Target Player must have a player object.');
|
||||
return 1;
|
||||
}
|
||||
if ($Host::Vehicles == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2Vehicles are disabled.');
|
||||
return 1;
|
||||
}
|
||||
messageclient(%target, 'MsgClient', "\c3"@ %sender.namebase@"\c5 Gave you a WS Platform.");
|
||||
%pos = vectoradd(%target.player.getposition(), "0 0 100");
|
||||
%Horent = new FlyingVehicle() {
|
||||
dataBlock = "WindshearPlatform";
|
||||
position = %pos;
|
||||
respawn = "0";
|
||||
teamBought = %target.team;
|
||||
team = %target.team;
|
||||
};
|
||||
%Horent.getDataBlock().schedule(100, "mountDriver", %Horent, %target.player);
|
||||
return 1;
|
||||
|
||||
//givekssw: gives killstreaks
|
||||
case "givekssw":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
%sw = getWord(%args,1);
|
||||
switch$(%sw) {
|
||||
case "UAV":
|
||||
%target.HasUAV = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a UAV Recon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a UAV Beacon.");
|
||||
case "Airstrike":
|
||||
%target.HasAirstrike = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" an airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you an airstrike.");
|
||||
case "UAMS":
|
||||
%target.HasGM = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a UAMS beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a UAMS Strike.");
|
||||
case "UnlimUAMS":
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a fully loaded UAMS.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a fully loaded UAMS.");
|
||||
CreateMissileSat(%target, 1);
|
||||
case "Helicopter":
|
||||
%target.HasHeli = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Helicopter beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Helicopter beacon.");
|
||||
case "HeliGunner":
|
||||
MakeTheHeli(%target, 1);
|
||||
messageClient(%sender, 'MsgClient', "\c2You made "@%target.namebase@" a chopper gunner.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" has granted you Helicopter Gunner Access.");
|
||||
case "Harbingers":
|
||||
%target.HasHarbinsWrath = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Harbinger's Wrath beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Harbinger's Wrath beacon.");
|
||||
case "UnlimHarbin":
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" gunship support.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you gunship support.");
|
||||
startHarbingersWrath(%target, 1, 1);
|
||||
case "UnlimAC130":
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" AC-130 gunship support.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you AC-130 gunship support.");
|
||||
startAC130(%target, 1, 1);
|
||||
case "GunHeli":
|
||||
%target.HasGunshipHeli = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Gunship Helicopter beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Gunship Helicopter beacon.");
|
||||
case "Apache":
|
||||
%target.HasChopperGunner = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" an Apache Gunner beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you an Apache Gunner beacon.");
|
||||
case "Artillery":
|
||||
%target.HasArtillery = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Centaur Artillery beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Centaur Artillery beacon.");
|
||||
case "Nuke":
|
||||
%target.HasNuke = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Nuclear Strike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Nuclear Strike beacon.");
|
||||
case "ZBomb":
|
||||
%target.HasZBomb = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Zombie-Bomb beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Zombie-Bomb beacon.");
|
||||
case "Harrier":
|
||||
%target.HasHarrier = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Harrier Airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Harrier Airstrike beacon.");
|
||||
case "Stealth":
|
||||
%target.HasSlthAirstrike = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Stealth Airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Stealth Airstrike beacon.");
|
||||
case "AC130":
|
||||
%target.HasAcGunner = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" an AC-130 beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you an AC-130 beacon.");
|
||||
case "SatNuke":
|
||||
%target.HasOLS = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Orbital Laser Strike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Orbital Laser Strike beacon.");
|
||||
case "Fission":
|
||||
%target.HasFission = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Fission Bomb :D.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Fission Bomb :D.");
|
||||
case "EMP":
|
||||
%target.HasMassEMP = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Mass EMP Beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Mass EMP Beacon.");
|
||||
case "Napalm":
|
||||
%target.HasNapalmHarrier = 1;
|
||||
messageClient(%sender, 'MsgClient', "\c2You gave "@%target.namebase@" a Napalm Airstrike beacon.");
|
||||
messageClient(%target, 'MsgClient', "\c2"@%sender.namebase@" gave you a Napalm Airstrike beacon.");
|
||||
default:
|
||||
messageclient(%sender, 'MsgClient', "\c2Killstreaks: UAV, Airstrike, UAMS, Helicopter");
|
||||
messageclient(%sender, 'MsgClient', "\c2HeliGunner, Harbingers, UnlimUAMS, UnlimHarbin");
|
||||
messageclient(%sender, 'MsgClient', "\c2GunHeli, Apache, Artillery, Nuke, ZBomb, Harrier");
|
||||
messageclient(%sender, 'MsgClient', "\c2Stealth, UnlimAC130, AC130, SatNuke, Fission, EMP");
|
||||
messageclient(%sender, 'MsgClient', "\c2Napalm");
|
||||
}
|
||||
GiveTWM2Weapons(%target); //<- this gives beacons
|
||||
return 1;
|
||||
|
||||
//turrets: enable/disable turrets
|
||||
case "turrets":
|
||||
if (%sender.isSuperadmin) {
|
||||
if ($TWM2::TurretsDisabled) {
|
||||
$TWM2::TurretsDisabled = 0;
|
||||
MessageAll('MsgAdminforce', '\c3%1\c2 has enabled turrets.', %sender.namebase);
|
||||
}
|
||||
else {
|
||||
$TWM2::TurretsDisabled = 1;
|
||||
MessageAll('MsgAdminforce', '\c3%1\c2 has disabled turrets.', %sender.namebase);
|
||||
}
|
||||
}
|
||||
else {
|
||||
return 3;
|
||||
}
|
||||
return 1;
|
||||
|
||||
//jail: put a player in jail
|
||||
case "jail":
|
||||
if (!%sender.issuperadmin) {
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
if(!isObject(%target.player) || %target.player.getState() $= "dead") {
|
||||
messageclient(%sender, 'MsgClient', '\c2The Target Player must have a player object.');
|
||||
return 1;
|
||||
}
|
||||
if (!$Host::Prison::Enabled) {
|
||||
messageclient(%sender, 'MsgClient', '\c2Jail Disabled.');
|
||||
return 1;
|
||||
}
|
||||
if (%target.isjailed) {
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 released \c3"@ %target.namebase@"\c2 from Jail.");
|
||||
%target.player.setPosition($Prison::ReleasePos);
|
||||
%target.isjailed = 0;
|
||||
buyfavorites(%target);
|
||||
return 1;
|
||||
}
|
||||
%target.player.setPosition($Prison::JailPos);
|
||||
%target.isjailed = 1;
|
||||
%target.player.clearinventory();
|
||||
%Gender = (%target.sex $= "Male" ? 'him' : 'her');
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Arrested \c3"@ %target.namebase@"\c2 And Put "@getTaggedString(%gender)@" In Jail.");
|
||||
return 1;
|
||||
|
||||
//megaslap: slap with added damage
|
||||
case "megaslap":
|
||||
if(!%sender.isSuperAdmin) {
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
if(isObject(%target.player)) {
|
||||
%target.player.setActionThread("death11", true);
|
||||
%target.player.setVelocity("15 0 20");
|
||||
%target.player.setDamageFlash(100);
|
||||
%target.player.damage(0, %target.player.position, 0.5, $DamageType::admin);
|
||||
%target.player.setMoveState(true);
|
||||
%target.player.schedule(5000, "SetMoveState", false);
|
||||
messageall('MsgSLAP', "\c3"@getTaggedString(%sender.name)@"\c2 Slapped \c3"@getTaggedString(%target.name)@"\c2 with great force. ~wfx/misc/slapshot.wav");
|
||||
}
|
||||
else {
|
||||
messageclient(%sender, 'MsgClient', "\c2"@%target.namebase@" be dead :)");
|
||||
}
|
||||
return 1;
|
||||
|
||||
//zap: unleash the fury of lightning
|
||||
case "zap":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%nametotest = getword(%args, 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if (%target == 0) {
|
||||
messageclient(%sender, 'MsgClient', '\c2No such player.');
|
||||
return 1;
|
||||
}
|
||||
if(!isObject(%target.player) || %target.player.getState() $= "dead") {
|
||||
messageclient(%sender, 'MsgClient', '\c2The Target Player must have a player object.');
|
||||
return 1;
|
||||
}
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 unleased Lightning On \c3"@ %target.namebase@"\c2.");
|
||||
messageclient(%target, 'MsgClient', '\c5 BIG BOLTS OF FURY!!!!!!.');
|
||||
%zap = new Lightning(Lightning) {
|
||||
position = %target.player.position;
|
||||
rotation = "1 0 0 0";
|
||||
scale = "55 55 100";
|
||||
dataBlock = "DefaultStorm";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
strikesPerMinute = "500";
|
||||
strikeWidth = "2.5";
|
||||
chanceToHitTarget = "100";
|
||||
strikeRadius = "10";
|
||||
boltStartRadius = "20"; //altitude the lightning starts from
|
||||
color = "0.314961 1.000000 0.576000 1.000000";
|
||||
fadeColor = "0.560000 0.860000 0.260000 1.000000";
|
||||
useFog = "1";
|
||||
shouldCloak = 0;
|
||||
};
|
||||
%zap.schedule(3000, delete);
|
||||
return 1;
|
||||
|
||||
//pieceban: enable or disable player building abilities
|
||||
case "pieceban":
|
||||
if(!%sender.isSuperAdmin) {
|
||||
return 3;
|
||||
}
|
||||
%nameToTest = getWords(%args, 0);
|
||||
%target = plnametocid(%nameToTest);
|
||||
if(%target == 0) {
|
||||
MessageClient(%sender, 'msgFail', "\c3No Such Player");
|
||||
return 1;
|
||||
}
|
||||
%target.cannotBuild = !%target.cannotBuild;
|
||||
%msg = %target.cannotBuild ? "BANNED" : "RE-ALLOWED";
|
||||
|
||||
messageAll('MsgAdminForce', "\c3"@ %sender.namebase @" has "@%msg@" "@%target.namebase@"'s building permissions.");
|
||||
return 1;
|
||||
|
||||
//=======================================================================
|
||||
//=======================================================================
|
||||
//=======================================================================
|
||||
// DRONE COMMANDS
|
||||
//=======================================================================
|
||||
//=======================================================================
|
||||
//=======================================================================
|
||||
|
||||
//droneType: displays info about specific types of drones
|
||||
case "dronetype":
|
||||
if (!%sender.issuperadmin) {
|
||||
return 3;
|
||||
}
|
||||
%Type = getWord(%args, 0);
|
||||
if (%Type $= "Normal") {
|
||||
messageclient(%sender, 'MsgClient', "\c2Normal drones are basic drones, They can come in a group of any amount, and be on multiple teams.");
|
||||
return 1;
|
||||
}
|
||||
else if (%Type $= "Stlth") {
|
||||
messageclient(%sender, 'MsgClient', "\c2Stealth Drones are fast and cloaked, they are a little more challenging to beat but come in less amounts.");
|
||||
return 1;
|
||||
}
|
||||
else if (%Type $= "Strike") {
|
||||
messageclient(%sender, 'MsgClient', "\c2Strike drones will do anything to take out a target, they dont mind blowing themselves up to destroy you.");
|
||||
return 1;
|
||||
}
|
||||
else if (%Type $= "Elite") {
|
||||
messageclient(%sender, 'MsgClient', "\c2Elite drones are Deadly, they strike quick and are hard to beat, use caution when fighting these drones.");
|
||||
return 1;
|
||||
}
|
||||
else if (%Type $= "Ace") {
|
||||
messageclient(%sender, 'MsgClient', "\c2If Elite wasn't enough, Ace drones are worse, they are quick, and will always get their kill, use extreme caution.");
|
||||
return 1;
|
||||
}
|
||||
else if (%Type $= "Ultra") {
|
||||
messageclient(%sender, 'MsgClient', "\c2Ultra Drones are extremely Rare to find, but they are the deadliest of them all, they employ methods from every other type to destroy you.");
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
messageclient(%sender, 'MsgClient', "\c2That type of drone doesnt exist.");
|
||||
messageclient(%sender, 'MsgClient', "\c2These however, do : Normal, Stlth, Strike, Elite, Ace, Ultra.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
//dronebattle: spawns drones
|
||||
case "dronebattle":
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 1000");
|
||||
%Amount = getword(%args, 0);
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
if(%Amount < 1 || %Amount > 50) {
|
||||
messageclient(%sender, 'MsgClient', '\c5Error: Invalid Amount.');
|
||||
return 1;
|
||||
}
|
||||
DroneBattle(%pos, 500, %Amount, 1, 100, 5, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned "@%Amount@", Normal Type Fighters 1000M above himself.");
|
||||
return 1;
|
||||
|
||||
//dronebattlelow: see above, but @ lower alt.
|
||||
case "dronebattlelow":
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 200");
|
||||
%Amount = getword(%args, 0);
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
if(%Amount < 1 || %Amount > 50) {
|
||||
messageclient(%sender, 'MsgClient', '\c5Error: Invalid Amount.');
|
||||
return 1;
|
||||
}
|
||||
DroneBattle(%pos, 500, %Amount, 1, 100, 5, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned "@%Amount@", Normal Type Fighters 200M above himself.");
|
||||
return 1;
|
||||
|
||||
//dronebattlet: spawns drones on a specific team
|
||||
case "dronebattlet":
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
%Amount = getword(%args, 0);
|
||||
%teamtobe = getword(%args, 1);
|
||||
if (!%sender.issuperadmin){
|
||||
messageclient(%sender, 'MsgClient', '\c5 Admin Clearance For Level 2 Needed.');
|
||||
return 1;
|
||||
}
|
||||
if(%Amount < 1 || %Amount > 50) {
|
||||
messageclient(%sender, 'MsgClient', '\c5Error: Invalid Amount.');
|
||||
return 1;
|
||||
}
|
||||
if(%teamtobe < 1 || %teamtobe > 99) {
|
||||
messageclient(%sender, 'MsgClient', '\c5Error: Invalid Team.');
|
||||
return 1;
|
||||
}
|
||||
DroneBattle(%pos, 500, %Amount, %teamtobe, %teamtobe, 5, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned "@%Amount@", Normal Type Fighters 500M On team "@%teamtobe@" above himself.");
|
||||
return 1;
|
||||
|
||||
//dronebattleTH: same as above, but at a really high alt.
|
||||
case "dronebattleth":
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 5000");
|
||||
%Amount = getword(%args, 0);
|
||||
%teamtobe = getword(%args, 1);
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
if(%Amount < 1 || %Amount > 50) {
|
||||
messageclient(%sender, 'MsgClient', '\c5Error: Invalid Amount.');
|
||||
return 1;
|
||||
}
|
||||
if(%teamtobe < 1 || %teamtobe > 99) {
|
||||
messageclient(%sender, 'MsgClient', '\c5Error: Invalid Team.');
|
||||
return 1;
|
||||
}
|
||||
DroneBattle(%pos, 500, %Amount, %teamtobe, %teamtobe, 5, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned "@%Amount@", Normal Type Fighters 5000M On team "@%teamtobe@" above himself.");
|
||||
return 1;
|
||||
|
||||
//dronespawns: list drone spawning commands
|
||||
case "dronespawns":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
messageclient(%sender, 'MsgClient', '\c5 TWM 2 Drone Help Menu ');
|
||||
messageclient(%sender, 'MsgClient', '\c2 >>> Drones <<< ');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /Dronebattle, /dronebattlet, /dronebattleth');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /Dronebattlelow, /dronetype');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /1Slth, /5Slth - Spawn Stealth Drones');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /1stri, /5stri, /10stri - Spawn Strike Drones');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /1eli, /5eli, /10eli - Spawn Elite Drones');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /1Ace, /5Ace - Spawn Ace Drones');
|
||||
messageclient(%sender, 'MsgClient', '\c5 /1Ultr - Spawn an ultra drone');
|
||||
return 1;
|
||||
|
||||
//All of the below commands are related to the drone spawns above.
|
||||
case "1slth":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 1, 96, 96, 20, 1);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned A Stealth Type Fighter.");
|
||||
return 1;
|
||||
|
||||
case "5slth":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 5, 96, 96, 20, 1);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned Five Stealth Type Fighters.");
|
||||
return 1;
|
||||
|
||||
case "1stri":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 1, 97, 97, 35, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned A Strike Type Fighter.");
|
||||
return 1;
|
||||
|
||||
case "5stri":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 5, 97, 97, 35, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned Five Strike Type Fighters.");
|
||||
return 1;
|
||||
|
||||
case "10stri":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 10, 97, 97, 35, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned Ten Strike Type Fighters.");
|
||||
return 1;
|
||||
|
||||
case "1eli":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 1, 98, 98, 50, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned A Elite Type Fighter.");
|
||||
return 1;
|
||||
|
||||
case "5eli":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 5, 98, 98, 50, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned Five Elite Type Fighters.");
|
||||
return 1;
|
||||
|
||||
case "10eli":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 5, 98, 98, 50, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned Ten Elite Type Fighters.");
|
||||
return 1;
|
||||
|
||||
case "1ace":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 1, 99, 99, 70, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned A Ace Type Fighter.");
|
||||
return 1;
|
||||
|
||||
case "5ace":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
DroneBattle(%pos, 500, 5, 99, 99, 70, 0);
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned Five Ace Type Fighters.");
|
||||
return 1;
|
||||
|
||||
case "1ultr":
|
||||
if (!%sender.issuperadmin){
|
||||
return 3;
|
||||
}
|
||||
%pos = vectoradd(%sender.player.getposition(), "0 0 500");
|
||||
%drone = DroneBattle(%pos, 500, 1, 99, 99, 100, 1); //yes this bad guy is stealthed
|
||||
messageall('MsgAdminForce', "\c3"@ %sender.namebase@"\c2 Spawned An Ultra Fighter, Pilots Beware.");
|
||||
return 1;
|
||||
|
||||
//=======================================================================
|
||||
//=======================================================================
|
||||
//=======================================================================
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
addCMD("SuperAdmin", "SaCmds", "Usage: /SaCmds: Lists Super Admin Commands.");
|
||||
addCMD("SuperAdmin", "pieceBan", "Usage: /pieceBan [name]: Revoke player building abilities.");
|
||||
addCMD("SuperAdmin", "turrets", "Usage: /turrets: toggle allowance of turrets.");
|
||||
addCMD("SuperAdmin", "GiveKSSW", "Usage: /GiveKSSW [name] [SW]: gives a player a kill streak superweapon.");
|
||||
addCMD("SuperAdmin", "TkToggle", "Usage: /TkToggle: toggles FFA mode.");
|
||||
addCMD("SuperAdmin", "SA", "Usage: /SA [message]: chat message to super-admins.");
|
||||
addCMD("SuperAdmin", "MakeSA", "Usage: /MakeSA [target]: makes someone Super-Admin.");
|
||||
addCMD("SuperAdmin", "blowvehs", "Usage: /blowvehs: destroy all vehicles.");
|
||||
addCMD("SuperAdmin", "StartBoss", "Usage: /StartBoss [name]: starts a TWM2 Boss.");
|
||||
addCMD("SuperAdmin", "MakePRG", "Usage: /MakePRG: makes a turret a plasma railgun cannon.");
|
||||
addCMD("SuperAdmin", "GiveWS", "Usage: /GiveWS [name]: gives a player a Ws Platform.");
|
||||
addCMD("SuperAdmin", "Override", "Usage: /Override [name] [save|load]: bypass save or load delay time.");
|
||||
addCMD("SuperAdmin", "Jail", "Usage: /Jail [name]: send a player to jail.");
|
||||
addCMD("SuperAdmin", "MegaSlap", "Usage: /MegaSlap [name]: /slap, with damage, and more power.");
|
||||
addCMD("SuperAdmin", "Zap", "Usage: /Zap [name]: unleash lightning on a player.");
|
||||
addCMD("SuperAdmin", "DroneHelp", "Usage: /DroneHelp: Lists AI Vehicle Commands.");
|
||||
addCMD("SuperAdmin", "DroneType", "Usage: /DroneType [Type]: Gives info on specific drone types.");
|
||||
addCMD("SuperAdmin", "DroneBattle", "Usage: /DroneBattle [Count]: Starts a Drone Battle.");
|
||||
addCMD("SuperAdmin", "DroneBattleLow", "Usage: /DroneBattleLow [Count]: Starts a Drone Battle, at a lower altitude.");
|
||||
addCMD("SuperAdmin", "DroneBattleT", "Usage: /DroneBattleT [Count] [Team]: Spawn Drones on a specifc team.");
|
||||
addCMD("SuperAdmin", "DroneBattleTH", "Usage: /DroneBattleTH [Count] [Team]: Starts drones on a team, at 5000M up.");
|
||||
addCMD("SuperAdmin", "DroneSpawns", "Usage: /DroneSpawns: List drone spawns for non-normal drones.");
|
||||
addCMD("SuperAdmin", "1Slth", "Usage: /1Slth: Spawn 1 Stealth Drone.");
|
||||
addCMD("SuperAdmin", "5Slth", "Usage: /5Slth: Spawn 5 Stealth Drones.");
|
||||
addCMD("SuperAdmin", "1Stri", "Usage: /1Stri: Spawn 1 Strike Drone.");
|
||||
addCMD("SuperAdmin", "5Stri", "Usage: /5Stri: Spawn 5 Strike Drones.");
|
||||
addCMD("SuperAdmin", "10Stri", "Usage: /10Stri: Spawn 10 Strike Drones.");
|
||||
addCMD("SuperAdmin", "1Eli", "Usage: /1Eli: Spawn 1 Elite Drone.");
|
||||
addCMD("SuperAdmin", "5Eli", "Usage: /5Eli: Spawn 5 Elite Drones.");
|
||||
addCMD("SuperAdmin", "10Eli", "Usage: /10Eli: Spawn 10 Elite Drones.");
|
||||
addCMD("SuperAdmin", "1Ace", "Usage: /1Ace: Spawn 1 Ace Drone.");
|
||||
addCMD("SuperAdmin", "5Ace", "Usage: /5Ace: Spawn 5 Ace Drones.");
|
||||
addCMD("SuperAdmin", "1Ultr", "Usage: /1Ultr: Spawn 1 Ultra Drone.");
|
||||
1149
scripts/TWM2/CustomArmors.cs
Normal file
1149
scripts/TWM2/CustomArmors.cs
Normal file
File diff suppressed because it is too large
Load diff
296
scripts/TWM2/CustomCamera.cs
Normal file
296
scripts/TWM2/CustomCamera.cs
Normal file
|
|
@ -0,0 +1,296 @@
|
|||
datablock CameraData(TWM2ControlCamera) {
|
||||
mode = "AirstrikeCall";
|
||||
firstPersonOnly = true;
|
||||
};
|
||||
|
||||
function CameraMessageLoop(%cl, %obj, %mode) {
|
||||
if(!isObject(%obj)) {
|
||||
return;
|
||||
}
|
||||
if(!isObject(%cl.player) || %cl.player.getState() $= "dead") {
|
||||
%obj.delete();
|
||||
return;
|
||||
}
|
||||
if(%cl.getControlObject() != %obj) {
|
||||
return;
|
||||
}
|
||||
switch$ (%mode) {
|
||||
case "AirstrikeCall":
|
||||
BottomPrint(%cl, "AIRSTRIKE, MOVE TO POSITION, LOOK IN THE ONCOMING DIRECTION \n PRESS JET TO LAUNCH", 1, 2);
|
||||
case "HarrierCall":
|
||||
BottomPrint(%cl, "HARRIER AIRSTRIKE, MOVE TO POSITION, LOOK IN THE ONCOMING DIRECTION \n PRESS JET TO LAUNCH", 1, 2);
|
||||
case "NapalmHarrierCall":
|
||||
BottomPrint(%cl, "NAPALM AIRSTRIKE, MOVE TO POSITION, LOOK IN THE ONCOMING DIRECTION \n PRESS JET TO LAUNCH", 1, 2);
|
||||
case "StlhAirstrikeCall":
|
||||
BottomPrint(%cl, "STEALTH BOMBER, MOVE TO POSITION, LOOK IN THE ONCOMING DIRECTION \n PRESS JET TO LAUNCH", 1, 2);
|
||||
case "ArtilleryCall":
|
||||
BottomPrint(%cl, "ARTILLERY, MOVE TO POSITION, AND PRESS JET TO LAUNCH", 1, 2);
|
||||
case "OLSCall":
|
||||
BottomPrint(%cl, "ORBITAL LASER STRIKE, MOVE TO POSITION, AND PRESS JET TO LAUNCH", 1, 2);
|
||||
case "NukeCall":
|
||||
BottomPrint(%cl, "NUCLEAR STRIKE, MOVE TO POSITION, AND PRESS JET TO LAUNCH", 1, 2);
|
||||
}
|
||||
schedule(1000, 0, "CameraMessageLoop", %cl, %obj, %mode);
|
||||
}
|
||||
|
||||
function TWM2ControlCamera::onTrigger(%data,%obj,%trigger,%state) {
|
||||
if (%state == 0)
|
||||
return;
|
||||
|
||||
//first, give the game the opportunity to prevent the observer action
|
||||
if (!Game.ObserverOnTrigger(%data, %obj, %trigger, %state))
|
||||
return;
|
||||
|
||||
//now observer functions if you press the "throw"
|
||||
if (%trigger >= 4)
|
||||
return;
|
||||
|
||||
%client = %obj.getControllingClient();
|
||||
if (%client == 0)
|
||||
return;
|
||||
|
||||
switch$ (%obj.mode) {
|
||||
case "AirstrikeCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasAirstrike && !%client.UnlimitedAS) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in an airstrike", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%trns = %obj.getTransform();
|
||||
%position = getWords(%trns, 0, 2);
|
||||
%xyVec = getWords(%obj.getForwardVector(), 0, 1);
|
||||
//cast the camera out 700M and get a location
|
||||
%vector = %xyvec SPC 0;
|
||||
if(getWord(%vector, 1) < 0.1 && getWord(%vector, 1) > -0.1) {
|
||||
%vector = getWord(%vector, 0) SPC (getWord(%vector, 1) * 7) SPC 0;
|
||||
}
|
||||
%direction = vectoradd(%position, vectorscale(%vector, 700));
|
||||
//echo(%direction);
|
||||
//
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
if(!%client.UnlimitedAS) {
|
||||
%client.HasAirstrike = 0;
|
||||
GainExperience(%client, 35, "Airstrike called in ");
|
||||
}
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Airstrike", 5, 2);
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: Airstrike Called In From "@%client.namebase@"");
|
||||
Airstrike(%client, %position, %direction);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "HarrierCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasHarrier) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in a harrier airstrike", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%trns = %obj.getTransform();
|
||||
%position = getWords(%trns, 0, 2);
|
||||
%xyVec = getWords(%obj.getForwardVector(), 0, 1);
|
||||
//cast the camera out 700M and get a location
|
||||
%vector = %xyvec SPC 0;
|
||||
if(getWord(%vector, 1) < 0.1 && getWord(%vector, 1) > -0.1) {
|
||||
%vector = getWord(%vector, 0) SPC (getWord(%vector, 1) * 7) SPC 0;
|
||||
}
|
||||
%direction = vectoradd(%position, vectorscale(%vector, 700));
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasHarrier = 0;
|
||||
GainExperience(%client, 150, "Harrier Airstrike called in ");
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: "@%client.namebase@"'s Harrier Airstrike is Approaching.");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Harriers", 5, 2);
|
||||
HarrierAirstrike(%client, %position, %direction);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "NapalmHarrierCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasNapalmHarrier) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in a napalm airstrike", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%trns = %obj.getTransform();
|
||||
%position = getWords(%trns, 0, 2);
|
||||
%xyVec = getWords(%obj.getForwardVector(), 0, 1);
|
||||
//cast the camera out 700M and get a location
|
||||
%vector = %xyvec SPC 0;
|
||||
if(getWord(%vector, 1) < 0.1 && getWord(%vector, 1) > -0.1) {
|
||||
%vector = getWord(%vector, 0) SPC (getWord(%vector, 1) * 7) SPC 0;
|
||||
}
|
||||
%direction = vectoradd(%position, vectorscale(%vector, 700));
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasNapalmHarrier = 0;
|
||||
GainExperience(%client, 350, "Napalm Airstrike called in ");
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: "@%client.namebase@"'s Napalm Airstrike is coming in hot.");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Strike Fighters", 5, 2);
|
||||
NapalmHarrierAirstrike(%client, %position, %direction);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "OLSCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasOLS) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in an orbital laser strike", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%position = %obj.getPosition();
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasOLS = 0;
|
||||
GainExperience(%client, 350, "Orbital Laser Strike Called In ");
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: "@%client.namebase@"'s Laser Strike is Incoming.");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Spinning Laser Cannon", 5, 2);
|
||||
OrbitalLaserStrike(%client, %position);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "StlhAirstrikeCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasSlthAirstrike) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in a stealth bomber", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%trns = %obj.getTransform();
|
||||
%position = getWords(%trns, 0, 2);
|
||||
%xyVec = getWords(%obj.getForwardVector(), 0, 1);
|
||||
//cast the camera out 700M and get a location
|
||||
%vector = %xyvec SPC 0;
|
||||
if(getWord(%vector, 1) < 0.1 && getWord(%vector, 1) > -0.1) {
|
||||
%vector = getWord(%vector, 0) SPC (getWord(%vector, 1) * 7) SPC 0;
|
||||
}
|
||||
%direction = vectoradd(%position, vectorscale(%vector, 700));
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
%client.HasSlthAirstrike = 0;
|
||||
GainExperience(%client, 150, "Stealth Bomber Airstrike called in ");
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Stealth Bomber", 5, 2);
|
||||
StealthAirstrike(%client, %position, %direction);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "ArtilleryCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasArtillery) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in artillery", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%position = %obj.getPosition();
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
//if(!%client.UnlimitedAS) {
|
||||
%client.HasArtillery = 0;
|
||||
GainExperience(%client, 250, "Artillery called in ");
|
||||
//}
|
||||
bottomPrint(%client, "Coordinates Confirmed, Calling In Artillery", 5, 2);
|
||||
messageTeam(%client.team, 'MsgAirstrike', "\c5TWM2: Artillery Called In From "@%client.namebase@"");
|
||||
Artillery(%client, %position);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
case "NukeCall":
|
||||
//press JET
|
||||
if (%trigger == 3) {
|
||||
//Can we Call in this airstrike?
|
||||
if(!%client.HasNuke) {
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
bottomPrint(%client, "You cannot call in a nuclear missile", 5, 2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//
|
||||
%position = %obj.getPosition();
|
||||
if(isObject(%client.player)) {
|
||||
%obj.schedule(1000, "delete");
|
||||
%client.setControlObject(%client.player);
|
||||
//if(!%client.UnlimitedAS) {
|
||||
%client.HasNuke = 0;
|
||||
GainExperience(%client, 500, "Nuclear Missile called in ");
|
||||
//}
|
||||
bottomPrint(%client, "Coordinates Confirmed, Launching Missile", 5, 2);
|
||||
messageAll('msgDanger', "\c5TWM2 ALERT: "@%client.namebase@" has activated a nuclear missile!!! ~wfx/misc/red_alert.wav");
|
||||
Nuke(%client, %position);
|
||||
}
|
||||
else {
|
||||
bottomPrint(%client, "Player Object Required", 5, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
114
scripts/TWM2/ExteriorFunctioning/ArmorDamageEffects.cs
Normal file
114
scripts/TWM2/ExteriorFunctioning/ArmorDamageEffects.cs
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
datablock ParticleData(burnParticle) {
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = -0.1;
|
||||
inheritedVelFactor = 0.1;
|
||||
|
||||
lifetimeMS = 500;
|
||||
lifetimeVarianceMS = 50;
|
||||
|
||||
textureName = "special/cloudflash";
|
||||
|
||||
spinRandomMin = -10.0;
|
||||
spinRandomMax = 10.0;
|
||||
|
||||
colors[0] = "1 0.18 0.03 0.4";
|
||||
colors[1] = "1 0.18 0.03 0.3";
|
||||
colors[2] = "1 0.18 0.03 0.0";
|
||||
sizes[0] = 2.0;
|
||||
sizes[1] = 1.0;
|
||||
sizes[2] = 0.8;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.6;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(burnEmitter) {
|
||||
ejectionPeriodMS = 3;
|
||||
periodVarianceMS = 0;
|
||||
|
||||
ejectionOffset = 0.2;
|
||||
ejectionVelocity = 10.0;
|
||||
velocityVariance = 0.0;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 10.0;
|
||||
|
||||
particles = "burnParticle";
|
||||
};
|
||||
|
||||
function burnloop(%obj){
|
||||
if(!isobject(%obj)) {
|
||||
return;
|
||||
}
|
||||
if(%obj.onfire == 0) {
|
||||
return;
|
||||
}
|
||||
if(%obj.firecount >= %obj.maxfirecount){
|
||||
%obj.firecount = "";
|
||||
%obj.maxfirecount = 0;
|
||||
%obj.onfire = 0;
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%obj.damage(0, %obj.getposition(), 0.01, $DamageType::Burn);
|
||||
%obj.lastDamagedImage = "flamerImage";
|
||||
%fire = new ParticleEmissionDummy(){
|
||||
position = vectoradd(%obj.getPosition(),"0 0 0.5");
|
||||
dataBlock = "defaultEmissionDummy";
|
||||
emitter = "BurnEmitter";
|
||||
};
|
||||
MissionCleanup.add(%fire);
|
||||
%fire.schedule(100, "delete");
|
||||
%obj.firecount++;
|
||||
schedule(100, %obj, "burnloop", %obj);
|
||||
}
|
||||
}
|
||||
|
||||
function ApplyEMP(%client) {
|
||||
if(%client.isEMPd) {
|
||||
//applying second emp = laggy + bad
|
||||
return;
|
||||
}
|
||||
%client.isEMPd = 1;
|
||||
EMPEKill(%client.player);
|
||||
//echo("EMP: applied EMP to "@%client@" - "@%client.player@"");
|
||||
}
|
||||
|
||||
function KillEMP(%client) {
|
||||
%client.isEMPd = 0;
|
||||
%client.player.stopZap();
|
||||
messageClient(%client, 'msgDieEMP', "\c5Armor: Electronic Stability has returned.");
|
||||
//echo("EMP: kill EMP: "@%client@"");
|
||||
}
|
||||
|
||||
function EMPEKill(%obj) {
|
||||
if(%obj.client.isEMPd) {
|
||||
if(!isObject(%obj) || %obj.getState() $= "Dead") {
|
||||
//echo("EMP: "@%obj@" dead, sending Re-EMP to "@%obj.client@"");
|
||||
ReEMPLoop(%obj.client);
|
||||
return;
|
||||
}
|
||||
%obj.setEnergyLevel(0.0);
|
||||
%obj.zapObject();
|
||||
schedule(100, 0, "EMPEKill", %obj);
|
||||
}
|
||||
else {
|
||||
%obj.stopZap();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function ReEMPLoop(%client) {
|
||||
if(!%client.isEMPd) {
|
||||
//echo("EMP: RE-EMP: "@%client@" no longer EMP");
|
||||
return;
|
||||
}
|
||||
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
||||
//echo("EMP: RE: dead, trying to re-loop on "@%client@"");
|
||||
schedule(500, 0, "ReEMPLoop", %client);
|
||||
return;
|
||||
}
|
||||
EMPLoop(%client.player);
|
||||
EMPEKill(%client.player);
|
||||
//echo("EMP: Re-EMP: "@%client@" - "@%client.player@"");
|
||||
}
|
||||
617
scripts/TWM2/ExteriorFunctioning/BloodEffects.cs
Normal file
617
scripts/TWM2/ExteriorFunctioning/BloodEffects.cs
Normal file
|
|
@ -0,0 +1,617 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// Human Death Effects v3.0
|
||||
// Effects By: LuCiD
|
||||
//==============================================================================
|
||||
|
||||
// see player.cs for functions.
|
||||
datablock AudioProfile(BloodSplashSound)
|
||||
{
|
||||
filename = "fx/armor/general_water_exit.wav";
|
||||
description = AudioClosest3d;
|
||||
preload = true;
|
||||
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Splash Mist
|
||||
//==============================================================================
|
||||
datablock ParticleData(HumanRedPlayerSplashMist)
|
||||
{
|
||||
dragCoefficient = 2.0;
|
||||
gravityCoefficient = -0.05;
|
||||
inheritedVelFactor = 0.0;
|
||||
constantAcceleration = 0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 100;
|
||||
useInvAlpha = false;
|
||||
spinRandomMin = -90.0;
|
||||
spinRandomMax = 500.0;
|
||||
textureName = "particleTest";
|
||||
colors[0] = "0.9 0.1 0.1 0.5";
|
||||
colors[1] = "0.6 0.05 0.05 0.5";
|
||||
colors[2] = "0.4 0.0 0.0 0.0";
|
||||
sizes[0] = 0.5;
|
||||
sizes[1] = 0.5;
|
||||
sizes[2] = 0.8;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(HumanRedPlayerSplashMistEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 26;
|
||||
periodVarianceMS = 21;
|
||||
ejectionVelocity = 4.0;
|
||||
velocityVariance = 2.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 85;
|
||||
thetaMax = 85;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
lifetimeMS = 450;
|
||||
particles = "HumanRedPlayerSplashMist";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Human Red Pool
|
||||
//==============================================================================
|
||||
datablock ShockwaveData(RedBloodHit)
|
||||
{
|
||||
width = 3.0;
|
||||
numSegments = 64;
|
||||
numVertSegments = 35;
|
||||
velocity = -1.5;
|
||||
acceleration = 2.0;
|
||||
lifetimeMS = 800;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = true;
|
||||
orientToNormal = true;
|
||||
|
||||
texture[0] = "special/shockwave4";
|
||||
texture[1] = "special/droplet";//"special/gradient";
|
||||
texWrap = 8.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "0.9 0.1 0.1 0.5";
|
||||
colors[1] = "0.6 0.05 0.05 0.5";
|
||||
colors[2] = "0.4 0.0 0.0 0.0";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Human Red Blood
|
||||
//==============================================================================
|
||||
datablock ParticleData(HumanRedBloodParticle)
|
||||
{
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = 120.0;
|
||||
inheritedVelFactor = 0.0;
|
||||
|
||||
lifetimeMS = 1600;
|
||||
lifetimeVarianceMS = 000;
|
||||
|
||||
textureName = "snowflake8x8";//"particletest";
|
||||
|
||||
useInvAlpha = true;
|
||||
spinRandomMin = -30.0;
|
||||
spinRandomMax = 30.0;
|
||||
|
||||
colors[0] = "0.9 0.1 0.1 0.5";
|
||||
colors[1] = "0.6 0.05 0.05 0.5";
|
||||
colors[2] = "0.4 0.0 0.0 0.0";
|
||||
|
||||
sizes[0] = 0.2;
|
||||
sizes[1] = 0.05;
|
||||
sizes[2] = 0.06;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.2;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(HumanRedBloodEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 15;
|
||||
periodVarianceMS = 5;
|
||||
|
||||
ejectionVelocity = 1.25;
|
||||
velocityVariance = 0.50;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 90.0;
|
||||
|
||||
particles = "HumanRedBloodParticle";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Human Red Droplets Particle
|
||||
//==============================================================================
|
||||
datablock ParticleData( HumanRedDropletsParticle )
|
||||
{
|
||||
dragCoefficient = 1;
|
||||
gravityCoefficient = 0.5;
|
||||
inheritedVelFactor = 0.5;
|
||||
constantAcceleration = 0.1;
|
||||
lifetimeMS = 300;
|
||||
lifetimeVarianceMS = 100;
|
||||
textureName = "special/droplet";
|
||||
colors[0] = "0.9 0.1 0.1 1.0";
|
||||
colors[1] = "0.6 0.05 0.05 1.0";
|
||||
colors[2] = "0.4 0.0 0.0 0.0";
|
||||
sizes[0] = 0.8;
|
||||
sizes[1] = 0.3;
|
||||
sizes[2] = 0.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData( HumanRedDropletsEmitter )
|
||||
{
|
||||
ejectionPeriodMS = 7;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 2;
|
||||
velocityVariance = 1.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 60;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
particles = "HumanRedDropletsParticle";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Human Red Explosion
|
||||
//==============================================================================
|
||||
datablock ExplosionData(HumanRedExplosion)
|
||||
{
|
||||
soundProfile = BloodSplashSound;
|
||||
particleEmitter = HumanRedBloodEmitter;
|
||||
particleDensity = 15;
|
||||
particleRadius = 2.25;
|
||||
faceViewer = true;
|
||||
|
||||
emitter[0] = HumanRedPlayerSplashMistEmitter;
|
||||
emitter[1] = HumanRedDropletsEmitter;
|
||||
shockwave = RedBloodHit;
|
||||
};
|
||||
|
||||
datablock GrenadeProjectileData(HumanBlood)
|
||||
{
|
||||
projectileShapeName = "turret_muzzlepoint.dts"; //Really small and hard to see
|
||||
emitterDelay = -1;
|
||||
directDamage = 0.0;
|
||||
hasDamageRadius = false;
|
||||
indirectDamage = 0.0;
|
||||
damageRadius = 0.0;
|
||||
radiusDamageType = $DamageType::Default;
|
||||
kickBackStrength = 0;
|
||||
bubbleEmitTime = 1.0;
|
||||
//sound = BloodSplashSound;
|
||||
explosion = HumanRedExplosion;
|
||||
//explodeOnMaxBounce = true;
|
||||
velInheritFactor = 0.5;
|
||||
baseEmitter[0] = HumanRedBloodEmitter;
|
||||
|
||||
grenadeElasticity = 0.4;
|
||||
grenadeFriction = 0.2;
|
||||
armingDelayMS = 100; // was 400
|
||||
muzzleVelocity = 0;
|
||||
drag = 0.1;
|
||||
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Bioderm Death Effects v3.0
|
||||
// Effects by: LuCiD
|
||||
//==============================================================================
|
||||
|
||||
// see player.cs for functions.
|
||||
//------------------------------------------------------------------------------
|
||||
// Splash Mist
|
||||
//==============================================================================
|
||||
datablock ParticleData(BiodermPlayerSplashMist)
|
||||
{
|
||||
dragCoefficient = 2.0;
|
||||
gravityCoefficient = -0.05;
|
||||
inheritedVelFactor = 0.0;
|
||||
constantAcceleration = 0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 100;
|
||||
useInvAlpha = false;
|
||||
spinRandomMin = -90.0;
|
||||
spinRandomMax = 500.0;
|
||||
textureName = "particleTest";
|
||||
colors[0] = "0.1 0.9 0.1 0.5";
|
||||
colors[1] = "0.2 0.09 0.05 0.5";
|
||||
colors[2] = "0.0 0.4 0.0 0.0";
|
||||
sizes[0] = 0.5;
|
||||
sizes[1] = 0.5;
|
||||
sizes[2] = 0.8;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(BiodermPlayerSplashMistEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 26;
|
||||
periodVarianceMS = 21;
|
||||
ejectionVelocity = 3.0;
|
||||
velocityVariance = 2.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 85;
|
||||
thetaMax = 85;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
lifetimeMS = 450;
|
||||
particles = "BiodermPlayerSplashMist";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Bioderm Green Pool
|
||||
//==============================================================================
|
||||
datablock ShockwaveData(GreenBloodHit)
|
||||
{
|
||||
width = 3.0;
|
||||
numSegments = 64;
|
||||
numVertSegments = 35;
|
||||
velocity = -1.5;
|
||||
acceleration = 2.0;
|
||||
lifetimeMS = 800;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = true;
|
||||
orientToNormal = true;
|
||||
|
||||
texture[0] = "special/shockwave4";
|
||||
texture[1] = "special/droplet";//"special/gradient";
|
||||
texWrap = 8.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "0.1 0.9 0.1 0.5";
|
||||
colors[1] = "0.5 0.06 0.05 0.5";
|
||||
colors[2] = "0.0 0.4 0.0 0.0";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Bioderm Blood
|
||||
//==============================================================================
|
||||
datablock ParticleData(BiodermBloodParticle)
|
||||
{
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = 120.0; // drops quickly
|
||||
inheritedVelFactor = 0;
|
||||
|
||||
lifetimeMS = 1600; // lasts 2 second
|
||||
lifetimeVarianceMS = 000; // ...more or less
|
||||
|
||||
textureName = "snowflake8x8";//"particletest";
|
||||
|
||||
useInvAlpha = true;
|
||||
spinRandomMin = -30.0;
|
||||
spinRandomMax = 30.0;
|
||||
|
||||
colors[0] = "0.1 0.9 0.1 0.5";
|
||||
colors[1] = "0.2 0.06 0.05 0.5";
|
||||
colors[2] = "0.0 0.4 0.0 0.0";
|
||||
|
||||
sizes[0] = 0.2;
|
||||
sizes[1] = 0.05;
|
||||
sizes[2] = 0.06;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.2;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(BiodermBloodEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 15;
|
||||
periodVarianceMS = 5;
|
||||
|
||||
ejectionVelocity = 1.25;
|
||||
velocityVariance = 0.50;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 90.0;
|
||||
|
||||
particles = "BiodermBloodParticle";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Bioderm Droplets Particle
|
||||
//==============================================================================
|
||||
datablock ParticleData( BiodermDropletsParticle )
|
||||
{
|
||||
dragCoefficient = 1;
|
||||
gravityCoefficient = 0.5;
|
||||
inheritedVelFactor = 0.5;
|
||||
constantAcceleration = 0.1;
|
||||
lifetimeMS = 300;
|
||||
lifetimeVarianceMS = 100;
|
||||
textureName = "special/droplet";
|
||||
colors[0] = "0.1 0.9 0.1 1.0";
|
||||
colors[1] = "0.2 0.06 0.05 1.0";
|
||||
colors[2] = "0.0 0.4 0.0 0.0";
|
||||
sizes[0] = 0.8;
|
||||
sizes[1] = 0.3;
|
||||
sizes[2] = 0.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData( BiodermDropletsEmitter )
|
||||
{
|
||||
ejectionPeriodMS = 27;
|
||||
periodVarianceMS = 21;
|
||||
ejectionVelocity = 2;
|
||||
velocityVariance = 1.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 60;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
particles = "BiodermDropletsParticle";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Bioderm Explosion
|
||||
//==============================================================================
|
||||
datablock ExplosionData(BiodermExplosion)
|
||||
{
|
||||
soundProfile = BloodSplashSound;
|
||||
particleEmitter = BiodermBloodEmitter;
|
||||
particleDensity = 25;
|
||||
particleRadius = 2.25;
|
||||
faceViewer = true;
|
||||
|
||||
emitter[0] = BiodermPlayerSplashMistEmitter;
|
||||
emitter[1] = BiodermDropletsEmitter;
|
||||
shockwave = GreenBloodHit;
|
||||
};
|
||||
|
||||
datablock GrenadeProjectileData(BiodermBlood)
|
||||
{
|
||||
projectileShapeName = "turret_muzzlepoint.dts"; //Really small and hard to see
|
||||
emitterDelay = -1;
|
||||
directDamage = 0.15;
|
||||
hasDamageRadius = false;
|
||||
indirectDamage = 0.0;
|
||||
damageRadius = 0.15;
|
||||
radiusDamageType = $DamageType::ArmorDeath;
|
||||
kickBackStrength = 0;
|
||||
bubbleEmitTime = 1.0;
|
||||
//sound = BloodSplashSound;
|
||||
explosion = BiodermExplosion;
|
||||
//explodeOnMaxBounce = true;
|
||||
velInheritFactor = 0.5;
|
||||
baseEmitter[0] = BiodermBloodEmitter;
|
||||
|
||||
grenadeElasticity = 0.4;
|
||||
grenadeFriction = 0.2;
|
||||
armingDelayMS = 100; // was 400
|
||||
muzzleVelocity = 0;
|
||||
drag = 0.1;
|
||||
|
||||
};
|
||||
//------------------------------------------------------------------------------
|
||||
// Purple Bioderm blood
|
||||
//==============================================================================
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Purple Splash Mist
|
||||
//==============================================================================
|
||||
datablock ParticleData(PurpleBiodermPlayerSplashMist)
|
||||
{
|
||||
dragCoefficient = 2.0;
|
||||
gravityCoefficient = -0.05;
|
||||
inheritedVelFactor = 0.0;
|
||||
constantAcceleration = 0.0;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 100;
|
||||
useInvAlpha = false;
|
||||
spinRandomMin = -90.0;
|
||||
spinRandomMax = 500.0;
|
||||
textureName = "particleTest";
|
||||
colors[0] = "0.25 0.12 0.40 0.5";
|
||||
colors[1] = "0.25 0.12 0.40 0.5";
|
||||
colors[2] = "0.4 0.0 0.5 0.0";
|
||||
sizes[0] = 0.5;
|
||||
sizes[1] = 0.5;
|
||||
sizes[2] = 0.8;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(PurpleBiodermPlayerSplashMistEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 26;
|
||||
periodVarianceMS = 21;
|
||||
ejectionVelocity = 3.0;
|
||||
velocityVariance = 2.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 85;
|
||||
thetaMax = 85;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
lifetimeMS = 450;
|
||||
particles = "PurpleBiodermPlayerSplashMist";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Bioderm Purple Pool
|
||||
//==============================================================================
|
||||
datablock ShockwaveData(PurpleBloodHit)
|
||||
{
|
||||
width = 3.0;
|
||||
numSegments = 64;
|
||||
numVertSegments = 35;
|
||||
velocity = -1.5;
|
||||
acceleration = 2.0;
|
||||
lifetimeMS = 800;
|
||||
height = 0.1;
|
||||
verticalCurve = 0.5;
|
||||
|
||||
mapToTerrain = false;
|
||||
renderBottom = true;
|
||||
orientToNormal = true;
|
||||
|
||||
texture[0] = "special/shockwave4";
|
||||
texture[1] = "special/droplet";//"special/gradient";
|
||||
texWrap = 8.0;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
|
||||
colors[0] = "0.25 0.12 0.40 0.5";
|
||||
colors[1] = "0.25 0.12 0.40 0.5";
|
||||
colors[2] = "0.4 0.0 0.5 0.0";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Purple Bioderm Blood
|
||||
//==============================================================================
|
||||
datablock ParticleData(PurpleBiodermBloodParticle)
|
||||
{
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = 120.0; // drops quickly
|
||||
inheritedVelFactor = 0;
|
||||
|
||||
lifetimeMS = 1550; // lasts 2 second
|
||||
lifetimeVarianceMS = 300; // ...more or less
|
||||
|
||||
textureName = "snowflake8x8";//"particletest";
|
||||
|
||||
useInvAlpha = true;
|
||||
spinRandomMin = -30.0;
|
||||
spinRandomMax = 30.0;
|
||||
|
||||
colors[0] = "0.25 0.12 0.40 0.5";
|
||||
colors[1] = "0.25 0.12 0.40 0.5";
|
||||
colors[2] = "0.4 0.0 0.5 0.0";
|
||||
|
||||
sizes[0] = 0.2;
|
||||
sizes[1] = 0.05;
|
||||
sizes[2] = 0.05;
|
||||
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.2;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(PurpleBiodermBloodEmitter)
|
||||
{
|
||||
ejectionPeriodMS = 15;
|
||||
periodVarianceMS = 5;
|
||||
|
||||
ejectionVelocity = 1.25;
|
||||
velocityVariance = 0.50;
|
||||
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 90.0;
|
||||
|
||||
particles = "PurpleBiodermBloodParticle";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// purple Bioderm Droplets Particle
|
||||
//==============================================================================
|
||||
datablock ParticleData( PurpleBiodermDropletsParticle )
|
||||
{
|
||||
dragCoefficient = 1;
|
||||
gravityCoefficient = 0.5;
|
||||
inheritedVelFactor = 0.5;
|
||||
constantAcceleration = -0.0;
|
||||
lifetimeMS = 300;
|
||||
lifetimeVarianceMS = 100;
|
||||
textureName = "special/droplet";
|
||||
colors[0] = "0.25 0.12 0.40 0.5";
|
||||
colors[1] = "0.25 0.12 0.40 0.5";
|
||||
colors[2] = "0.4 0.0 0.5 0.0";
|
||||
sizes[0] = 0.8;
|
||||
sizes[1] = 0.3;
|
||||
sizes[2] = 0.0;
|
||||
times[0] = 0.0;
|
||||
times[1] = 0.5;
|
||||
times[2] = 1.0;
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData( PurpleBiodermDropletsEmitter )
|
||||
{
|
||||
ejectionPeriodMS = 27;
|
||||
periodVarianceMS = 21;
|
||||
ejectionVelocity = 2;
|
||||
velocityVariance = 1.0;
|
||||
ejectionOffset = 0.0;
|
||||
thetaMin = 60;
|
||||
thetaMax = 80;
|
||||
phiReferenceVel = 0;
|
||||
phiVariance = 360;
|
||||
overrideAdvances = false;
|
||||
orientParticles = true;
|
||||
particles = "PurpleBiodermDropletsParticle";
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Purple Bioderm Explosion
|
||||
//==============================================================================
|
||||
datablock ExplosionData(PurpleBiodermExplosion)
|
||||
{
|
||||
soundProfile = BloodSplashSound;
|
||||
particleEmitter = PurpleBiodermBloodEmitter;
|
||||
particleDensity = 25;
|
||||
particleRadius = 2.25;
|
||||
faceViewer = true;
|
||||
|
||||
emitter[0] = PurpleBiodermPlayerSplashMistEmitter;
|
||||
emitter[1] = PurpleBiodermDropletsEmitter;
|
||||
shockwave = PurpleBloodHit;
|
||||
};
|
||||
|
||||
datablock GrenadeProjectileData(PurpleBiodermBlood)
|
||||
{
|
||||
projectileShapeName = "turret_muzzlepoint.dts"; //Really small and hard to see
|
||||
emitterDelay = -1;
|
||||
directDamage = 0.0;
|
||||
hasDamageRadius = false;
|
||||
indirectDamage = 0.0;
|
||||
damageRadius = 0.0;
|
||||
radiusDamageType = $DamageType::Default;
|
||||
kickBackStrength = 0;
|
||||
bubbleEmitTime = 1.0;
|
||||
//sound = BloodSplashSound;
|
||||
explosion = PurpleBiodermExplosion;
|
||||
//explodeOnMaxBounce = true;
|
||||
velInheritFactor = 0.5;
|
||||
baseEmitter[0] = PurpleBiodermBloodEmitter;
|
||||
|
||||
grenadeElasticity = 0.4;
|
||||
grenadeFriction = 0.2;
|
||||
armingDelayMS = 100; // was 400
|
||||
muzzleVelocity = 0;
|
||||
drag = 0.1;
|
||||
};
|
||||
|
||||
|
||||
172
scripts/TWM2/ExteriorFunctioning/KillTrigger.cs
Normal file
172
scripts/TWM2/ExteriorFunctioning/KillTrigger.cs
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
datablock TriggerData(deathTrigger) {
|
||||
tickPeriodMS = 1000;
|
||||
};
|
||||
|
||||
function deathTrigger::onEnterTrigger(%data, %obj, %colObj) {
|
||||
if(%colObj == game.Bomb) {
|
||||
MessageAll('msgWhoops', "\c5SABOTAGE: Bomb Reset.");
|
||||
Game.bomb.setPosition($SabotageGame::BombLocation[$CurrentMission]);
|
||||
|
||||
}
|
||||
if(!isObject(%colObj) || %colObj.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
%colObj.setInvinc(false);
|
||||
%colObj.scriptkill($DamageType::FellOff);
|
||||
}
|
||||
function deathTrigger::onLeaveTrigger(%data, %obj, %colObj) {
|
||||
//Nothing
|
||||
}
|
||||
|
||||
function deathTrigger::onTickTrigger(%data, %obj, %colObj) {
|
||||
//Nothing
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
datablock TriggerData(TransTrigger) {
|
||||
tickPeriodMS = 1000;
|
||||
};
|
||||
//--------------------------------
|
||||
function TransTrigger::onEnterTrigger(%data, %obj, %colObj)
|
||||
{
|
||||
if(!isObject(%colObj) || %colObj.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if($CurrentMission $= "SideSwipe") {//<<Add map .mis file name here
|
||||
$PositionCount = 3;
|
||||
$Position[0] = "-82.2 -286.5 354";
|
||||
$Position[1] = "6.16 -196.2 395";
|
||||
$Position[2] = "-81.3 -95.7 354";
|
||||
}
|
||||
else if($CurrentMission $= "EngelamHimmel")//<<Add map .mis file name here
|
||||
{
|
||||
$PositionCount = 20;
|
||||
$Position[0] = "-85 1 252";//<<Add [X] [Y] [Z] coordinates from the map
|
||||
$Position[1] = "40 37 182";
|
||||
$Position[2] = "-43 -10.1 182";
|
||||
$Position[3] = "-153 34 182";
|
||||
$Position[4] = "-240 -1 182";
|
||||
$Position[5] = "-101 3 182";
|
||||
$Position[6] = "-100 -136 182";
|
||||
$Position[7] = "-100 125 182";
|
||||
$Position[8] = "139 16 182";
|
||||
$Position[9] = "-337 17 182";
|
||||
$Position[10] = "-114 1 252";
|
||||
$Position[11] = "56 -5 182";
|
||||
$Position[12] = "-101 15 182";
|
||||
$Position[13] = "-229 34 182";
|
||||
$Position[14] = "-170 -1 182";
|
||||
$Position[15] = "-101 -30 182";
|
||||
$Position[16] = "-100 -65 182";
|
||||
$Position[17] = "-101 83 182";
|
||||
$Position[18] = "98 10 182";
|
||||
$Position[19] = "-297 23 182";
|
||||
}
|
||||
else
|
||||
{
|
||||
messageclient(%colObj.client,'MsgClient', "\c0No map coordinates found on "@$Host::Map@".");
|
||||
%colObj.noPos = 1;
|
||||
return;
|
||||
}
|
||||
%TargPos = $Position[mFloor(getRandom() * $PositionCount)];//This gets a random target position from the list(s) above
|
||||
%colObj.setTransform(%TargPos);//moves the colliding object(the player) to the target position
|
||||
}
|
||||
function TransTrigger::onLeaveTrigger(%data, %obj, %colObj)
|
||||
{
|
||||
if(!isObject(%colObj) || %colObj.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
if(%colObj.noPos)
|
||||
{
|
||||
//%colObj.scriptkill($DamageType::KillTrig);
|
||||
%colObj.noPos = 0;
|
||||
}
|
||||
else return;
|
||||
}
|
||||
function TransTrigger::onTickTrigger(%data, %obj, %colObj) {
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
datablock TriggerData(invincDisableTrigger) {
|
||||
tickPeriodMS = 1000;
|
||||
};
|
||||
|
||||
function invincDisableTrigger::onEnterTrigger(%data, %obj, %colObj) {
|
||||
if(!isObject(%colObj) || %colObj.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
bottomPrint(%colObj.client, "You are no longer invincible...", 2, 2);
|
||||
%colObj.setInvinc(false);
|
||||
}
|
||||
function invincDisableTrigger::onLeaveTrigger(%data, %obj, %colObj) {
|
||||
//Nothing
|
||||
}
|
||||
|
||||
function invincDisableTrigger::onTickTrigger(%data, %obj, %colObj) {
|
||||
//Nothing
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
datablock TriggerData(MissionEndTrigger) {
|
||||
tickPeriodMS = 1000;
|
||||
};
|
||||
|
||||
function MissionEndTrigger::onEnterTrigger(%data, %obj, %colObj) {
|
||||
CompleteMission(TWM2Mission);
|
||||
}
|
||||
function MissionEndTrigger::onLeaveTrigger(%data, %obj, %colObj) {
|
||||
//Nothing
|
||||
}
|
||||
|
||||
function MissionEndTrigger::onTickTrigger(%data, %obj, %colObj) {
|
||||
//Nothing
|
||||
}
|
||||
457
scripts/TWM2/ExteriorFunctioning/PconFunctions.cs
Normal file
457
scripts/TWM2/ExteriorFunctioning/PconFunctions.cs
Normal file
|
|
@ -0,0 +1,457 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////// PCON FUNCTIONS V.1.7 (Phantatron) ///
|
||||
////////////////// Yep, same functions from pcon ///
|
||||
////////////////// Script By: Phantom139 ///
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
$host::Nobots = 1; //hosts can disable this option to spawn bots
|
||||
|
||||
//returns a date integer in this format: yyyymmdd
|
||||
function ServerReturnMonthDate() {
|
||||
%Current = ""@formattimestring("mm dd")@"";
|
||||
%Month = getWord(%Current, 0);
|
||||
%Day = getWord(%Current, 1);
|
||||
%IntVal = ""@%Month@""@%Day@"";
|
||||
// echo(%IntVal);
|
||||
return %IntVal;
|
||||
}
|
||||
|
||||
function ServerReturnDate() {
|
||||
%Current = ""@formattimestring("yy mm dd")@"";
|
||||
%year = getWord(%Current, 0);
|
||||
%Month = getWord(%Current, 1);
|
||||
%Day = getWord(%Current, 2);
|
||||
%IntVal = ""@%year@""@%Month@""@%Day@"";
|
||||
// echo(%IntVal);
|
||||
return %IntVal;
|
||||
}
|
||||
|
||||
function DownloadBanList() {
|
||||
if($Host::UseGlobalBanList) {
|
||||
$Phantom::BanCount = 0;
|
||||
%server = "www.phantomdev.net:80";
|
||||
if (!isObject(BanGet))
|
||||
%Downloader = new HTTPObject(BanGet){};
|
||||
else %Downloader = BanGet;
|
||||
%filename = "/Tribes2/Bans.txt";
|
||||
%Downloader.get(%server, %filename);
|
||||
Error("SERVER: Downloading Global Ban List From PGD.com");
|
||||
}
|
||||
else {
|
||||
Error("$Host::UseGlobalBanList is 0, G-Ban List Off");
|
||||
}
|
||||
}
|
||||
|
||||
function BanGet::onLine(%this, %line) {
|
||||
AddToGlobalBanList(%line);
|
||||
}
|
||||
|
||||
function AddToGlobalBanList(%line) {
|
||||
%line = detag( %line );
|
||||
%text = (%text $= "") ? %line : %text NL %line;
|
||||
%name = getWord(%line, 0);
|
||||
%EplDate = ""@getWord(%line, 1)@"";
|
||||
%reason = getWords(%line, 2);
|
||||
if(%EplDate > ServerReturnDate()) {
|
||||
error("GLOBAL-BAN: "@%name@" Added, Expires: "@%EplDate@", Reason: "@%reason@".");
|
||||
$Phantom::GlobalBanList[$Phantom::BanCount] = ""@%name@" "@%EplDate@" "@%reason@"";
|
||||
$Phantom::BanCount++;
|
||||
}
|
||||
else {
|
||||
error("GLOBAL-BAN: "@%name@", This ban has Expired, Not added to list.");
|
||||
}
|
||||
}
|
||||
|
||||
function BanGet::onConnectFailed() {
|
||||
echo("-- Could not connect to PGD.");
|
||||
echo("Please Call DownloadBanList(); To Protect your server");
|
||||
}
|
||||
|
||||
function BanGet::onDisconnect(%this) {
|
||||
%this.delete();
|
||||
}
|
||||
|
||||
function CheckBans(%client) {
|
||||
for(%i= 0; %i < $Phantom::BanCount; %i++) {
|
||||
%nametotest = getWord($Phantom::GlobalBanList[%i], 0);
|
||||
%target = plnametocid(%nametotest);
|
||||
if(%target != 0) {
|
||||
%EplDate = getWord($Phantom::GlobalBanList[%i], 1);
|
||||
if(%EplDate > ServerReturnDate()) {
|
||||
%reason = getWords($Phantom::GlobalBanList[%i], 2);
|
||||
banthesucker(%target, %reason, %EplDate);
|
||||
}
|
||||
else {
|
||||
echo(""@getTaggedString(%client.name)@" is on the ban list, but the duration has expired");
|
||||
}
|
||||
}
|
||||
else {
|
||||
//Do Nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function banthesucker(%client, %reason, %lengString) {
|
||||
if($Host::UseGlobalBanList) {
|
||||
echo("Global-Banned Client "@%client.namebase@" Attempting to Connect");
|
||||
MessageAll('Message', "\c2"@%client.namebase@" is Banned Until "@%lengString@" - "@%reason@".");
|
||||
if(%lengString > 90000000) {
|
||||
ban(%client);
|
||||
%client.setDisconnectReason( "You are Perm. Banned From This Server, "@%reason@"" );
|
||||
$HostGamePlayerCount = ClientGroup.getCount();
|
||||
return;
|
||||
}
|
||||
ban(%client);
|
||||
%client.setDisconnectReason( "You are G-Banned Until "@%lengString@", "@%reason@"" );
|
||||
$HostGamePlayerCount = ClientGroup.getCount();
|
||||
}
|
||||
else {
|
||||
echo("Global-Banned Client "@%client.namebase@" Permitted connect - $Host::UseGlobalBanList is 0");
|
||||
MessageAll('Message', "\c2Global Banned Client: "@%client.namebase@" Permitted Access, $Host::UseGlobalBanList is 0.");
|
||||
}
|
||||
}
|
||||
|
||||
DownloadBanList(); //download the list
|
||||
package ServerRunFunctioning {
|
||||
function GameConnection::onConnect(%client, %name, %raceGender, %skin, %voice, %voicePitch) {
|
||||
parent::onConnect(%client, %name, %raceGender, %skin, %voice, %voicePitch);
|
||||
checkBans(%client);
|
||||
}
|
||||
};
|
||||
activatePackage(ServerRunFunctioning);
|
||||
//////////
|
||||
|
||||
function spawnprojectile(%proj,%type,%pos,%direction,%src) {
|
||||
if(%src $= "" || !%src) {
|
||||
%src = "";
|
||||
}
|
||||
%p = new (%type)() {
|
||||
dataBlock = %proj;
|
||||
initialDirection = %direction;
|
||||
initialPosition = %pos;
|
||||
damageFactor = 1;
|
||||
sourceObject = %src;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
//%p.sourceObject = %src; //fun fun
|
||||
return %p;
|
||||
}
|
||||
|
||||
function spawnprojectileSourceMod(%proj,%type,%pos,%direction,%src) {
|
||||
if(%src $= "" || !%src) {
|
||||
%src = "";
|
||||
}
|
||||
%p = new (%type)() {
|
||||
dataBlock = %proj;
|
||||
initialDirection = %direction;
|
||||
initialPosition = %pos;
|
||||
damageFactor = 1;
|
||||
//sourceObject = %src;
|
||||
};
|
||||
MissionCleanup.add(%p);
|
||||
%p.sourceObject = %src; //fun fun
|
||||
return %p;
|
||||
}
|
||||
|
||||
///-------------------------------------------------------------------------------
|
||||
///-------------------------------------------------------------------------------
|
||||
//--- Object Commanding
|
||||
function RenameObject(%Obj)
|
||||
{
|
||||
if (%className $= "Generator" || %className $= "Switch"){
|
||||
%obj.nametag = %args;
|
||||
%freq = %obj.powerfreq;
|
||||
setTargetName(%obj.target,addTaggedString("\c8"@%args@"\c6 Frequency "@%freq));
|
||||
return;
|
||||
}
|
||||
|
||||
else if (%className $= "teleport"){
|
||||
%freq = %obj.Frequency;
|
||||
%obj.nametag = %args;
|
||||
setTargetName(%obj.target,addTaggedString("\c8"@%args@"\c6 Frequency "@%freq));
|
||||
return;
|
||||
}
|
||||
else if (%className $= "waypoint"){
|
||||
%obj.wp.schedule(10, "delete");
|
||||
%waypoint = new (WayPoint)(){
|
||||
dataBlock = WayPointMarker;
|
||||
position = %obj.getPosition();
|
||||
name = %args;
|
||||
scale = "0.1 0.1 0.1";
|
||||
team = getRandom(0,2);
|
||||
};
|
||||
MissionCleanup.add(%waypoint);
|
||||
%obj.wp=%waypoint;
|
||||
return;
|
||||
}
|
||||
else
|
||||
setTargetName(%obj.target,addTaggedString("\c8"@%args@"\c6"));
|
||||
}
|
||||
|
||||
//--- Various Kill Commands and Kill Functions in The Mod
|
||||
function KillClientByType(%client,%type)
|
||||
{
|
||||
if(%type==1){ //Kill Client
|
||||
%client.player.scriptkill($DamageType::Admin);
|
||||
}
|
||||
else if(%type==2){ //Blow Up Client
|
||||
%client.player.blowup();
|
||||
%client.player.scriptkill($DamageType::Admin);
|
||||
}
|
||||
else if(%type==3){ //Nuke Client
|
||||
BunkerBusterball::onExplode("" ,"",%client.player.position);
|
||||
}
|
||||
else if(%type==4){ //3 Second Storm
|
||||
%zap= new Lightning(Lightning)
|
||||
{
|
||||
position = %client.player.position;
|
||||
rotation = "1 0 0 0";
|
||||
scale = "55 55 100";
|
||||
dataBlock = "DefaultStorm";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
strikesPerMinute = "500";
|
||||
strikeWidth = "2.5";
|
||||
chanceToHitTarget = "100";
|
||||
strikeRadius = "10";
|
||||
boltStartRadius = "20"; //altitude the lightning starts from
|
||||
color = "0.314961 1.000000 0.576000 1.000000";
|
||||
fadeColor = "0.560000 0.860000 0.260000 1.000000";
|
||||
useFog = "1";
|
||||
shouldCloak = 0;
|
||||
};
|
||||
%zap.schedule(3000, delete);
|
||||
}
|
||||
else if(%type==5){ //1 Second Violent Shock
|
||||
%shock= new Lightning(Lightning)
|
||||
{
|
||||
position = %target.player.position;
|
||||
rotation = "1 0 0 0";
|
||||
scale = "55 55 4";
|
||||
dataBlock = "DefaultStorm";
|
||||
lockCount = "0";
|
||||
homingCount = "0";
|
||||
strikesPerMinute = "10000";
|
||||
strikeWidth = "2.5";
|
||||
chanceToHitTarget = "100";
|
||||
strikeRadius = "10";
|
||||
boltStartRadius = "1"; //altitude the lightning starts from
|
||||
color = "0.314961 1.000000 0.576000 1.000000";
|
||||
fadeColor = "0.560000 0.860000 0.260000 1.000000";
|
||||
useFog = "1";
|
||||
shouldCloak = 0;
|
||||
};
|
||||
%shock.schedule(1000, delete);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////Defaultgame.cs - Need to fix this
|
||||
// if (%missionTypeId $= "LoadBuildingConf") {
|
||||
// %file = stripChars(%missionDisplayName,":\\/");
|
||||
// %dir = "Buildings/" @ $Phantom::LoadFolder;
|
||||
// if (%file $= "")
|
||||
// return;
|
||||
// else {
|
||||
// if (strStr(%file,"..") != -1)
|
||||
// return;
|
||||
// }
|
||||
// %file = %dir @ %file;
|
||||
// if (isFile(%file) && getSubStr(%file,strLen(%file)-3,3) $= ".cs") {
|
||||
// // Message is sent first, so clients know what happened in case server crashes
|
||||
// messageAll('MsgAdminForce', '\c2The Admin has loaded a building file. \c3(%1)', %file);
|
||||
// compile(%file);
|
||||
// exec(%file);
|
||||
// }
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
function createNewDecoy(%client,%name,%race,%armor,%sex,%enum) {
|
||||
%gun = %client.givingto;
|
||||
if(%enum == 1)
|
||||
%emote = "sitting";
|
||||
else if(%enum == 2)
|
||||
%emote = "standing";
|
||||
//armor
|
||||
if(%race == 1 && %armor == 1 && %sex == 1)
|
||||
%mountimage = LightMaleHumanArmor;
|
||||
else if(%race == 1 && %armor == 2 && %sex == 1)
|
||||
%mountimage = MediumMaleHumanArmor;
|
||||
else if(%race == 1 && %armor == 3 && %sex == 1)
|
||||
%mountimage = HeavyMaleHumanArmor;
|
||||
else if(%race == 1 && %armor == 1 && %sex == 2)
|
||||
%mountimage = LightFemaleHumanArmor;
|
||||
else if(%race == 1 && %armor == 2 && %sex == 2)
|
||||
%mountimage = MediumFemaleHumanArmor;
|
||||
else if(%race == 1 && %armor == 3 && %sex == 2)
|
||||
%mountimage = HeavyFemaleHumanArmor;
|
||||
else if(%race == 2 && %armor == 1 && %sex == 1)
|
||||
%mountimage = LightMaleBiodermArmor;
|
||||
else if(%race == 2 && %armor == 2 && %sex == 1)
|
||||
%mountimage = MediumMaleBiodermArmor;
|
||||
else if(%race == 2 && %armor == 3 && %sex == 1)
|
||||
%mountimage = HeavyMaleBiodermArmor;
|
||||
%objdecoy = new Player()
|
||||
{
|
||||
dataBlock = %mountimage;
|
||||
Position = %client.player.getPosition();
|
||||
};
|
||||
%objdecoy.target = createTarget(%objdecoy, %name, "", "Male1", '', 0, PlayerSensor);
|
||||
setTargetDataBlock(%objdecoy.target, %objdecoy.getDatablock());
|
||||
setTargetSensorData(%objdecoy.target, PlayerSensor);
|
||||
setTargetSensorGroup(%objdecoy.target, 0);
|
||||
setTargetName(%objdecoy.target, addtaggedstring(%name));
|
||||
%objdecoy.setActionThread(%emote,true);
|
||||
%objdecoy.isStatic = true;
|
||||
%client.player.decoy = %objdecoy;
|
||||
%objdecoy.isDecodic = 1;
|
||||
%objdecoy.setTransform(VectorAdd(%client.player.getPosition(),"0 0 0") SPC rot(%client.player));
|
||||
%objdecoy.disableMove(true);
|
||||
}
|
||||
|
||||
function gougeloop(%client) {
|
||||
if(!%client.blinded){
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%client.player.setDamageFlash(1);
|
||||
}
|
||||
schedule(100,0,"gougeloop",%client);
|
||||
}
|
||||
|
||||
//Scream Sound
|
||||
datablock AudioProfile(NightmareScreamSound)
|
||||
{
|
||||
filename = "voice/male1/avo.deathcry_02.wav";
|
||||
description = AudioClose3d;
|
||||
preload = true;
|
||||
};
|
||||
|
||||
function nightmareloop(%causer,%viewer,%type) {
|
||||
if(%type == 1) { //slow drain to death
|
||||
%enum = getRandom(1,5);
|
||||
switch(%enum) {
|
||||
case 1:
|
||||
%emote = "sitting";
|
||||
case 2:
|
||||
%emote = "standing";
|
||||
case 3:
|
||||
%emote = "death3";
|
||||
case 4:
|
||||
%emote = "death2";
|
||||
case 5:
|
||||
%emote = "death4";
|
||||
}
|
||||
if(!isobject(%viewer.player) || %viewer.player.getState() $= "dead") {
|
||||
%viewer.nightmared = 0;
|
||||
return;
|
||||
}
|
||||
if(!isobject(%causer.player) || %causer.player.getState() $= "dead") {
|
||||
%viewer.nightmared = 0;
|
||||
%viewer.player.setMoveState(false);
|
||||
messageclient(%sender, 'MsgClient', '\c2The source of your nightmare has been destroyed.');
|
||||
return;
|
||||
}
|
||||
%viewer.player.setMoveState(true);
|
||||
%viewer.nightmared = 1;
|
||||
%viewer.player.setActionThread(%emote,true);
|
||||
%viewer.player.setWhiteout(1.8);
|
||||
%viewer.player.setDamageFlash(1.5);
|
||||
%causer.player.playShieldEffect("1 1 1");
|
||||
serverPlay3D(NightmareScreamSound, %viewer.player.position);
|
||||
schedule(500,0,"nightmareloop",%causer, %viewer, %type);
|
||||
%viewer.player.damage(0, %viewer.player.position, 0.01, $DamageType::admin);
|
||||
%causer.player.applyRepair(0.01);
|
||||
BottomPrint(%viewer,""@%causer.namebase@"'s Nightmare Is Draining your will to live.",5,1);
|
||||
BottomPrint(%causer,"Your life is being replenished by sucking "@%viewer.namebase@"'s Dream Energy.",5,1);
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/fem1/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/fem2/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/fem3/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/fem4/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/fem5/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/male1/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/male2/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/male3/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/male4/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/male5/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/derm1/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/derm2/avo.deathcry_02.wav");
|
||||
messageclient(%viewer, 'MsgClient', "~wvoice/derm3/avo.deathcry_02.wav");
|
||||
}
|
||||
else if(%type == 2) { // Sleep = death
|
||||
if(!isobject(%viewer.player) || %viewer.player.getState() $= "dead") {
|
||||
%viewer.tirednightmared = 0;
|
||||
return;
|
||||
}
|
||||
if(!%viewer.tirednightmared) {
|
||||
%viewer.Nightmareticks = 0;
|
||||
return;
|
||||
}
|
||||
if(%viewer.nightmareticks $= "") {
|
||||
%viewer.nightmareticks = 0;
|
||||
}
|
||||
%viewer.Nightmareticks++;
|
||||
schedule(500,0,"nightmareloop",%causer, %viewer, %type);
|
||||
if(%viewer.Nightmareticks < 20) {
|
||||
%viewer.player.setWhiteout(0.3);
|
||||
BottomPrint(%viewer,"Something is happening, you suddenly feel tired.",5,1);
|
||||
}
|
||||
else if(%viewer.Nightmareticks >= 20 && %viewer.Nightmareticks < 70) {
|
||||
%viewer.player.setWhiteout(0.5);
|
||||
%viewer.player.damage(0, %viewer.player.position, 0.01, $DamageType::admin); //Maybe they will understand...
|
||||
BottomPrint(%viewer,"You feel really fatigued, and are slowly drifting to sleep.",5,1);
|
||||
}
|
||||
else if(%viewer.Nightmareticks >= 70 && %viewer.Nightmareticks < 100) {
|
||||
%viewer.player.setWhiteout(0.8);
|
||||
%viewer.player.damage(0, %viewer.player.position, 0.02, $DamageType::admin); //Maybe they will understand...
|
||||
CenterPrint(%viewer,"HURRY GET TO THE INVENTORY STATION!!!",5,1);
|
||||
BottomPrint(%viewer,"YOU UNDERSTAND NOW, THIS NIGHTMARE IS GOING TO KILL YOU",5,1);
|
||||
}
|
||||
else if(%viewer.Nightmareticks >= 100) {
|
||||
%viewer.player.setWhiteout(1.8);
|
||||
%viewer.player.damage(0, %viewer.player.position, 100.0, $DamageType::admin);
|
||||
BottomPrint(%viewer,"You fell asleep, and the nightmare killed you.",10,1);
|
||||
}
|
||||
}
|
||||
else if(%type == 3) { //I believe I can fly, I DONT belive in GRAVITY!!!
|
||||
if(!isobject(%viewer.player) || %viewer.player.getState() $= "dead") {
|
||||
%viewer.flynightmared = 0;
|
||||
return;
|
||||
}
|
||||
if(!%viewer.flynightmared) {
|
||||
%viewer.Nightmareticks = 0;
|
||||
return;
|
||||
}
|
||||
if(%viewer.nightmareticks $= "") {
|
||||
%viewer.nightmareticks = 0;
|
||||
}
|
||||
%viewer.Nightmareticks++;
|
||||
schedule(500,0,"nightmareloop",%causer, %viewer, %type);
|
||||
if(%viewer.nightmareticks < 25) {
|
||||
%viewer.player.setVelocity("0 0 300");
|
||||
BottomPrint(%viewer,"WOOOOOOOOOOHOOOOOOO FLYING",5,1);
|
||||
}
|
||||
else if(%viewer.nightmareticks >= 25 && %viewer.nightmareticks < 27) {
|
||||
%viewer.player.setVelocity("0 0 -300");
|
||||
BottomPrint(%viewer,"Oh s***!!!!!",5,1);
|
||||
}
|
||||
else if(%viewer.nightmareticks > 27) {
|
||||
CenterPrint(%viewer,"Only now you realized that even Nightmares... Are Real.",10,1);
|
||||
%viewer.flynightmared = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function LockCLLoop(%client) {
|
||||
if(!%client.cllock) {
|
||||
%client.notReady = false;
|
||||
%client.camera.getDataBlock().setMode( %client.camera, "observer", %client.player );
|
||||
%client.setControlObject( %client.player );
|
||||
return;
|
||||
}
|
||||
%client.notReady = true;
|
||||
%client.camera.getDataBlock().setMode( %client.camera, "pre-game", %client.player );
|
||||
%client.setControlObject( %client.camera );
|
||||
CenterPrint(%client,"Your Soul is gone, Please Press Alt+F4 To Exit the game.",1,1);
|
||||
schedule(1000,0,"LockCLLoop",%client);
|
||||
}
|
||||
62
scripts/TWM2/ExteriorFunctioning/ProtPatch.cs
Normal file
62
scripts/TWM2/ExteriorFunctioning/ProtPatch.cs
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
// A lil' sumthin' by Alviss
|
||||
// 05/06/09
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// A simple patch meant for CCM and it's variants.
|
||||
// The patch will keep Zombies from infecting and hurting repawning players
|
||||
// and keep respawning players from doing damage to other players
|
||||
// under the protection of respawn cloaking/invincibility
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// if you want people to be able to shoot while respawn-invincible,
|
||||
// put:
|
||||
// $Host::NoSpawnShooting = false;
|
||||
// into your console
|
||||
|
||||
if ($Host::NoSpawnShooting $= "")
|
||||
$Host::NoSpawnShooting = true;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package SimpCCMPatch
|
||||
{
|
||||
// Where the infecting business happens
|
||||
function Armor::onCollision(%this,%obj,%col,%forceVehicleNode)
|
||||
{
|
||||
// if the colliding object is a zombie and you're respawning
|
||||
if ((%col.IsZombie) && %obj.respawnCloakThread !$= "")
|
||||
return; // you'll be safe.
|
||||
|
||||
Parent::onCollision(%this,%obj,%col,%forceVehicleNode);
|
||||
}
|
||||
|
||||
// Where shooting damage happens
|
||||
function ShapeBase::damage(%this, %sourceObject, %position, %amount, %damageType)
|
||||
{
|
||||
// if the variable is active
|
||||
if ($Host::SpawnShooting)
|
||||
{
|
||||
// if all the parties check out
|
||||
if (isObject(%sourceObject) && %this.isEnabled() && (!%this.isZombie))
|
||||
{
|
||||
// if the client just respawned
|
||||
if (%sourceObject.respawnCloakThread !$= "")
|
||||
{
|
||||
// pull them out of invincibiltiy and stop the damaging process
|
||||
%sourceObject.setInvincible(false);
|
||||
%sourceObject.setRespawnCloakOff();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// continue the routine normally
|
||||
Parent::damage(%this, %sourceObject, %position, %amount, %damageType);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
if (!isActivePackage(SimpCCMPatch)) {
|
||||
echo("Activating CCM Prot Patch");
|
||||
ActivatePackage(SimpCCMPatch);
|
||||
$Host::NoSpawnShooting = true;
|
||||
}
|
||||
742
scripts/TWM2/ExteriorFunctioning/pulsestuff.cs
Normal file
742
scripts/TWM2/ExteriorFunctioning/pulsestuff.cs
Normal file
|
|
@ -0,0 +1,742 @@
|
|||
datablock ShockwaveData(BaseShockWave) {
|
||||
className = "ShockwaveData";
|
||||
scale = "1 1 1";
|
||||
delayMS = "0";
|
||||
delayVariance = "0";
|
||||
lifetimeMS = "12000";
|
||||
lifetimeVariance = "0";
|
||||
width = "5";
|
||||
numSegments = "20";
|
||||
numVertSegments = "10";
|
||||
velocity = "-30";
|
||||
height = "20";
|
||||
verticalCurve = "5";
|
||||
acceleration = "5";
|
||||
times[0] = "0";
|
||||
times[1] = "0.5";
|
||||
times[2] = "1";
|
||||
times[3] = "1";
|
||||
colors[0] = "0.000000 0.000000 0.500000 0.100000"; //1.0 0.9 0.9
|
||||
colors[1] = "0.500000 0.500000 1.000000 1.000000"; //0.6 0.6 0.6
|
||||
colors[2] = "0.500000 0.500000 1.000000 0.100000"; //0.6 0.6 0.6
|
||||
colors[3] = "1.000000 1.000000 1.000000 1.000000";
|
||||
texture[0] = "special/shockwave4";
|
||||
texture[1] = "special/gradient";
|
||||
texWrap = "7";
|
||||
is2D = "0";
|
||||
mapToTerrain = "0";
|
||||
orientToNormal = "1";
|
||||
renderBottom = "1";
|
||||
renderSquare = "0";
|
||||
};
|
||||
|
||||
datablock ExplosionData(BaseExplosion)
|
||||
{
|
||||
className = "ExplosionData";
|
||||
particleDensity = "10";
|
||||
particleRadius = "1";
|
||||
explosionScale = "1 1 1";
|
||||
playSpeed = "1";
|
||||
Shockwave = "BaseShockWave";
|
||||
shockwaveOnTerrain = "0";
|
||||
lifetimeMS = "1000";
|
||||
};
|
||||
|
||||
datablock TracerProjectileData(BaseProjectile) {
|
||||
className = "TracerProjectileData";
|
||||
Explosion = "BaseExplosion";
|
||||
dryVelocity = "0.1";
|
||||
wetVelocity = "0.1";
|
||||
fizzleTimeMS = "32";
|
||||
lifetimeMS = "32";
|
||||
explodeOnDeath = "1";
|
||||
crossSize = "0.1";
|
||||
renderCross = "0";
|
||||
isFXUnit = "1";
|
||||
};
|
||||
|
||||
function shockwave(%pos,%nrm,%dat)
|
||||
{
|
||||
if (%dat $= "")
|
||||
%dat = BaseProjectile;
|
||||
|
||||
%p1 = new TracerProjectile()
|
||||
{
|
||||
dataBlock = %dat;
|
||||
initialDirection = %nrm;
|
||||
initialPosition = %pos;
|
||||
};
|
||||
}
|
||||
|
||||
//Shockwaves
|
||||
|
||||
datablock ShockwaveData(RepairWave) {
|
||||
className = "ShockwaveData";
|
||||
scale = "1 1 1";
|
||||
delayMS = "0";
|
||||
delayVariance = "0";
|
||||
lifetimeMS = "10000";
|
||||
lifetimeVariance = "0";
|
||||
width = "1";
|
||||
numSegments = "60";
|
||||
numVertSegments = "30";
|
||||
velocity = "10";
|
||||
height = "20";
|
||||
verticalCurve = "5";
|
||||
acceleration = "1";
|
||||
times[0] = "0";
|
||||
times[1] = "0.25";
|
||||
times[2] = "0.9";
|
||||
times[3] = "1";
|
||||
colors[0] = "1.000000 0.200000 0.200000 1.000000"; //1.0 0.9 0.9
|
||||
colors[1] = "1.000000 0.200000 0.200000 1.000000"; //0.6 0.6 0.6
|
||||
colors[2] = "1.000000 0.200000 0.200000 1.000000"; //0.6 0.6 0.6
|
||||
colors[3] = "1.000000 0.200000 0.200000 0.000000";
|
||||
texture[0] = "special/redbump2";
|
||||
texture[1] = "special/shockwave4"; //gradient";
|
||||
texWrap = "1";
|
||||
is2D = "0";
|
||||
mapToTerrain = "0";
|
||||
orientToNormal = "1";
|
||||
renderBottom = "1";
|
||||
renderSquare = "0";
|
||||
};
|
||||
|
||||
datablock ShockwaveData(CloakWave):RepairWave
|
||||
{
|
||||
colors[0] = "1 1 1 1";
|
||||
colors[1] = "1 1 1 1";
|
||||
colors[2] = "1 1 1 1";
|
||||
colors[3] = "1 1 1 0";
|
||||
texture[0] = "special/cloakTexture";
|
||||
texture[1] = "special/shockwave4";
|
||||
texWrap = "5";
|
||||
};
|
||||
|
||||
datablock ShockwaveData(DisWave):RepairWave
|
||||
{
|
||||
colors[0] = "0.2 0.2 1 1";
|
||||
colors[1] = "0.2 0.2 1 1";
|
||||
colors[2] = "0.2 0.2 1 1";
|
||||
colors[3] = "0.2 0.2 1 0";
|
||||
texture[0] = "special/shockwave5";
|
||||
texture[1] = "special/shockwave4";
|
||||
texWrap = "1";
|
||||
};
|
||||
|
||||
datablock ShockwaveData(EspWave):RepairWave
|
||||
{
|
||||
colors[0] = "0.8 0.2 1 1";
|
||||
colors[1] = "0.8 0.2 1 1";
|
||||
colors[2] = "0.8 0.2 1 1";
|
||||
colors[3] = "0.8 0.2 1 0";
|
||||
texture[0] = "special/shockwave5";
|
||||
texture[1] = "special/shockwave4";
|
||||
texWrap = "1";
|
||||
};
|
||||
|
||||
datablock ShockwaveData(MORWave):RepairWave
|
||||
{
|
||||
colors[0] = "0.8 1 0.2 1";
|
||||
colors[1] = "0.8 1 0.2 1";
|
||||
colors[2] = "0.8 1 0.2 1";
|
||||
colors[3] = "0.8 1 0.2 0";
|
||||
texture[0] = "special/shockwave5";
|
||||
texture[1] = "special/shockwave4";
|
||||
texWrap = "1";
|
||||
};
|
||||
|
||||
datablock ShockwaveData(KillWave):RepairWave {
|
||||
className = "ShockwaveData";
|
||||
scale = "1 1 1";
|
||||
delayMS = "0";
|
||||
delayVariance = "0";
|
||||
lifetimeMS = "30000";
|
||||
lifetimeVariance = "0";
|
||||
width = "1";
|
||||
numSegments = "60";
|
||||
numVertSegments = "30";
|
||||
velocity = "10";
|
||||
height = "20";
|
||||
verticalCurve = "5";
|
||||
acceleration = "5";
|
||||
times[0] = "0";
|
||||
times[1] = "0.25";
|
||||
times[2] = "0.9";
|
||||
times[3] = "1";
|
||||
colors[0] = "1.000000 0.600000 0.200000 1.000000"; //1.0 0.9 0.9
|
||||
colors[1] = "1.000000 0.600000 0.200000 1.000000"; //0.6 0.6 0.6
|
||||
colors[2] = "1.000000 0.600000 0.200000 1.000000"; //0.6 0.6 0.6
|
||||
colors[3] = "1.000000 0.600000 0.200000 0.000000";
|
||||
texture[0] = "terraintiles/molten1";
|
||||
texture[1] = "special/shockwave4"; //gradient";
|
||||
texWrap = "1";
|
||||
is2D = "0";
|
||||
mapToTerrain = "0";
|
||||
orientToNormal = "1";
|
||||
renderBottom = "1";
|
||||
renderSquare = "0";
|
||||
};
|
||||
|
||||
//Emitters
|
||||
|
||||
datablock ParticleData(RepairWave_P)
|
||||
{
|
||||
dragCoeffiecient = 0.0;
|
||||
gravityCoefficient = 0.0;
|
||||
inheritedVelFactor = 0.0;
|
||||
|
||||
lifetimeMS = 10000;
|
||||
lifetimeVarianceMS = 0;
|
||||
constantAcceleration = 0.1;
|
||||
|
||||
spinRandomMin = -30.0;
|
||||
spinRandomMax = 30.0;
|
||||
windcoefficient = 0;
|
||||
textureName = "special/redflare";
|
||||
|
||||
colors[0] = "1 0.2 0.2 1";
|
||||
colors[1] = "1 0.2 0.2 1";
|
||||
colors[2] = "1 0.2 0.2 1";
|
||||
colors[3] = "1 0.2 0.2 0";
|
||||
|
||||
sizes[0] = 1;
|
||||
sizes[1] = 2;
|
||||
sizes[2] = 4;
|
||||
sizes[3] = 5;
|
||||
|
||||
times[0] = "0";
|
||||
times[1] = "0.25";
|
||||
times[2] = "0.9";
|
||||
times[3] = "1";
|
||||
|
||||
};
|
||||
|
||||
datablock ParticleData(CloakWave_P):RepairWave_P
|
||||
{
|
||||
textureName = "flarebase";
|
||||
constantAcceleration = 0.1;
|
||||
colors[0] = "1 1 1 1";
|
||||
colors[1] = "1 1 1 1";
|
||||
colors[2] = "1 1 1 1";
|
||||
colors[3] = "1 1 1 0";
|
||||
};
|
||||
|
||||
datablock ParticleData(DISWave_P):RepairWave_P
|
||||
{
|
||||
textureName = "flarebase";
|
||||
constantAcceleration = 0.1;
|
||||
colors[0] = "0.2 0.2 1 1";
|
||||
colors[1] = "0.2 0.2 1 1";
|
||||
colors[2] = "0.2 0.2 1 1";
|
||||
colors[3] = "0.2 0.2 1 0";
|
||||
};
|
||||
|
||||
datablock ParticleData(ESPWave_P):RepairWave_P
|
||||
{
|
||||
textureName = "flarebase";
|
||||
constantAcceleration = 0.1;
|
||||
colors[0] = "0.8 0.2 1 1";
|
||||
colors[1] = "0.8 0.2 1 1";
|
||||
colors[2] = "0.8 0.2 1 1";
|
||||
colors[3] = "0.8 0.2 1 0";
|
||||
};
|
||||
|
||||
datablock ParticleData(MORWave_P):RepairWave_P
|
||||
{
|
||||
textureName = "flarebase";
|
||||
constantAcceleration = 0.1;
|
||||
colors[0] = "0.8 1 0.2 1";
|
||||
colors[1] = "0.8 1 0.2 1";
|
||||
colors[2] = "0.8 1 0.2 1";
|
||||
colors[3] = "0.8 1 0.2 0";
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(RepairWave_E)
|
||||
{
|
||||
lifetimeMS = 1000;
|
||||
ejectionPeriodMS = 1;
|
||||
periodVarianceMS = 0;
|
||||
|
||||
ejectionVelocity = 10;
|
||||
velocityVariance = 0;
|
||||
ejectionoffset = 5;
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 180.0;
|
||||
|
||||
phiReferenceVel = "0";
|
||||
phiVariance = "360";
|
||||
orientParticles = false;
|
||||
orientOnVelocity = false;
|
||||
|
||||
particles = "RepairWave_P";
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(CLOAKWave_E):RepairWave_E
|
||||
{
|
||||
lifetimeMS = 1000;
|
||||
ejectionPeriodMS = 1;
|
||||
ejectionVelocity = 10;
|
||||
ejectionoffset = 5;
|
||||
velocityVariance = 0;
|
||||
particles = "CloakWave_P";
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 180.0;
|
||||
|
||||
phiReferenceVel = "0";
|
||||
phiVariance = "360";
|
||||
};
|
||||
|
||||
datablock ParticleEmitterData(DISWave_E):RepairWave_E
|
||||
{
|
||||
lifetimeMS = 1000;
|
||||
ejectionPeriodMS = 1;
|
||||
ejectionVelocity = 10;
|
||||
ejectionoffset = 5;
|
||||
velocityVariance = 0;
|
||||
particles = "DISWave_P";
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 180.0;
|
||||
|
||||
phiReferenceVel = "0";
|
||||
phiVariance = "360";
|
||||
};
|
||||
|
||||
|
||||
datablock ParticleEmitterData(ESPWave_E):RepairWave_E
|
||||
{
|
||||
lifetimeMS = 1000;
|
||||
ejectionPeriodMS = 1;
|
||||
ejectionVelocity = 10;
|
||||
velocityVariance = 0;
|
||||
ejectionoffset = 5;
|
||||
particles = "ESPWave_P";
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 180.0;
|
||||
|
||||
phiReferenceVel = "0";
|
||||
phiVariance = "360";
|
||||
};
|
||||
|
||||
|
||||
datablock ParticleEmitterData(MORWave_E):RepairWave_E
|
||||
{
|
||||
lifetimeMS = 1000;
|
||||
ejectionPeriodMS = 1;
|
||||
ejectionVelocity = 10;
|
||||
velocityVariance = 0;
|
||||
ejectionoffset = 5;
|
||||
particles = "MORWave_P";
|
||||
thetaMin = 0.0;
|
||||
thetaMax = 180.0;
|
||||
|
||||
phiReferenceVel = "0";
|
||||
phiVariance = "360";
|
||||
};
|
||||
|
||||
|
||||
datablock ExplosionData(RepairPulseExplosion):BaseExplosion //From blast.cs
|
||||
{
|
||||
emitter[0] = "RepairWave_E";
|
||||
Shockwave = "RepairWave";
|
||||
};
|
||||
|
||||
|
||||
datablock ExplosionData(CloakPulseExplosion):BaseExplosion //From blast.cs
|
||||
{
|
||||
emitter[0] = "CloakWave_E";
|
||||
Shockwave = "CloakWave";
|
||||
};
|
||||
|
||||
datablock ExplosionData(DisPulseExplosion):BaseExplosion //From blast.cs
|
||||
{
|
||||
emitter[0] = "DISWave_E";
|
||||
Shockwave = "DisWave";
|
||||
};
|
||||
|
||||
datablock ExplosionData(ESPPulseExplosion):BaseExplosion //From blast.cs
|
||||
{
|
||||
emitter[0] = "ESPWave_E";
|
||||
Shockwave = "ESPWave";
|
||||
};
|
||||
|
||||
datablock ExplosionData(KillPulseExplosion):BaseExplosion //From blast.cs
|
||||
{
|
||||
emitter[0] = "ESPWave_E";
|
||||
Shockwave = "KillWave";
|
||||
};
|
||||
|
||||
datablock ExplosionData(MORPulseExplosion):BaseExplosion //From blast.cs
|
||||
{
|
||||
emitter[0] = "MORWave_E";
|
||||
Shockwave = "MORWave";
|
||||
};
|
||||
|
||||
datablock TracerProjectileData(RepairPulseProjectile):BaseProjectile
|
||||
{
|
||||
Explosion = "RepairPulseExplosion";
|
||||
};
|
||||
|
||||
datablock TracerProjectileData(CloakPulseProjectile):BaseProjectile
|
||||
{
|
||||
Explosion = "CloakPulseExplosion";
|
||||
};
|
||||
|
||||
datablock TracerProjectileData(DisPulseProjectile):BaseProjectile
|
||||
{
|
||||
Explosion = "DisPulseExplosion";
|
||||
};
|
||||
|
||||
datablock TracerProjectileData(ESPPulseProjectile):BaseProjectile
|
||||
{
|
||||
Explosion = "ESPPulseExplosion";
|
||||
};
|
||||
datablock TracerProjectileData(KillPulseProjectile):BaseProjectile
|
||||
{
|
||||
Explosion = "KillPulseExplosion";
|
||||
};
|
||||
|
||||
|
||||
datablock TracerProjectileData(MORPulseProjectile):BaseProjectile
|
||||
{
|
||||
Explosion = "MORPulseExplosion";
|
||||
};
|
||||
|
||||
function Aidpulse(%pos,%owner,%type,%nrm)
|
||||
{
|
||||
schedule(200,0,"Serverplay3D",FlashGrenadeExplosionSound,%pos);
|
||||
%types = "RepairPulseProjectile CloakPulseProjectile DisPulseProjectile ESPPulseProjectile MORPulseProjectile KillPulseProjectile";
|
||||
%proj = GetWord(%types,%type);
|
||||
%nrm = !%nrm ? "0 0 -1" : %nrm;
|
||||
shockwave(%pos,%nrm,%proj);
|
||||
%waveblock = %proj.explosion.shockwave;
|
||||
%accel = %waveblock.acceleration; //accel of wave
|
||||
%speed = %waveblock.velocity; //speed of wave
|
||||
%mtime = %waveblock.lifetimeMS/1000; //time the wave lasts
|
||||
%lastdist = 0;
|
||||
%checks = %mtime/2; //2 per second
|
||||
AidPulseWaved(%pos,%mtime,%speed,%accel,%waveblock,%owner);
|
||||
Cancel(%owner.resetmorphsch);
|
||||
%owner.resetmorphsch = Schedule(%mtime*1000+5000,%owner,"resetmorphsize",%owner);
|
||||
for (%i = 1;%i<20;%i++)
|
||||
{
|
||||
%time = %i/2;
|
||||
%dist = %time*%speed+1/2 * mPow(%time,2)*%accel+10;
|
||||
schedule(%time*1000,0,"AidpulseWaver",%pos,%dist,%lastdist-2,%waveblock,%owner);
|
||||
%lastdist = %dist;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function solveadist(%accel,%speed,%dist)
|
||||
{
|
||||
%awn = mSolveQuadratic(%accel/2,%speed,-1*%dist);
|
||||
if (getWord(%awn,0) <0 || getWord(%awn,1) > 0)
|
||||
return 0;
|
||||
else
|
||||
return -1*getWord(%awn,1);
|
||||
}
|
||||
|
||||
function AidPulseWaved(%pos,%time,%speed,%accel,%wave,%owner)
|
||||
{
|
||||
%area = %time*%speed+1/2 * mPow(%time,2)*%accel+10;
|
||||
|
||||
InitContainerRadiusSearch(%pos, %area, $TypeMasks::StaticShapeObjectType | $TypeMasks::ForceFieldObjectType );
|
||||
|
||||
|
||||
while ((%targetObject = containerSearchNext()) != 0)
|
||||
{
|
||||
%dist = containerSearchCurrRadDamageDist();
|
||||
%ttime = solveadist(%accel,%speed,%dist-10);
|
||||
if (%ttime != 0 || %ttime < %time)
|
||||
%wave.schedule(%ttime*1000,"AidEffect",%targetobject,%owner,%pos);
|
||||
}
|
||||
}
|
||||
|
||||
function AidpulseWaver(%pos,%area,%lastar,%wave,%owner)
|
||||
{
|
||||
|
||||
InitContainerRadiusSearch(%pos, %area, $TypeMasks::VehicleObjectType | $TypeMasks::PlayerObjectType |$TypeMasks::ItemObjectType | $TypeMasks::CorpseObjectType );
|
||||
|
||||
|
||||
while ((%targetObject = containerSearchNext()) != 0)
|
||||
{
|
||||
%dist = containerSearchCurrRadDamageDist();
|
||||
|
||||
if (%dist > %area || %dist < %lastar)
|
||||
continue;
|
||||
|
||||
%wave.AidEffect(%targetobject,%owner,%pos);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function RepairWave::AidEffect(%block,%obj,%owner,%pos) {
|
||||
if (!isObject(%obj) || %obj.isforceField())
|
||||
return "";
|
||||
//
|
||||
if(%obj.isPlayer()) {
|
||||
if(%obj.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
%obj.playShieldEffect("1 1 1");
|
||||
%obj.setDamageLevel(0);
|
||||
}
|
||||
|
||||
function KillWave::AidEffect(%block,%obj,%owner,%pos) {
|
||||
if (!isObject(%obj) || %obj.isforceField() || %obj.isBoss)
|
||||
return "";
|
||||
%obj.playShieldEffect("1 1 1");
|
||||
%obj.setInvinc(false);
|
||||
%obj.damage(%owner, %obj.getposition(), 9999, $DamageType::FissionBomb);
|
||||
}
|
||||
|
||||
function CloakWave::AidEffect(%block,%obj,%owner,%pos)
|
||||
{
|
||||
if (!isObject(%obj) || %obj.isforceField())
|
||||
return "";
|
||||
Cancel(%obj.uncloaksch);
|
||||
%obj.setCloaked(True);
|
||||
%obj.uncloaksch = %obj.schedule(60000,"setCloaked",False);
|
||||
}
|
||||
|
||||
function DisWave::AidEffect(%block,%obj,%owner,%Pos)
|
||||
{
|
||||
|
||||
if (%obj.isRemoved || !isObject(%owner) || !isObject(%obj))
|
||||
return;
|
||||
%dataBlockName = %obj.getDataBlock().getName();
|
||||
if (%dataBlockName $= "StationInventory" ||
|
||||
%dataBlockName $= "GeneratorLarge" ||
|
||||
%dataBlockName $= "SolarPanel" ||
|
||||
%dataBlockName $= "SensorMediumPulse" ||
|
||||
%dataBlockName $= "SensorLargePulse")
|
||||
if (%obj.deployed != true)
|
||||
return;
|
||||
if ($reverseDeployItem[%obj.getDataBlock().getName()] $= "")
|
||||
return;
|
||||
if (%obj.team != %owner.team &&
|
||||
!(%owner.isAdmin || %owner.isSuperAdmin))
|
||||
return;
|
||||
if ($Host::OnlyOwnerCascade == 1 &&
|
||||
%obj.getOwner() != %owner &&
|
||||
!(%owner.isAdmin || %owner.isSuperAdmin))
|
||||
return;
|
||||
|
||||
%obj.getDataBlock().disassemble(%owner, %obj); // Run Item Specific code.
|
||||
|
||||
}
|
||||
|
||||
function ESPWave::AidEffect(%block,%obj,%owner,%pos)
|
||||
{
|
||||
if (!isObject(%obj))
|
||||
return "";
|
||||
%hadsch = %obj.uncloacksch ? 1 : 0;
|
||||
Cancel(%obj.uncloaksch);
|
||||
if (!%obj.isforcefield())
|
||||
%obj.setCloaked(FALSE);
|
||||
Cancel(%obj.unemplockschd);
|
||||
if (%obj.isVehicle())
|
||||
vehemplock(%obj);
|
||||
else if (%obj.isPlayer())
|
||||
PlayerEmpLock(%obj);
|
||||
else if (%obj.getDatablock().maxEnergy !$= "")
|
||||
{
|
||||
if (%obj.getDataBlock().className $= "Generator" && %obj.lastState)
|
||||
{
|
||||
if (!%hadsch)
|
||||
toggleGenerator(%obj,0);
|
||||
%obj.unemplockschd = schedule(30000,%obj," toggleGenerator",%obj,0);
|
||||
}
|
||||
%obj.setEnergyLevel(0);
|
||||
}
|
||||
}
|
||||
|
||||
function MORWave::AidEffect(%block,%obj,%owner,%pos)
|
||||
{
|
||||
if (%obj.isRemoved ||
|
||||
!isObject(%owner) ||
|
||||
!isObject(%obj) ||
|
||||
%obj.isPLayer() ||
|
||||
%obj.isVehicle())
|
||||
return;
|
||||
if (!(deployables.isMember(%obj)))
|
||||
return;
|
||||
%dataBlockName = %obj.getDataBlock().getName();
|
||||
if (%dataBlockName $= "StationInventory" ||
|
||||
%dataBlockName $= "GeneratorLarge" ||
|
||||
%dataBlockName $= "SolarPanel" ||
|
||||
%dataBlockName $= "SensorMediumPulse" ||
|
||||
%dataBlockName $= "SensorLargePulse")
|
||||
if (%obj.deployed != true)
|
||||
return;
|
||||
|
||||
if (%obj.team != %owner.team &&
|
||||
!(%owner.isAdmin || %owner.isSuperAdmin))
|
||||
return;
|
||||
if ($Host::OnlyOwnerCascade == 1 &&
|
||||
%obj.getOwner() != %owner &&
|
||||
!(%owner.isAdmin || %owner.isSuperAdmin))
|
||||
return;
|
||||
|
||||
Cancel(%obj.unmorphsch);
|
||||
%obj.unmorphsch = Schedule(30000,%obj,"ResetMorphObject",%obj);
|
||||
if (%obj.morphed)
|
||||
return;
|
||||
|
||||
%obj.oldcenter = %obj.getEdge("0 0 0");
|
||||
%obj.oldrealsize = %obj.getrealSize();
|
||||
%obj.morphed = 1;
|
||||
|
||||
%size = %owner.morphpulsesize ? %owner.morphpulsesize : 0.1;
|
||||
%scale = VectorScale("1 1 1",%size);
|
||||
%offset = VectorMultiply(VectorSub(%obj.getEdge("0 0 0"),%pos),%scale);
|
||||
%obj.setRealSize(VectorMultiply(%obj.getRealSize(),%scale));
|
||||
%obj.setEdge(VectorAdd(%pos,%offset),"0 0 0");
|
||||
if (!%obj.isforcefield())
|
||||
%obj.startfade(500,0,0);
|
||||
if (isObject(%obj.pzone))
|
||||
{
|
||||
%obj.pzone.setScale(%Obj.getScale);
|
||||
%obj.pzone.setTransform(%obj.getTransform());
|
||||
}
|
||||
if (isObject(%obj.emitter))
|
||||
{
|
||||
%obj.emitter.oldsize = %obj.getScale();
|
||||
%obj.emitter.setScale(VectorScale(%obj.emitter.getScale(),%size));
|
||||
%obj.emitter.setTransform(%obj.getTransform());
|
||||
}
|
||||
if (isObject(%obj.trigger))
|
||||
{
|
||||
%obj.trigger.oldsize = %obj.getScale();
|
||||
%obj.trigger.setScale(VectorScale(%obj.trigger.getScale(),%size));
|
||||
%obj.trigger.setTransform(%obj.getTransform());
|
||||
}
|
||||
}
|
||||
|
||||
//ESP functions
|
||||
|
||||
function vehemplock(%vehicle)
|
||||
{
|
||||
Cancel(%vehicle.unemplockschd);
|
||||
Cancel(%vehicle.lockff.unemplockschd);
|
||||
%vehicle.setFrozenState(true);
|
||||
%vehicle.zapObject();
|
||||
forceFieldLock(%vehicle);
|
||||
%vehicle.unemplockschd = Schedule(30000,%vehicle,"vehUnEmpLock",%vehicle);
|
||||
%vehicle.lockff.unemplockschd = %vehicle.lockff.Schedule(30000,"delete");
|
||||
}
|
||||
|
||||
function vehUnEmpLock(%vehicle)
|
||||
{
|
||||
Cancel(%vehicle.unemplockschd);
|
||||
Cancel(%vehicle.lockff.unemplockschd);
|
||||
%vehicle.lockff.delete();
|
||||
%vehicle.setFrozenState(false);
|
||||
}
|
||||
|
||||
function PlayerEmpLock(%player) {
|
||||
Cancel(%player.unemplockschd);
|
||||
Cancel(%player.lockff.unemplockschd);
|
||||
Cancel(%player.lock.unemplockschd);
|
||||
if (!%player.isemped) {
|
||||
%lock = new StaticShape() {
|
||||
dataBlock = SelectionPad;
|
||||
scale = "0.01 0.01 0.01";
|
||||
};
|
||||
%lock.startFade(0,0,1);
|
||||
%vec = VectorNormalize(%player.getVelocity());
|
||||
%vec = (VectorLen(%vec)>0.1) ? %vec : "0 0 1";
|
||||
%center = %player.getEdge("0 0 0");
|
||||
%rot = fullrot(%vec,VectorCross(%player.getEyeVector(),%vec));
|
||||
%player.setTransform(%player.getEdge("0 0 -1") SPC %rot);
|
||||
%player.setEdge(%center,"0 0 0");
|
||||
%lock.setTransform(getWords(%player.getTransform(),0,2) SPC %rot);
|
||||
%lock.mountObject(%player,0);
|
||||
%lock.player = %player;
|
||||
%player.emplock = %lock;
|
||||
%player.isemped = 1;
|
||||
%player.zapObject();
|
||||
%ff = forceFieldLock(%player);
|
||||
}
|
||||
%player.unemplockschd = Schedule(30000,%player,"PlayerUnEmpLock",%player);
|
||||
if (isObject(%player.lock))
|
||||
%player.lock.unemplockschd = %player.lock.Schedule(30000,"delete");
|
||||
if (isObject(%player.lockff))
|
||||
%player.lockff.unemplockschd = %player.lockff.Schedule(30000,"delete");
|
||||
if(!isObject(%ff)) {
|
||||
return "";
|
||||
}
|
||||
return %ff;
|
||||
}
|
||||
|
||||
function PlayerUnEmpLock(%player)
|
||||
{
|
||||
%player.isemped = 0;
|
||||
Cancel(%player.unemplockschd);
|
||||
Cancel(%player.lockff.unemplockschd);
|
||||
Cancel(%player.lock.unemplockschd);
|
||||
%player.lockff.delete();
|
||||
%player.unMount();
|
||||
if (isObject(%player.emplock))
|
||||
%player.emplock.delete();
|
||||
}
|
||||
|
||||
function forceFieldLock(%obj) {
|
||||
if (!isObject(%obj.lockff)) {
|
||||
%ff = new ForceFieldBare() {
|
||||
dataBlock = DeployedForceField5;
|
||||
scale = "1 1 1";
|
||||
};
|
||||
%ff.noSlow = true;
|
||||
// Eolk - needed a fix here to prevent console spam...
|
||||
if(isObject(%ff.pzone))
|
||||
%ff.pzone.delete();
|
||||
|
||||
%ff.pzone = "";
|
||||
%obj.lockff = %ff;
|
||||
%ff.obj = %obj;
|
||||
%ff.setScale(%obj.getRealSize());
|
||||
%ff.setTransform(%obj.getEdge("-1 -1 -1") SPC %Obj.getRotation());
|
||||
return %ff;
|
||||
}
|
||||
}
|
||||
|
||||
//Morph functions
|
||||
|
||||
function ResetMorphObject(%obj)
|
||||
{
|
||||
Cancel(%obj.unmorphsch);
|
||||
if (!%obj.isforcefield())
|
||||
%obj.startfade(500,0,0);
|
||||
%obj.setRealSize(%obj.oldrealsize);
|
||||
%obj.setEdge(%obj.oldcenter,"0 0 0");
|
||||
if (isObject(%obj.pzone))
|
||||
{
|
||||
%obj.pzone.setScale(%Obj.getScale);
|
||||
%obj.pzone.setTransform(%obj.getTransform());
|
||||
}
|
||||
if (isObject(%obj.emitter))
|
||||
{
|
||||
%obj.emitter.setTransform(%obj.getTransform());
|
||||
%obj.emitter.setScale(%obj.trigger.oldsize);
|
||||
}
|
||||
if (isObject(%obj.trigger))
|
||||
{
|
||||
%obj.trigger.setTransform(%obj.getTransform());
|
||||
%obj.trigger.setScale(%obj.trigger.oldsize);
|
||||
}
|
||||
%obj.oldrealsize = "";
|
||||
%obj.oldcenter = "";
|
||||
%obj.morphed = "";
|
||||
}
|
||||
|
||||
function resetmorphsize(%owner)
|
||||
{
|
||||
%size = (getRandom()*0.9+0.1);
|
||||
%dir = (Getrandom()*2 > 1);
|
||||
%owner.morphpulsesize = %dir ? %size : 1+%size+getRandom()*3;
|
||||
}
|
||||
|
||||
155
scripts/TWM2/LoadMod.cs
Normal file
155
scripts/TWM2/LoadMod.cs
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
// TWM 2, Mod Load Script, Place any Scripts To Be Executed In Here
|
||||
|
||||
Error("********************************************");
|
||||
Error("********************************************");
|
||||
Error("******** EXECUTING TWM2 MOD SCRIPTS ********");
|
||||
Error("********************************************");
|
||||
Error("********************************************");
|
||||
//Mod Systems
|
||||
exec("serverControl.cs"); //Server Settings
|
||||
|
||||
exec("scripts/TWM2/Systems/Directorate.cs"); //Client Container Objects
|
||||
exec("scripts/TWM2/Systems/AdvancedRankSystem.cs"); //Adv. Ranks
|
||||
exec("scripts/TWM2/Systems/MainControl.cs"); //TWM2 Core Functions
|
||||
exec("scripts/TWM2/Systems/Scoremenucmds.cs"); //Score Menu
|
||||
exec("scripts/TWM2/Systems/BossSystem.cs"); //Bosses
|
||||
exec("scripts/TWM2/Systems/Medals.cs"); //Medals
|
||||
exec("scripts/TWM2/Systems/NewsPanel.cs"); //Scoremenu News Page
|
||||
exec("scripts/TWM2/Systems/Perks.cs"); //Special Perks
|
||||
exec("scripts/TWM2/Systems/WeaponChallenges.cs"); //Weapon Challenges
|
||||
exec("scripts/TWM2/Systems/NWChallengeIndex.cs"); //Non-Weapon Challenges
|
||||
exec("scripts/TWM2/Systems/ClientSettings.cs"); //Save Client Settings
|
||||
exec("scripts/TWM2/Systems/ChatLog.cs"); //Chat / Connection Logging
|
||||
exec("scripts/TWM2/Systems/ChatBot.cs"); //Chat Monitoring/Commands
|
||||
exec("scripts/TWM2/Systems/Weather.cs"); //Weather functions
|
||||
exec("scripts/TWM2/Systems/Keystrokes.cs"); //Insert/Delete functions
|
||||
exec("scripts/TWM2/Systems/Killstreak.cs"); //Killstreak Superweapons
|
||||
exec("scripts/TWM2/Missions/MissionCore.cs"); //Missions
|
||||
exec("scripts/TWM2/Systems/ScoreHudInventory.cs"); //F2 Inventory
|
||||
exec("scripts/TWM2/Systems/Scoremenucmds.cs"); //Score Menu load again to update the inv. changes
|
||||
exec("scripts/TWM2/Systems/SuccessiveKills.cs"); //Successive Kills
|
||||
exec("scripts/TWM2/Systems/PieceData.cs"); //Piece Data, /undo Command
|
||||
exec("scripts/TWM2/Systems/DChalg.cs"); //Daily Challenges
|
||||
exec("scripts/TWM2/Systems/ArmorEnergyShields.cs"); //Armor Shields
|
||||
exec("scripts/TWM2/Systems/Store.cs"); //Mula
|
||||
|
||||
exec("scripts/TWM2/AI/DroneAI.cs"); //Drones
|
||||
|
||||
exec("scripts/TWM2/Objects/MissileSatellite.cs"); //Missile Satellite
|
||||
exec("scripts/TWM2/Objects/MedalSeal.cs");
|
||||
exec("scripts/TWM2/Systems/HarbingersWrath.cs"); //Harbinger's Wrath
|
||||
|
||||
//Mod Dependancies
|
||||
|
||||
exec("scripts/TWM2/loadmenu.cs"); //loadscreen
|
||||
exec("scripts/TWM2/WeaponFunctions.cs"); //TWM2 Weapon Functions
|
||||
exec("scripts/TWM2/Zombie/LoadZombieScripts.cs"); //TWM2 Zombie Script Load
|
||||
exec("scripts/TWM2/Soldier/LoadSoldierScripts.cs");//TWM2 Soldier Script Load
|
||||
exec("scripts/TWM2/CustomCamera.cs"); //TWM2 Cameras
|
||||
exec("scripts/TWM2/CustomArmors.cs"); //TWM2 Armors
|
||||
exec("scripts/TWM2/ArmorFunctions.cs"); //TWM2 Armors Functions
|
||||
exec("scripts/TWM2/VehicleReticles.cs"); //Vehicle Reticles
|
||||
|
||||
//Universal Systems
|
||||
exec("scripts/TWM2/PGDConnect/ConnectionQueue.cs"); //TCP Connection List
|
||||
exec("scripts/TWM2/PGDConnect/UniversalSupport.cs"); //Support Script
|
||||
exec("scripts/TWM2/PGDConnect/UniversalSaving_Client.cs");//Saver
|
||||
exec("scripts/TWM2/PGDConnect/UniversalLoading.cs"); //Loading
|
||||
exec("scripts/TWM2/PGDConnect/UniversalRanks.cs"); //Ranks
|
||||
exec("scripts/TWM2/PGDConnect/ServerInteraction.cs"); //Server Connection
|
||||
|
||||
schedule(1000, 0, "CheckCore");
|
||||
|
||||
//Exterior Functioning
|
||||
|
||||
exec("scripts/TWM2/ExteriorFunctioning/PulseStuff.cs"); //Aid Pulses
|
||||
exec("scripts/TWM2/ExteriorFunctioning/killTrigger.cs"); //TWM2 Kill Trigger
|
||||
exec("scripts/TWM2/ExteriorFunctioning/BloodEffects.cs");//TWM2 Gore Mod
|
||||
exec("scripts/TWM2/ExteriorFunctioning/ProtPatch.cs"); //Alv's CCM Patch
|
||||
exec("scripts/TWM2/ExteriorFunctioning/PConFunctions.cs");//P-Con Functions 1.7
|
||||
exec("scripts/TWM2/ExteriorFunctioning/ArmorDamageEffects.cs");//Loop Damages
|
||||
|
||||
//Chat Commands
|
||||
|
||||
exec("scripts/TWM2/ChatCommands/Public.cs"); //Public CCs
|
||||
exec("scripts/TWM2/ChatCommands/Admin.cs"); //Admin CCs
|
||||
exec("scripts/TWM2/ChatCommands/Zombie.cs"); //Zombie CCs
|
||||
exec("scripts/TWM2/ChatCommands/SuperAdmin.cs"); //SuperAdmin CCs
|
||||
exec("scripts/TWM2/ChatCommands/DevAndHost.cs"); //Dev/Host CCs
|
||||
|
||||
//Server Dependancies
|
||||
LoadRanksBase(); //Load Ranks
|
||||
DownloadNewsPage(); //Load News Page
|
||||
|
||||
//Weapons
|
||||
exec("scripts/weapons/Pistols/Colt.cs"); //Colt Pistol
|
||||
exec("scripts/weapons/Melee/melee.cs"); //Gun Blade
|
||||
exec("scripts/weapons/Rifles/S3.cs"); //S3 Combat Rifle
|
||||
exec("scripts/weapons/Equipment/C4.cs"); //C4 Mines
|
||||
exec("scripts/weapons/Shotguns/M1700.cs"); //M1700 Shotgun
|
||||
exec("scripts/weapons/Rifles/G41.cs"); //G41 Semi Auto Rifle
|
||||
exec("scripts/weapons/Rifles/R700Sniper.cs"); //R700 Sniper Rifle
|
||||
exec("scripts/weapons/SMGs/MP26.cs"); //MP26 SMG
|
||||
exec("scripts/weapons/SMGs/Pg700.cs"); //Pg700 SMG
|
||||
exec("scripts/weapons/Equipment/SWBeaconer.cs"); //Killstreak Superweapon Datablocks
|
||||
exec("scripts/weapons/Rifles/M1Sniper.cs"); //M1 Sniper Rifle
|
||||
exec("scripts/weapons/MGs/RP432.cs"); //RP432 Machine Gun
|
||||
exec("scripts/weapons/Shotguns/Wp400.cs"); //Wp400 Shotgun
|
||||
reload("scripts/weapons/SMGs/chaingun.cs"); //Mini Chaingun
|
||||
exec("scripts/weapons/Rifles/RSALaserRifle.cs"); //RSA Laser Rifle
|
||||
exec("scripts/weapons/Equipment/RPG7.cs"); //RPG-7
|
||||
exec("scripts/weapons/Melee/BOV.cs"); //Blade Of Vengeance
|
||||
exec("scripts/weapons/Construction/EditGun.cs"); //Manipulator Tool
|
||||
exec("scripts/weapons/Pistols/PulsePhaser.cs"); //ES-77 Pulse Phaser
|
||||
exec("scripts/weapons/Pistols/LD06Savager.cs"); //LD06 Savager
|
||||
exec("scripts/weapons/Other/IonLauncher.cs"); //LUX-4 Ion Launcher
|
||||
exec("scripts/weapons/Other/IonRifle.cs"); //LUST Ion Rifle
|
||||
reload("scripts/weapons/T2Guns/Shocklance.cs"); //Shocklance & Shock Projs
|
||||
exec("scripts/weapons/MGs/MG42.cs"); //MG42 Machine Gun
|
||||
exec("scripts/weapons/Other/Flamethrower.cs"); //A|V|X Flamethrower
|
||||
exec("scripts/weapons/Grenades/staticGrenade.cs"); //Static Grenade
|
||||
exec("scripts/weapons/Rifles/G17Sniper.cs"); //G17 Sniper Rifle
|
||||
exec("scripts/weapons/Other/ConcussionGun.cs"); //Concussion Gun
|
||||
exec("scripts/weapons/Other/ShadowRifle.cs"); //Shadow Rifle
|
||||
exec("scripts/weapons/Pistols/GrappleHook.cs"); //NeX 4 Grapple Hook
|
||||
exec("scripts/weapons/Other/MiniCollider.cs"); //PRTCL-995 MCC
|
||||
exec("scripts/weapons/Rifles/S3S.cs"); //S3-S Combat Rifle
|
||||
exec("scripts/weapons/SMGs/MP26CMDO.cs"); //MP26-CMDO SMG
|
||||
exec("scripts/weapons/Melee/Plasmasabre.cs"); //Plasma Saber
|
||||
exec("scripts/weapons/Shotguns/SA2400.cs"); //SA2400 Shotgun
|
||||
exec("scripts/weapons/Pistols/DesertEagle.cs"); //Desert Eagle
|
||||
exec("scripts/weapons/Equipment/Javelin.cs"); //Javelin
|
||||
exec("scripts/weapons/Shotguns/SCD343.cs"); //SCD343 Shotgun
|
||||
exec("scripts/weapons/Rifles/M4A1.cs"); //M4A1 Assault Rifle
|
||||
exec("scripts/weapons/Rifles/PulseRifle.cs"); //Pulse Rifle
|
||||
exec("scripts/weapons/SMGs/PulseSMG.cs"); //Pulse SMG
|
||||
exec("scripts/weapons/SMGs/P90.cs"); //P90 SMG
|
||||
exec("scripts/weapons/Rifles/ALSWPSniper.cs"); //ALSWP Sniper Rifle
|
||||
exec("scripts/weapons/Other/PlasmaTorpedo.cs"); //Plasma Torpedo Cannon
|
||||
exec("scripts/weapons/Pistols/M93.cs"); //M93 Pistol
|
||||
exec("scripts/weapons/Pistols/CrimsonHawk.cs"); //Crimson Hawk Pistol
|
||||
exec("scripts/weapons/Equipment/Stinger.cs"); //Stinger
|
||||
exec("scripts/weapons/MGs/MRXX.cs"); //MRXX ZC4 Machine Gun
|
||||
exec("scripts/weapons/Shotguns/Model1887.cs"); //Model 1887 Shotgun
|
||||
exec("scripts/weapons/Other/AcidCannon.cs"); //Zombie Lord/Demon Lord Acid Cannon
|
||||
exec("scripts/weapons/Other/NapalmLauncher.cs"); //ZH7C8 Napalm Launcher
|
||||
exec("scripts/weapons/Construction/RCMissile.cs"); //RC Launcher
|
||||
|
||||
BuildDeconList(); //build decon. list (con tool)
|
||||
|
||||
exec("scripts/TWM2/Bosses/LordVardison.cs"); //load him last
|
||||
|
||||
error("Loading custom scripts");
|
||||
exec("scripts/Customize/CustomScripts.cs");
|
||||
|
||||
schedule(5500, 0, "establishPGDConnection");
|
||||
|
||||
cleanChallenges();
|
||||
$ChallengeIndex = 0;
|
||||
schedule(7000, 0, "downloadChallenges");
|
||||
|
||||
Error("********************************************");
|
||||
Error("********************************************");
|
||||
Error("************* EXECUTE COMPLETE *************");
|
||||
Error("********************************************");
|
||||
Error("********************************************");
|
||||
217
scripts/TWM2/Missions/EnemyAc130Above.cs
Normal file
217
scripts/TWM2/Missions/EnemyAc130Above.cs
Normal file
|
|
@ -0,0 +1,217 @@
|
|||
package TWM2Mission_EnemyAc130Above {
|
||||
function TWM2MissionClass::initiateSettings(%group) {
|
||||
%group.commandName = "Command";
|
||||
%group.failMessage = "Your squad has been eliminated, mission failed";
|
||||
%group.BonusCompleteMessage = "Excellent work soldiers, you showed those assholes who's in charge!";
|
||||
%group.CompleteMessageNoTime = "The enemy AC-130 has been neutralized, good job. return to base.";
|
||||
%group.bonusEXP = 2500;
|
||||
%group.completionEXP = 2000;
|
||||
}
|
||||
|
||||
function TWM2MissionClass::OnTimeZero(%group) {
|
||||
%group.MessageMissionGroup("\c5"@%group.commandName@": The enemy AC-130 is leaving the area, mission acomplished");
|
||||
//%group.AddMissionTime(10);
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = game.pickPlayerSpawn( %group.participant[%i], false );
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
|
||||
AwardClient(%group.participant[%i], 33);
|
||||
}
|
||||
|
||||
%group.CompleteMission();
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2Mis(%group) {
|
||||
%missionPosCenter = "8000 9000 105";
|
||||
//Spawn the building
|
||||
|
||||
//
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8036.76 9462.89 100.25";rotation = "0.66138 0.353776 0.661377 141.035";scale = "0.125 0.166666 32";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8047.85 9465.1 100";rotation = "4.7988e-06 -4.11945e-06 1 213.714";scale = "3.8739 4.99873 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8045.71 9475.85 100.25";rotation = "-0.797515 -0.426599 -0.426594 102.854";scale = "0.125 0.166666 32";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8037.11 9462.96 100.25";rotation = "-0.797515 -0.426599 -0.426594 102.854";scale = "0.125 0.166666 32";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8058.67 9466.9 100.25";rotation = "-0.919162 0.278512 0.278519 94.824";scale = "0.125 0.166666 29.9826";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8063.25 9474.5 100.5";rotation = "0 0 1 211.042";scale = "3.992 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8066.11 9475.42 100.5";rotation = "0 0 -1 5.85046";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "6";set2 = "8";packBlock = "StingerAmmo";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8056.73 9478.72 106.048";rotation = "0.656598 0.371165 0.656594 139.273";scale = "0.976 0.166666 30.0194";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8061.15 9486 104.096";rotation = "0.870536 0.492104 6.23787e-07 180";scale = "3.24015 0.166666 7.192";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8067.37 9474.22 100.5";rotation = "0 0 -1 6.42179";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "6";set2 = "7";packBlock = "Stinger";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8063.32 9474.19 100.25";rotation = "0.192695 0.693856 0.693853 201.814";scale = "4.12805 0.166666 32.0056";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8063.38 9474.72 108.25";rotation = "0.656598 0.371165 0.656594 139.273";scale = "0.125 5.3325 30.0194";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "SolarPanel";position = "8071.83 9473.28 105.04";rotation = "-0.371166 0.656597 0.656594 139.273";scale = "1 1 1";team = "1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";};setTargetSensorGroup(%building.getTarget(),1);TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.setSelfPowered();setTargetName(%building.target,addTaggedString("[ON] Frequency" SPC %obj.powerFreq));%building.playThread($AmbientThread,"ambient");
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.66 9479.12 100.5";rotation = "0 0 1 123.326";scale = "0.125 0.166666 20";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8064.61 9491.78 100.5";rotation = "0 0 1 211.042";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8065.9 9491 108";rotation = "0.26759 0.963533 1.22137e-06 180";scale = "0.62472 0.166666 6.1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8074.3 9476.9 100.5";rotation = "0 0 -1 58.9579";scale = "3.9981 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8070.25 9488.4 104.45";rotation = "0.26759 0.963533 1.22137e-06 180";scale = "3.16162 0.166666 7.9";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration9";position = "8055.02 9500.28 100";rotation = "0 0 1 212.035";scale = "1 1 1";team = "1";ownerGUID = "2000343";needsfit = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8014.06 9472.58 102.289";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "3.86835 1.19267 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8078.1 9483.66 104.7";rotation = "0.258497 0.930784 0.258496 94.1066";scale = "0.125 0.166666 30.9974";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.52 9478.91 104.328";rotation = "-0.428806 0.795143 -0.428804 103.021";scale = "0.125 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.5 9478.92 105.191";rotation = "-0.428806 0.795143 -0.428804 103.021";scale = "0.30676 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.5 9478.92 107.445";rotation = "-0.428806 0.795143 -0.428804 103.021";scale = "0.247501 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8078.1 9483.66 108.25";rotation = "0.258497 0.930784 0.258496 94.1066";scale = "0.125 0.166666 30.9974";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.52 9478.91 108.19";rotation = "-0.428806 0.795143 -0.428804 103.021";scale = "0.125 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.5 9478.92 109.47";rotation = "-0.428806 0.795143 -0.428804 103.021";scale = "0.515005 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8074.85 9485.6 108";rotation = "0.26759 0.963533 1.22137e-06 180";scale = "1.89069 0.166666 6.1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration8";position = "8062 9501.65 100";rotation = "0 0 1 122.683";scale = "1 1 1";team = "1";ownerGUID = "2000343";needsfit = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.45 9479.26 104.338";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.125 0.166666 29.966";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.46 9479.28 105.164";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.28801 0.166666 29.966";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration6";position = "8057.43 9504.67 100";rotation = "0 0 1 212.667";scale = "1 1 1";team = "1";ownerGUID = "2000343";needsfit = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8057.43 9504.67 103.3";rotation = "0 0 1 218.336";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "7";set2 = "8";packBlock = "JavelinAmmo";};%building.setCloaked(true);TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.46 9479.28 107.492";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.250012 0.166666 29.966";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.45 9479.26 108.168";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.125 0.166666 29.966";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8009.88 9465.77 100.5";rotation = "0 0 1 123.326";scale = "0.125 0.166666 20";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8018.46 9479.28 109.459";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.520505 0.166666 29.966";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedDecoration7";position = "8053.24 9506.69 100";rotation = "0 0 -1 87.9301";scale = "1 1 1";team = "1";ownerGUID = "2000343";needsfit = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8010.9 9484.2 104.088";rotation = "0.286739 0.958009 1.21436e-06 180";scale = "2.9892 0.166666 7.176";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8038.76 9507.65 100.5";rotation = "0 0 1 118.629";scale = "0.125 0.166666 8";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8002.34 9482.02 104.308";rotation = "-0.795142 -0.428807 -0.428806 103.02";scale = "3.16805 0.166666 29.966";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8013.1 9482.46 108.168";rotation = "0.207056 0.691784 -0.691782 156.604";scale = "3.1244 0.166666 30.9484";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8014.48 9472.31 100.25";rotation = "-0.356303 0.660697 0.660702 140.777";scale = "4.11938 0.166666 31.9628";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8005.95 9468.65 100.751";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8005.59 9468.89 101.282";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8040.21 9510.3 100.5";rotation = "0 0 1 118.629";scale = "0.125 0.166666 7";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8035.37 9509.78 102.25";rotation = "-0.940626 0.240021 0.240026 93.5044";scale = "1.87402 1.16667 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8005.12 9469.2 101.766";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8038.54 9507.77 100.25";rotation = "-0.386926 0.65203 0.652032 137.695";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8038.54 9507.77 104.25";rotation = "0.240018 0.940629 0.240018 93.505";scale = "0.125 0.166666 14.9922";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8042.47 9514.45 100.25";rotation = "-0.454554 0.766004 -0.454553 105.096";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8004.81 9469.4 102.287";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8038.88 9507.87 104.25";rotation = "0.652032 0.386924 0.65203 137.695";scale = "0.125 0.166666 13.9883";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8004.55 9469.57 102.86";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8004.14 9469.84 103.319";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8032.61 9512.55 104.25";rotation = "-0.386919 0.652033 -0.652033 222.306";scale = "0.560377 0.166666 14.9913";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8003.76 9470.09 103.766";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8041.5 9512.15 102.25";rotation = "-0.386925 0.652028 0.652034 137.695";scale = "0.993457 1.16667 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8003.32 9470.38 103.817";rotation = "0.207055 0.691782 0.691785 203.397";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8006.27 9485.36 104.558";rotation = "0 0 1 158.069";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "6";set2 = "8";packBlock = "StingerAmmo";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8003.28 9469.81 102.284";rotation = "0.207056 0.691782 0.691784 203.397";scale = "3.74347 1.189 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8005.53 9484.17 104.558";rotation = "0 0 1 139.212";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "6";set2 = "8";packBlock = "StingerAmmo";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8009.67 9465.91 104.317";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.125 0.166666 29.9478";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8003.55 9470.24 106.257";rotation = "-0.920898 0.275631 0.275636 94.7163";scale = "3.74347 1.12667 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8031.74 9511.48 100.5";rotation = "0 0 1 208.629";scale = "0.125 0.166666 8";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8038.53 9516.02 100.25";rotation = "0.177564 0.695872 -0.695869 159.863";scale = "2.00136 0.166666 13.9883";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8004.56 9482.77 104.558";rotation = "0 0 1 133.509";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "6";set2 = "7";packBlock = "Stinger";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8009.67 9465.91 108.197";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.125 0.166666 29.9478";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8009.66 9465.89 109.473";rotation = "0.275632 0.920899 0.275631 94.7162";scale = "0.5135 0.166666 29.9478";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8003.95 9484.49 108.207";rotation = "-0.795142 -0.428807 -0.428806 103.02";scale = "1.66624 0.166666 5.0086";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8005.72 9487.63 100.5";rotation = "0 0 1 123.326";scale = "0.125 0.166666 20";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8042.35 9514.23 100.5";rotation = "0 0 1 118.629";scale = "0.125 0.166666 8";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8003.59 9481.59 104.558";rotation = "0 0 1 115.788";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "6";set2 = "7";packBlock = "Stinger";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.94 9481.41 107.582";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.67 9481 106.942";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.44 9480.66 106.439";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.24 9480.34 105.934";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.03 9480.02 105.333";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8000.17 9472.42 104.317";rotation = "0.207056 0.691784 0.691782 203.396";scale = "1.74176 0.166666 5.64626";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8000.76 9479.61 104.808";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.54 9480.82 102.279";rotation = "-0.356301 0.660698 0.660702 140.778";scale = "3.86835 1.186 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8033.32 9514.89 102.25";rotation = "-0.766004 -0.454555 -0.454552 105.095";scale = "1.74854 1.16667 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "7997.09 9474.49 104.308";rotation = "0.660701 0.356304 0.660698 140.778";scale = "0.125 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8035.21 9517.84 104.25";rotation = "-0.454554 0.766004 -0.454553 105.096";scale = "0.125 0.166666 13.9883";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8038.96 9516.36 102.25";rotation = "-0.940626 0.240021 0.240026 93.5044";scale = "1.87402 1.16667 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8001.13 9481.09 106.257";rotation = "-0.795143 -0.428806 -0.428804 103.02";scale = "3.86835 1.133 1";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8042.13 9514.35 100.25";rotation = "-0.386926 0.65203 0.652032 137.695";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8035.55 9517.94 104.25";rotation = "0.695871 -0.177567 0.695869 200.138";scale = "0.125 0.166666 14.9922";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "7997.09 9474.49 108.207";rotation = "0.660701 0.356304 0.660698 140.778";scale = "0.125 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "7997.1 9474.49 109.479";rotation = "0.660701 0.356304 0.660698 140.778";scale = "0.51075 0.166666 30.9468";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8035.33 9518.06 100.5";rotation = "0 0 1 208.629";scale = "0.125 0.166666 8";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "7996.95 9474.28 100.5";rotation = "0 0 1 123.326";scale = "0.125 0.166666 20";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8069.66 9516.38 100.5";rotation = "0 0 1 210.3";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8069.42 9516.52 102.432";rotation = "0.252855 0.933878 0.252855 93.9169";scale = "0.966 0.166666 29.9736";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8069.44 9516.51 108.25";rotation = "0.252855 0.933878 0.252855 93.9169";scale = "0.125 0.166666 29.9736";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8066.08 9518.75 104.114";rotation = "0.188038 0.694492 0.694494 201.3";scale = "2.02012 0.166666 5.3064";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8070.65 9518.4 100.5";rotation = "0 0 1 210.3";scale = "0.125 1.32505 6.804";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8056.28 9524.2 100.5";rotation = "0 0 1 210.3";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8059.29 9522.73 100.984";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8058.8 9523.01 101.584";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8058.44 9523.23 101.976";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8058.01 9523.48 102.559";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8057.61 9523.71 103.074";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8057.22 9523.94 103.552";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8056.88 9524.14 104.114";rotation = "0.188038 0.694492 0.694494 201.3";scale = "0.125 0.166666 4";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8075.11 9525.7 105.951";rotation = "-0.445587 0.77647 -0.445586 104.344";scale = "1.02451 0.166666 21.0544";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8080.18 9517 100.25";rotation = "0.776469 0.445585 -0.445589 104.344";scale = "1.05726 0.166666 17.0477";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8075.1 9525.68 108.25";rotation = "-0.445587 0.77647 -0.445586 104.344";scale = "0.125 0.166666 21.0544";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8072.66 9521.01 100.25";rotation = "-0.376007 0.655224 0.65521 138.786";scale = "2.88203 0.166666 32";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8059.92 9529.99 104.136";rotation = "-0.77647 -0.44559 -0.445583 104.344";scale = "1.97186 0.166666 30.018";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8056.4 9524.41 102.436";rotation = "0.65522 0.376005 0.655216 138.787";scale = "0.967755 0.166666 21.0376";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8061.71 9533.5 108.25";rotation = "-0.445587 0.77647 -0.445586 104.344";scale = "0.125 0.166666 21.0376";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8083.77 9506.81 100.25";rotation = "0.188039 0.694495 0.694491 201.299";scale = "4.11753 0.166666 31.9386";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8074.25 9524.2 100.5";rotation = "0 0 1 210.3";scale = "0.125 1.13073 6.804";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8063.7 9530.36 106.154";rotation = "0.694493 -0.188045 0.694492 201.299";scale = "0.625005 0.166666 23.8676";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DispenserDep";position = "8073.55 9525.75 104.386";rotation = "0 0 -1 56.6959";scale = "1.5 1.5 0.5";team = "1";ownerGUID = "2000343";powerFreq = "1";set1 = "7";set2 = "7";packBlock = "Javelin";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();schedule(100, 0, "respawnpack", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8088.71 9503.94 108.25";rotation = "0.188039 0.69449 0.694496 201.299";scale = "1.00168 0.166666 30.862";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8075.23 9525.9 100.5";rotation = "0 0 1 210.3";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8098.73 9516.6 104.5";rotation = "-0.445587 0.77647 -0.445586 104.344";scale = "2 0.166666 31.9658";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8075.02 9526.02 102.451";rotation = "0.252855 0.933878 0.252855 93.9169";scale = "0.975258 0.166666 29.9994";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8075.01 9526.03 108.25";rotation = "0.252855 0.933878 0.252855 93.9169";scale = "0.125 0.166666 29.9994";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8061.84 9533.72 100.5";rotation = "0 0 1 210.3";scale = "0.125 0.166666 16";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8083.5 9522.56 108.25";rotation = "0.376003 -0.655217 0.65522 138.786";scale = "0.998218 0.166666 23.8784";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedSpine";position = "8098.39 9516.47 104.5";rotation = "0.252855 0.933878 0.252855 93.9169";scale = "2 0.166666 31.9254";team = "1";ownerGUID = "2000343";needsfit = "1";powerFreq = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
TWM2PowerCheck();
|
||||
//
|
||||
|
||||
//Move The Players
|
||||
%sp = "8045 9471 105";
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = vectorAdd(%sp, getRandomPosition(5, 1));
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
//
|
||||
%player = %group.participant[%i].player;
|
||||
%player.setArmor("Medium"); //commando!
|
||||
%player.clearInventory();
|
||||
%player.setInventory(MissileLauncher, 1, true);
|
||||
%player.setInventory(MissileLauncherAmmo, 5, true);
|
||||
//%player.setInventory(pistol, 1, true);
|
||||
//%player.setInventory(pistolAmmo, 10, true); //I'm nice for your first clip :)
|
||||
//%player.ClipCount[pistolImage.ClipName] = pistolImage.InitialClips;
|
||||
%player.ClipCount[StingerImage.ClipName] = 15;
|
||||
%player.ClipCount[JavelinImage.ClipName] = 15;
|
||||
//
|
||||
%player.setInventory(TargetingLaser, 1, true);
|
||||
%player.setInventory(RepairKit,3);
|
||||
%player.setInventory(Grenade,5);
|
||||
%player.use(MissileLauncher);
|
||||
}
|
||||
//Spawn The Evil AC-130 of doom
|
||||
%obj = new FlyingVehicle() {
|
||||
dataBlock = AC130;
|
||||
position = vectoradd(%missionPosCenter, "-600 700 400");
|
||||
rotation = "0 0 0 1";
|
||||
team = 2;
|
||||
};
|
||||
TWM2MissionAspectsGroup.add(%obj);
|
||||
%obj.TurretObject.barrel = "Chain";
|
||||
SwitchACGunLoop(%obj); //randomly switch weapons
|
||||
|
||||
ACAboveMissionLoop(%group, %obj);
|
||||
|
||||
%obj.isHarbinsWrathShip = 1;
|
||||
%obj.isUltrAlly = 1; // ah what the heck, you should get 1000 XP for blowing one of these
|
||||
// bastages up.
|
||||
|
||||
setTargetSensorGroup(%obj.getTarget(), 2);
|
||||
|
||||
%obj.GoPoint = 1;
|
||||
%obj.CanFlare = 1;
|
||||
GunshipForwardImpulse(%obj);
|
||||
%obj.ScanLoop = GetNextGunshipPoint(%obj);
|
||||
|
||||
schedule(15*60*1000, 0, "EndGunship", %obj, "");
|
||||
}
|
||||
|
||||
function ACAboveMissionLoop(%group, %obj) {
|
||||
if(!isObject(%obj)) {
|
||||
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
AwardClient(%group.participant[%i], 34);
|
||||
}
|
||||
|
||||
%group.CompleteMission();
|
||||
return;
|
||||
}
|
||||
schedule(1000, 0, "ACAboveMissionLoop", %group, %obj);
|
||||
}
|
||||
};
|
||||
99
scripts/TWM2/Missions/Invasion.cs
Normal file
99
scripts/TWM2/Missions/Invasion.cs
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
package TWM2Mission_Invasion {
|
||||
function TWM2MissionClass::initiateSettings(%group) {
|
||||
%group.commandName = "Command";
|
||||
%group.failMessage = "Your squad has been eliminated, mission failed";
|
||||
%group.BonusCompleteMessage = "Excellent work soldiers, You've held back a major storm!";
|
||||
%group.CompleteMessageNoTime = "All enemy dropships neutralized, good work team.";
|
||||
%group.bonusEXP = 2500;
|
||||
%group.completionEXP = 2000;
|
||||
}
|
||||
|
||||
function TWM2MissionClass::OnTimeZero(%group) {
|
||||
%group.MessageMissionGroup("\c5"@%group.commandName@": Enemy dropships have been eliminated, good work team!");
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = game.pickPlayerSpawn( %group.participant[%i], false );
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
|
||||
AwardClient(%group.participant[%i], 37);
|
||||
}
|
||||
%group.AddMissionTime(10); //surviving = success with reward
|
||||
%group.CompleteMission();
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2Mis(%group) {
|
||||
%sp = "19528 17981 105";
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = vectorAdd(%sp, getRandomPosition(5, 1));
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
//
|
||||
%player = %group.participant[%i].player;
|
||||
%player.setArmor("Medium"); //commando!
|
||||
%player.clearInventory();
|
||||
%player.setInventory(S3SRifle, 1, true);
|
||||
%player.setInventory(S3SRifleAmmo, 30, true);
|
||||
%player.ClipCount[S3SRifleImage.ClipName] = mfloor(S3SRifleImage.InitialClips * 1.5);
|
||||
%player.setInventory(Mp26CMDO, 1, true);
|
||||
%player.setInventory(Mp26CMDOAmmo, 50, true);
|
||||
%player.ClipCount[Mp26CMDOImage.ClipName] = mfloor(Mp26CMDOImage.InitialClips * 1.5);
|
||||
%player.setInventory(pistol, 1, true);
|
||||
%player.setInventory(pistolAmmo, 10, true);
|
||||
%player.ClipCount[pistolImage.ClipName] = pistolImage.InitialClips;
|
||||
%player.setInventory(TargetingLaser, 1, true);
|
||||
%player.setInventory(RepairKit,3);
|
||||
%player.setInventory(Grenade,5);
|
||||
%player.use(S3Rifle);
|
||||
}
|
||||
//
|
||||
spawnDropshipWave(%group, %sp);
|
||||
schedule(30000, 0, spawnDropshipWave, %group, %sp);
|
||||
schedule(60000, 0, spawnDropshipWave, %group, %sp);
|
||||
schedule(90000, 0, spawnDropshipWave, %group, %sp);
|
||||
schedule(120000, 0, spawnDropshipWave, %group, %sp);
|
||||
schedule(150000, 0, spawnDropshipWave, %group, %sp);
|
||||
schedule(180000, 0, spawnDropshipWave, %group, %sp);
|
||||
schedule(190000, 0, spawnDropshipWave, %group, %sp);
|
||||
}
|
||||
|
||||
function spawnHunterDropship_Mission(%position, %dropPosition, %dropType) {
|
||||
%dropT = %dropType SPC %dropType SPC %dropType SPC %dropType;
|
||||
//spawn dropship
|
||||
%drop = new FlyingVehicle() {
|
||||
dataBlock = "HunterDropship";
|
||||
position = %position;
|
||||
respawn = "0";
|
||||
teamBought = 30;
|
||||
team = 30;
|
||||
};
|
||||
MissionCleanup.add(%drop);
|
||||
//attach waypoint, spawn pilot/passengers
|
||||
%wraith = StartAZombie(vectorAdd(%position, "0 0 100"), 15);
|
||||
%wraith.isInTheMission = 1;
|
||||
%drop.mountObject(%wraith, 0);
|
||||
for(%i = 0; %i < getWordCount(%dropT); %i++) {
|
||||
%z = StartAZombie(vectorAdd(%position, "0 0 100"), getWord(%dropT, %i));
|
||||
%z.isInTheMission = 1;
|
||||
if(isObject(%z)) {
|
||||
%drop.mountObject(%z, %i+2);
|
||||
//%z.mountObject(%drop, %i+2);
|
||||
}
|
||||
}
|
||||
dropshipMarkerLoop(%drop);
|
||||
//engage dropship AI
|
||||
BeginDropshipAI(%drop, %dropPosition);
|
||||
}
|
||||
|
||||
function spawnDropshipWave(%group, %start) {
|
||||
if(!isObject(%group)) {
|
||||
return;
|
||||
}
|
||||
%pos[0] = vectorAdd(%start, "2000 0 400");
|
||||
%pos[1] = vectorAdd(%start, "-2000 0 400");
|
||||
%pos[2] = vectorAdd(%start, "0 2000 400");
|
||||
%pos[3] = vectorAdd(%start, "0 -2000 400");
|
||||
|
||||
spawnHunterDropship_Mission(%pos[0], %start, 1);
|
||||
schedule(2500, 0, "spawnHunterDropship_Mission", %pos[1], %start, 1);
|
||||
schedule(5000, 0, "spawnHunterDropship_Mission", %pos[2], %start, 1);
|
||||
schedule(7500, 0, "spawnHunterDropship_Mission", %pos[3], %start, 1);
|
||||
}
|
||||
};
|
||||
512
scripts/TWM2/Missions/MissionCore.cs
Normal file
512
scripts/TWM2/Missions/MissionCore.cs
Normal file
|
|
@ -0,0 +1,512 @@
|
|||
//MISSIONS
|
||||
//Phantom139, for TWM2 2.5
|
||||
//DO you have what it takes to complete them?
|
||||
|
||||
//Missions are little tasks that are performed by players.
|
||||
//Some tasks require multiple players, while some only require one.
|
||||
|
||||
//These tasks are timed, and can only be played in the "Construction/FlatlandBig"
|
||||
//If the task is completed within the given time limit, an additional
|
||||
//XP Bonus is awarded, If not, oh well =p
|
||||
|
||||
//So, without further ado, lets begin
|
||||
//Mission Vars!
|
||||
$Mission::TWM2Mision[0] = "RainDown";
|
||||
$Mission::TWM2Mision[1] = "EnemyAc130Above";
|
||||
$Mission::TWM2Mision[2] = "Surrounded";
|
||||
$Mission::TWM2Mision[3] = "Surrounded2\t1";
|
||||
$Mission::TWM2Mision[4] = "Invasion\t1";
|
||||
|
||||
$Mission::VarSet["RainDown", "TaskDetails"] = "Rain Down\tClear The Zombies with the AC130\t3:00/Gunship Support";
|
||||
$Mission::VarSet["RainDown", "Orders"] = "Using the turret, eliminate all zombies, you have 3 minutes.";
|
||||
$Mission::VarSet["RainDown", "Requirement"] = "Challenge\tGunship3";
|
||||
$Mission::VarSet["RainDown", "Difficulty"] = "Moderate";
|
||||
$Mission::VarSet["RainDown", "TimeLimit"] = 3 * 60; //3 minutes
|
||||
$Mission::VarSet["RainDown", "PlayerReq"] = 1; //1 Person
|
||||
$Mission::VarSet["RainDown", "PlayerLimit"] = 1; //1 Person
|
||||
//
|
||||
$Mission::VarSet["EnemyAc130Above", "TaskDetails"] = "Enemy AC-130 Above\tEscape or destroy the enemy AC130\t15:00/Survival-Escape Mission";
|
||||
$Mission::VarSet["EnemyAc130Above", "Orders"] = "An enemy AC130 is attacking, escape it, or destroy it, your choice.";
|
||||
$Mission::VarSet["EnemyAc130Above", "Requirement"] = "Challenge\tGunship3";
|
||||
$Mission::VarSet["EnemyAc130Above", "Difficulty"] = "Extremely Challenging";
|
||||
$Mission::VarSet["EnemyAc130Above", "TimeLimit"] = 15 * 60; //15 minutes
|
||||
$Mission::VarSet["EnemyAc130Above", "PlayerReq"] = 1; //1 Person
|
||||
$Mission::VarSet["EnemyAc130Above", "PlayerLimit"] = 3; //3 People
|
||||
//
|
||||
$Mission::VarSet["TheShallowedCity", "TaskDetails"] = "The Shallowed City\tReach the city center in 10 minutes";
|
||||
$Mission::VarSet["TheShallowedCity", "Orders"] = "Reach the city center, clear enemies in your path, you have 10 minutes.";
|
||||
$Mission::VarSet["TheShallowedCity", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["TheShallowedCity", "Difficulty"] = "Hard";
|
||||
$Mission::VarSet["TheShallowedCity", "TimeLimit"] = 10 * 60; //10 minutes
|
||||
$Mission::VarSet["TheShallowedCity", "PlayerReq"] = 2; //2 People
|
||||
$Mission::VarSet["TheShallowedCity", "PlayerLimit"] = 4; //4 People
|
||||
//
|
||||
$Mission::VarSet["Surrounded", "TaskDetails"] = "Surrounded!\tHold out against endless amounts of zombies for 5 minutes\t5:00/Survival Mission";
|
||||
$Mission::VarSet["Surrounded", "Orders"] = "We're SURROUNDED! Survive the onslaught for 5 minutes!";
|
||||
$Mission::VarSet["Surrounded", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["Surrounded", "Difficulty"] = "Moderate";
|
||||
$Mission::VarSet["Surrounded", "TimeLimit"] = 5 * 60; //10 minutes
|
||||
$Mission::VarSet["Surrounded", "PlayerReq"] = 1; //1 Person
|
||||
$Mission::VarSet["Surrounded", "PlayerLimit"] = 6; //6 People
|
||||
//
|
||||
$Mission::VarSet["Surrounded2", "TaskDetails"] = "Surrounded 2.0!\tThe onslaught continues, now even bigger and badder with demons and a 10 mintue survival time\t10:00/Survival Mission";
|
||||
$Mission::VarSet["Surrounded2", "Orders"] = "We're SURROUNDED! Survive the onslaught for 10 minutes!";
|
||||
$Mission::VarSet["Surrounded2", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["Surrounded2", "Difficulty"] = "Hard";
|
||||
$Mission::VarSet["Surrounded2", "TimeLimit"] = 10 * 60; //10 minutes
|
||||
$Mission::VarSet["Surrounded2", "PlayerReq"] = 1; //1 Person
|
||||
$Mission::VarSet["Surrounded2", "PlayerLimit"] = 6; //6 People
|
||||
//
|
||||
$Mission::VarSet["Invasion", "TaskDetails"] = "Invasion\tDefend your position against an invasion of hunter dropships\t5:00/Survival Mission";
|
||||
$Mission::VarSet["Invasion", "Orders"] = "Team, hold position.. enemy dropships have been detected approaching your position.";
|
||||
$Mission::VarSet["Invasion", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["Invasion", "Difficulty"] = "Hard";
|
||||
$Mission::VarSet["Invasion", "TimeLimit"] = 5 * 60; //10 minutes
|
||||
$Mission::VarSet["Invasion", "PlayerReq"] = 1; //1 Person
|
||||
$Mission::VarSet["Invasion", "PlayerLimit"] = 6; //6 People
|
||||
//
|
||||
$Mission::VarSet["RogVeg1", "TaskDetails"] = "Rog's Vengeance I: Rise of Darkness\tAssault a human suburb base, plant the shadow conductors\t20:00/Siege Mission";
|
||||
$Mission::VarSet["RogVeg1", "Orders"] = "General Rog, Assault the Human Forces, Destroy all hostiles and plant the shadow conductors, let them know fear.";
|
||||
$Mission::VarSet["RogVeg1", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["RogVeg1", "Difficulty"] = "Easy";
|
||||
$Mission::VarSet["RogVeg1", "TimeLimit"] = 20 * 60;
|
||||
$Mission::VarSet["RogVeg1", "PlayerReq"] = 1;
|
||||
$Mission::VarSet["RogVeg1", "PlayerLimit"] = 3;
|
||||
//
|
||||
$Mission::VarSet["RogVeg2", "TaskDetails"] = "Rog's Vengeance II: Slicing the Light\tAttack a human controlled power grid, further the darkness\t20:00/Siege Mission";
|
||||
$Mission::VarSet["RogVeg2", "Orders"] = "Excellent work my general, now push further into their suburb, cut their electrical power source so the darkness can come.";
|
||||
$Mission::VarSet["RogVeg2", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["RogVeg2", "Difficulty"] = "Moderate";
|
||||
$Mission::VarSet["RogVeg2", "TimeLimit"] = 20 * 60;
|
||||
$Mission::VarSet["RogVeg2", "PlayerReq"] = 1;
|
||||
$Mission::VarSet["RogVeg2", "PlayerLimit"] = 3;
|
||||
//
|
||||
$Mission::VarSet["RogVeg3", "TaskDetails"] = "Rog's Vengeance III: Yvex's Storm\tPrepare to invade the city and unleash the shade storm's wrath\t20:00/Siege Mission";
|
||||
$Mission::VarSet["RogVeg3", "Orders"] = "The time has come my general, lead the attack into the human city, decimate all forces so the storm may cleanse the city.";
|
||||
$Mission::VarSet["RogVeg3", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["RogVeg3", "Difficulty"] = "Hard";
|
||||
$Mission::VarSet["RogVeg3", "TimeLimit"] = 20 * 60;
|
||||
$Mission::VarSet["RogVeg3", "PlayerReq"] = 1;
|
||||
$Mission::VarSet["RogVeg3", "PlayerLimit"] = 3;
|
||||
//
|
||||
$Mission::VarSet["RogVeg4", "TaskDetails"] = "Rog's Vengeance IV: Rog's Vengeance\tUnleash the fury of the Fist of Vengeance\t20:00/Siege Mission";
|
||||
$Mission::VarSet["RogVeg4", "Orders"] = "With the shade storm in place, it is time my shade lord, to clease the city. Destroy them all!";
|
||||
$Mission::VarSet["RogVeg4", "Requirement"] = "XP\t2750000";
|
||||
$Mission::VarSet["RogVeg4", "Difficulty"] = "Hard";
|
||||
$Mission::VarSet["RogVeg4", "TimeLimit"] = 20 * 60;
|
||||
$Mission::VarSet["RogVeg4", "PlayerReq"] = 1;
|
||||
$Mission::VarSet["RogVeg4", "PlayerLimit"] = 3;
|
||||
//
|
||||
|
||||
//datablocks and functions
|
||||
datablock TriggerData(MissionTrigger) {
|
||||
tickPeriodMS = 200;
|
||||
};
|
||||
|
||||
function MissionTrigger::onEnterTrigger(%data, %obj, %colObj) {
|
||||
%function = %obj.callFunction;
|
||||
|
||||
if(%obj.isUsed) {
|
||||
return;
|
||||
}
|
||||
%obj.isUsed = 1;
|
||||
%group = nameToID("TWM2Mission");
|
||||
eval(""@%group@"."@%function@"("@%obj@", "@%colObj@");");
|
||||
}
|
||||
//
|
||||
|
||||
function CheckMissionRequirement(%client, %mission) {
|
||||
%req = $Mission::VarSet[%mission, "Requirement"];
|
||||
//
|
||||
%type = getField(%req, 0);
|
||||
%reqName = getField(%req, 1);
|
||||
//
|
||||
switch$(%type) {
|
||||
case "XP":
|
||||
%clXP = getCurrentEXP(%client);
|
||||
if(%clXP < %reqName) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
case "Challenge":
|
||||
if(%client.CheckNWChallengeCompletion(%reqName)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function CreateTWM2Mission(%client, %mission) {
|
||||
%group = NameToID("TWM2Mission");
|
||||
if(%group.inProgress) {
|
||||
messageClient(%client, 'msgNope', "\c5MISSION: A mission has been ordered or is in progress.");
|
||||
return;
|
||||
}
|
||||
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
||||
messageClient(%client, 'msgNope', "\c5MISSION: Dead people cannot order missions.");
|
||||
return;
|
||||
}
|
||||
if(getCurrentEXP(%client) < $Ranks::MinPoints[59] && %client.TWM2Core.officer < 1) {
|
||||
messageClient(%client, 'msgNope', "\c5MISSION: You must be a Commanding Officer (or Higher) to order missions.");
|
||||
return;
|
||||
}
|
||||
if($CurrentMissionType !$= "Construction") {
|
||||
error("TWM2 Mission: Must be in construction, aborted.");
|
||||
messageClient(%client, 'msgNope', "\c5MISSION: Missions an only be ordered in the construction game mode.");
|
||||
return;
|
||||
}
|
||||
if($CurrentMission !$= "FlatlandBig" && $CurrentMission !$= "Flatland") {
|
||||
error("TWM2 Mission: Must be in FLBig, aborted.");
|
||||
messageClient(%client, 'msgNope', "\c5MISSION: Missions can only be ordered on Flatland.");
|
||||
return;
|
||||
}
|
||||
%timeleft = $Mission::VarSet[%mission, "TimeLimit"];
|
||||
%playerlimit = $Mission::VarSet[%mission, "PlayerLimit"];
|
||||
%playerreq = $Mission::VarSet[%mission, "PlayerReq"];
|
||||
%missionname = GetField($Mission::VarSet[%mission, "TaskDetails"], 0);
|
||||
%group = new ScriptObject(TWM2Mission) {
|
||||
class = "TWM2MissionClass";
|
||||
|
||||
mission = %mission;
|
||||
MissionName = %missionname;
|
||||
Status = "Failed"; //start here, we change it if you win
|
||||
timer = %timeleft;
|
||||
playerRequire = %playerreq;
|
||||
playerLimit = %playerlimit;
|
||||
timeToBegin = 30; //30 seconds
|
||||
Participant[1] = %client;
|
||||
ParticipantAlive[1] = true;
|
||||
Participants = 1;
|
||||
InProgress = 2;
|
||||
};
|
||||
new SimGroup(TWM2MissionAspectsGroup) {
|
||||
//this group holds our mission aspects
|
||||
};
|
||||
|
||||
echo("TWM2: Activating Mission Package: "@%mission);
|
||||
activatePackage("TWM2Mission_"@%mission@"");
|
||||
%group.initiateSettings();
|
||||
|
||||
%group.schedule(%group.timeToBegin * 1000, "StartTWM2MissionTimer");
|
||||
if(%group.playerLimit > 1) {
|
||||
//Phantom139: Added TWM2 3.8, obviously we don't want to ask people to join a 1 player mission.
|
||||
messageAll('msgMission', "\c5MISSION: "@%client.namebase@" has ordered a mission, press [F2] -> Mission to join in.");
|
||||
CompleteNWChallenge(%client, "SimonSays");
|
||||
}
|
||||
}
|
||||
|
||||
function AddClientToMission(%client) {
|
||||
%group = nameToID("TWM2Mission");
|
||||
if(%group.InProgress == 0) {
|
||||
messageClient(%client, 'msgFailed', "\c5MISSION: There is no mission to join.");
|
||||
return;
|
||||
}
|
||||
if(%group.InProgress == 1) {
|
||||
messageClient(%client, 'msgFailed', "\c5MISSION: You cannot join a mission in progress.");
|
||||
return;
|
||||
}
|
||||
if(!isObject(%client.player) || %client.player.getState() $= "Dead") {
|
||||
messageClient(%client, 'msgNope', "\c5MISSION: Dead people cannot join missions.");
|
||||
return;
|
||||
}
|
||||
//add them
|
||||
if(%group.Participants >= %group.playerLimit) {
|
||||
messageClient(%client, 'msgFailed', "\c5MISSION: This mission cannot take any more soldiers.");
|
||||
return;
|
||||
}
|
||||
//last check, for lulz
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
if(%client == %group.Participant[%i]) {
|
||||
messageClient(%client, 'msgFailed', "\c5MISSION: Trying to join twice eh?");
|
||||
return;
|
||||
}
|
||||
}
|
||||
//
|
||||
%group.Participants++;
|
||||
%group.Participant[%group.Participants] = %client;
|
||||
%group.ParticipantAlive[%group.Participants] = true;
|
||||
messageClient(%client, 'msgFailed', "\c5MISSION: Added to the mission squad, prepare for orders.");
|
||||
CompleteNWChallenge(%client, "FromTheTop");
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2MissionTimer(%group) {
|
||||
%counter = %group.Participants;
|
||||
//cleanup check
|
||||
for(%i = 0; %i < clientGroup.getCount(); %i++) {
|
||||
%cl = clientGroup.getObject(%i);
|
||||
for(%r = 1; %r <= %counter; %r++) {
|
||||
if(%cl == %group.Participant[%r]) {
|
||||
if(!isObject(%cl.player) || %cl.player.getState() $= "Dead") {
|
||||
messageClient(%cl, 'msgNope', "\c5MISSION: You have been released from the mission for being dead.");
|
||||
%cl.missionReady = false;
|
||||
}
|
||||
else {
|
||||
messageClient(%cl, 'msgNope', "\c5MISSION: Standby.... Relaying orders....");
|
||||
%cl.missionReady = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//echo("checking");
|
||||
for(%r2 = 1; %r2 <= %counter; %r2++) {
|
||||
if(%group.Participant[%r2].missionReady) {
|
||||
%group.Participant[%r2].missionReady = ""; //clear the storage var
|
||||
}
|
||||
//missing clientz0r :P
|
||||
else {
|
||||
%group.Participant[%r2] = "";
|
||||
%group.ParticipantAlive[%r2] = "";
|
||||
%group.Participants--;
|
||||
}
|
||||
}
|
||||
//
|
||||
//echo("checking 2");
|
||||
if(%group.Participants < %req) {
|
||||
for(%lol = 1; %lol <= %group.Participants; %lol++) {
|
||||
messageClient(%group.Participant[%lol], 'msgFailed', "\c5MISSION: Not enough participants, Aborted.");
|
||||
}
|
||||
%group.EndTWM2Mission();
|
||||
//echo("NaP");
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%group.Participants = %counter; //reset this so we don't miss out on clients.
|
||||
}
|
||||
//
|
||||
//echo("Starting");
|
||||
%group.StartTWM2Mission();
|
||||
}
|
||||
|
||||
function TWM2MissionClass::AddMissionTime(%group, %time) {
|
||||
if(nameToID("TWM2Mission") == -1) {
|
||||
return;
|
||||
}
|
||||
%group.timer += %time;
|
||||
}
|
||||
|
||||
function TWM2MissionClass::TWM2MissionTimerLoop(%group) {
|
||||
if(nameToID("TWM2Mission") == -1) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
if(%group.timer > 0) {
|
||||
%group.timer--;
|
||||
}
|
||||
else {
|
||||
if(%group.mission !$= "") {
|
||||
%group.OnTimeZero();
|
||||
}
|
||||
}
|
||||
//
|
||||
%min = getField(FormatTWM2Time(%group.timer), 0);
|
||||
%sec = getField(FormatTWM2Time(%group.timer), 1);
|
||||
//
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
if(%group.ParticipantAlive[%i]) {
|
||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - "@%min@":"@%sec@"");
|
||||
}
|
||||
else {
|
||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - DEAD");
|
||||
}
|
||||
}
|
||||
//
|
||||
%group.schedule(1000, "TWM2MissionTimerLoop");
|
||||
}
|
||||
|
||||
function TWM2MissionClass::EndTWM2Mission(%group) {
|
||||
if(%group.Status $= "Failed") {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.failMessage@"~wfx/misc/flag_lost.wav");
|
||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Mission Failed");
|
||||
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||
CompleteNWChallenge(%group.Participant[%i], "EpicFailure");
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%group.timer > 0) {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.BonusCompleteMessage@"~wfx/misc/hunters_horde.wav");
|
||||
GainExperience(%group.Participant[%i], %group.bonusEXP + %group.completionEXP, "Mission Accomplished, Bonus EXP Recieved ");
|
||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Mission Accomplished (Time!)");
|
||||
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||
CompleteNWChallenge(%group.Participant[%i], "GoldStar");
|
||||
}
|
||||
}
|
||||
else {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@%group.CompleteMessageNoTime@"~wfx/misc/flag_capture.wav");
|
||||
GainExperience(%group.Participant[%i], %group.completionEXP, "Mission Accomplished! ");
|
||||
messageClient(%group.Participant[%i], 'MsgSPCurrentObjective1', "", ""@%group.MissionName@" - Mission Accomplished");
|
||||
schedule(5000, 0, messageClient, %group.Participant[%i], 'MsgSPCurrentObjective1' ,"", "Welcome to TWM2!");
|
||||
CompleteNWChallenge(%group.Participant[%i], "Faster");
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
deactivatePackage("TWM2Mission_"@%group.MissionName@"");
|
||||
|
||||
CleanGroupAspects(NameToID("TWM2MissionAspectsGroup"));
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
%group.Participant[%i] = "";
|
||||
%group.ParticipantAlive[%i] = "";
|
||||
}
|
||||
%group.Participants = 0;
|
||||
%group.inProgress = 0;
|
||||
%group.delete();
|
||||
}
|
||||
|
||||
function DoTWM2MissionChecks(%client) {
|
||||
%group = nameToID("TWM2Mission");
|
||||
if(%group == -1) {
|
||||
return;
|
||||
}
|
||||
%plyr = %client.player;
|
||||
if(!isObject(%plyr) || %plyr.getState() $= "dead") {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
if(%group.Participant[%i] == %client) {
|
||||
%group.ParticipantAlive[%i] = false;
|
||||
%group.CheckMissionFailure();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function TWM2MissionClass::CheckMissionFailure(%group) {
|
||||
%living = 0;
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
if(!%group.ParticipantAlive[%i]) {
|
||||
|
||||
}
|
||||
else {
|
||||
%living++;
|
||||
}
|
||||
}
|
||||
//
|
||||
if(!%living) {
|
||||
%group.Status = "Failed";
|
||||
%group.EndTWM2Mission();
|
||||
}
|
||||
}
|
||||
|
||||
function TWM2MissionClass::CompleteMission(%group) {
|
||||
%group = nameToID("TWM2Mission");
|
||||
if(%group == -1) {
|
||||
return;
|
||||
}
|
||||
%group.Status = "Success";
|
||||
%group.EndTWM2Mission();
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2Mission(%group) {
|
||||
if(nameToID("TWM2Mission") == -1) {
|
||||
return;
|
||||
}
|
||||
if(%group.mission !$= "") {
|
||||
echo("Mission start: "@%group@"("@%group.getName()@")");
|
||||
%group.RelayMissionOrders();
|
||||
%group.TWM2MissionTimerLoop();
|
||||
|
||||
%group.StartTWM2Mis();
|
||||
|
||||
%group.InProgress = 1;
|
||||
}
|
||||
}
|
||||
|
||||
function TWM2MissionClass::RelayMissionOrders(%group) {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
messageClient(%group.Participant[%i], 'msgFailed', "\c5"@%group.commandName@": "@$Mission::VarSet[%group.mission, "Orders"]@".");
|
||||
}
|
||||
}
|
||||
|
||||
function TWM2MissionClass::MessageMissionGroup(%group, %message) {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
messageClient(%group.Participant[%i], 'msgGroup', ""@collapseEscape(%message)@"");
|
||||
}
|
||||
}
|
||||
|
||||
function isInTWM2Mission(%client) {
|
||||
%group = nameToID("TWM2Mission");
|
||||
if(%group == -1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
if(%group.Participant[%i] == %client) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//This is not the TWM2MissionClass group, but the MissionAspectsGroup which
|
||||
//is used to store all of the objects and commands specific to the mission
|
||||
function CleanGroupAspects(%group) {
|
||||
//kill all zombies part of the mission
|
||||
%count = ZombieGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%obj = ZombieGroup.getObject(%i);
|
||||
if(isObject(%obj)) {
|
||||
if(%obj.iszombie) {
|
||||
if(%obj.isInTheMission) {
|
||||
%obj.scriptkill($DamageType::admin);
|
||||
}
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
//kill all soldiers part of the mission
|
||||
%count = SoldierGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%obj = SoldierGroup.getObject(%i);
|
||||
if(isObject(%obj)) {
|
||||
if(%obj.isSoldier) {
|
||||
if(%obj.isInTheMission) {
|
||||
%obj.scriptkill($DamageType::admin);
|
||||
}
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
for(%i = 0; %i < %group.getCount(); %i++) {
|
||||
%obj = %group.getObject(%i);
|
||||
if(%obj.isPlayer()) {
|
||||
%obj.scriptKill(0); //DIE!
|
||||
%obj.delete();
|
||||
}
|
||||
else {
|
||||
%obj.delete();
|
||||
}
|
||||
}
|
||||
%group.delete();
|
||||
}
|
||||
|
||||
|
||||
//OnTimeZeroMissionName
|
||||
//StartTWM2MisMissionName
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//MISSION EXEC
|
||||
function LoadMissions() {
|
||||
%search = "scripts/twm2/missions/*.cs";
|
||||
for(%file = findFirstFile(%search); %file !$= ""; %file = findNextFile(%search)) {
|
||||
%type = fileBase(%file); // get the name of the script
|
||||
if(%type !$= "MissionCore") {
|
||||
exec("scripts/twm2/missions/" @ %type @ ".cs");
|
||||
}
|
||||
}
|
||||
}
|
||||
LoadMissions();
|
||||
82
scripts/TWM2/Missions/RainDown.cs
Normal file
82
scripts/TWM2/Missions/RainDown.cs
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
package TWM2Mission_RainDown {
|
||||
function TWM2MissionClass::initiateSettings(%group) {
|
||||
%group.commandName = "AC-130 Pilot";
|
||||
%group.failMessage = "Our mission has failed, we'll get them next time";
|
||||
%group.BonusCompleteMessage = "Nice run gunner! let's head back home!";
|
||||
%group.CompleteMessageNoTime = "Good work, We've neutralized the enemy forces just in time.";
|
||||
%group.bonusEXP = 2500;
|
||||
%group.completionEXP = 5000;
|
||||
}
|
||||
|
||||
function TWM2MissionClass::OnTimeZero(%group) {
|
||||
MessageClient(%group.Participant[1], 'msgShip', "\c5"@%group.commandName@": We're low on fuel, we need to turn back now.");
|
||||
%group.EndTWM2Mission();
|
||||
}
|
||||
|
||||
function RainDownMissionLoop(%group, %zgroup) {
|
||||
if(%group.InProgress == 0 || %group.InProgress $= "") {
|
||||
echo("complete.");
|
||||
return;
|
||||
}
|
||||
%living = 0;
|
||||
for(%i = 0; %i < %zGroup.getCount(); %i++) {
|
||||
%zombie = %zGroup.getObject(%i);
|
||||
if(%zombie.isZombie && %zombie.isInTheMission) {
|
||||
if(!isObject(%zombie) || %zombie.getState() $= "dead") {
|
||||
|
||||
}
|
||||
else {
|
||||
%living++;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
if(%living == 0) {
|
||||
AwardClient(%group.participant[1], 32);
|
||||
%group.CompleteMission();
|
||||
}
|
||||
schedule(1000, 0, "RainDownMissionLoop", %group, %zgroup);
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2Mis(%group) {
|
||||
%missionPosCenter = "5400 12000 110";
|
||||
for(%i = 0; %i < 15; %i++) {
|
||||
%posx = vectorAdd(%missionPosCenter, GetRandomPosition(25, 1));
|
||||
%zombie = StartAZombie(%posx, 1);
|
||||
%zombie.isInTheMission = 1;
|
||||
}
|
||||
RainDownMissionLoop(%group, MissionCleanup);
|
||||
|
||||
//
|
||||
%client = %group.Participant[1];
|
||||
|
||||
%obj = new FlyingVehicle() {
|
||||
dataBlock = AC130;
|
||||
position = vectoradd(%missionPosCenter, "0 700 400");
|
||||
rotation = "0 0 0 1";
|
||||
team = %client.team;
|
||||
};
|
||||
MissionCleanUp.add(%obj);
|
||||
%obj.TurretObject.barrel = "Chain";
|
||||
%obj.TurretObject.schedule(2000, SetFrozenState, false);
|
||||
%obj.TurretObject.schedule(2000, SetMoveState, false);
|
||||
|
||||
%obj.isHarbinsWrathShip = 1;
|
||||
%obj.isUltrAlly = 1;
|
||||
|
||||
setTargetSensorGroup(%obj.getTarget(), %client.team);
|
||||
|
||||
%obj.GoPoint = 1;
|
||||
%obj.CanFlare = 1;
|
||||
GunshipForwardImpulse(%obj);
|
||||
%obj.ScanLoop = GetNextGunshipPoint(%obj);
|
||||
|
||||
schedule(180*1000, 0, "EndGunship", %obj, %client);
|
||||
%client.schedule(1000, "setControlObject", %obj.turretObject);
|
||||
commandToClient(%client, 'ControlObjectResponse', true, getControlObjectType(%obj.turretObject,%client.player));
|
||||
%client.gunshipControlLoop = schedule(1000, 0, "GunshipControlLoop", %client, %obj);
|
||||
messageClient(%client, 'msgControls', "\c3GUNSHIP: Press the [Mine] key to toggle weapons");
|
||||
%client.player.lastTransformStuff = %client.player.getTransform();
|
||||
%client.player.setPosition(VectorAdd(%x SPC %y SPC 0,$Prison::JailPos));
|
||||
}
|
||||
};
|
||||
64
scripts/TWM2/Missions/Surrounded.cs
Normal file
64
scripts/TWM2/Missions/Surrounded.cs
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
package TWM2Mission_Surrounded {
|
||||
function TWM2MissionClass::initiateSettings(%group) {
|
||||
%group.commandName = "Command";
|
||||
%group.failMessage = "Your team has been eliminated, mission failed";
|
||||
%group.BonusCompleteMessage = "Excellent work team, you held off those zombies perfectly.";
|
||||
%group.CompleteMessageNoTime = "Nice job team, head on back to base.";
|
||||
%group.bonusEXP = 2500;
|
||||
%group.completionEXP = 1000;
|
||||
}
|
||||
|
||||
function TWM2MissionClass::OnTimeZero(%group) {
|
||||
%group.MessageMissionGroup("\c5"@%group.commandName@": You have survived!!! mission acomplished");
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = game.pickPlayerSpawn( %group.participant[%i], false );
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
|
||||
AwardClient(%group.participant[%i], 35);
|
||||
}
|
||||
%group.AddMissionTime(10); //surviving = success with reward
|
||||
%group.CompleteMission();
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2Mis(%group) {
|
||||
//
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "9526.46 7984.89 93";rotation = "0 0 -1 21.2091";scale = "1 1 1";team = "1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";isSwitchedOn = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9488.05 8001.65 100";rotation = "0 0 1 115.894";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9571.97 7971.99 100";rotation = "0 0 -1 76.7506";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9557.85 7947.1 100";rotation = "0 0 -1 40.5343";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9510.12 8024.52 100";rotation = "0 0 1 157.406";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9535.39 7934.75 100";rotation = "0 0 -1 9.23422";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9512.93 7935.66 100";rotation = "0 0 1 17.4571";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9478.97 7983.36 100";rotation = "0 0 1 91.0928";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9493.53 7946.49 100";rotation = "0 0 1 43.5003";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9528.58 8031.41 100";rotation = "0 0 1 181.104";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9550.88 8025.84 100";rotation = "0 0 1 208.169";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9572.8 8003.44 100";rotation = "0 0 -1 114.945";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9482.44 7961.31 100";rotation = "0 0 1 64.9402";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
TWM2PowerCheck();
|
||||
//
|
||||
|
||||
%sp = "9528 7981 105";
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = vectorAdd(%sp, getRandomPosition(5, 1));
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
//
|
||||
%player = %group.participant[%i].player;
|
||||
%player.setArmor("Medium"); //commando!
|
||||
%player.clearInventory();
|
||||
%player.setInventory(S3Rifle, 1, true);
|
||||
%player.setInventory(S3RifleAmmo, 10, true);
|
||||
%player.ClipCount[S3RifleImage.ClipName] = mfloor(S3RifleImage.InitialClips * 1.5);
|
||||
%player.setInventory(M1700, 1, true);
|
||||
%player.setInventory(M1700Ammo, 1, true);
|
||||
%player.ClipCount[M1700Image.ClipName] = mfloor(M1700Image.InitialClips * 1.5);
|
||||
%player.setInventory(pistol, 1, true);
|
||||
%player.setInventory(pistolAmmo, 10, true);
|
||||
%player.ClipCount[pistolImage.ClipName] = pistolImage.InitialClips;
|
||||
%player.setInventory(TargetingLaser, 1, true);
|
||||
%player.setInventory(RepairKit,3);
|
||||
%player.setInventory(Grenade,5);
|
||||
%player.use(S3Rifle);
|
||||
}
|
||||
}
|
||||
};
|
||||
64
scripts/TWM2/Missions/Surrounded2.cs
Normal file
64
scripts/TWM2/Missions/Surrounded2.cs
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
package TWM2Mission_Surrounded2 {
|
||||
function TWM2MissionClass::initiateSettings(%group) {
|
||||
%group.commandName = "Command";
|
||||
%group.failMessage = "Your team has been eliminated, mission failed";
|
||||
%group.BonusCompleteMessage = "Excellent work team, you held off those zombies perfectly.";
|
||||
%group.CompleteMessageNoTime = "Nice job team, head on back to base.";
|
||||
%group.bonusEXP = 2500;
|
||||
%group.completionEXP = 2500;
|
||||
}
|
||||
|
||||
function TWM2MissionClass::OnTimeZero(%group) {
|
||||
%group.MessageMissionGroup("\c5"@%group.commandName@": You have survived the second horde!!! mission acomplished");
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = game.pickPlayerSpawn( %group.participant[%i], false );
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
|
||||
AwardClient(%group.participant[%i], 36);
|
||||
}
|
||||
%group.AddMissionTime(10); //surviving = success with reward
|
||||
%group.CompleteMission();
|
||||
}
|
||||
|
||||
function TWM2MissionClass::StartTWM2Mis(%group) {
|
||||
//
|
||||
%building = new (StaticShape) () {datablock = "GeneratorLarge";position = "9526.46 7984.89 93";rotation = "0 0 -1 21.2091";scale = "1 1 1";team = "1";ownerGUID = "2000343";deployed = "1";powerFreq = "1";isSwitchedOn = "1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9488.05 8001.65 100";rotation = "0 0 1 115.894";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9571.97 7971.99 100";rotation = "0 0 -1 76.7506";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9557.85 7947.1 100";rotation = "0 0 -1 40.5343";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "4";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9510.12 8024.52 100";rotation = "0 0 1 157.406";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9535.39 7934.75 100";rotation = "0 0 -1 9.23422";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9512.93 7935.66 100";rotation = "0 0 1 17.4571";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "4";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9478.97 7983.36 100";rotation = "0 0 1 91.0928";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9493.53 7946.49 100";rotation = "0 0 1 43.5003";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9528.58 8031.41 100";rotation = "0 0 1 181.104";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "4";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9550.88 8025.84 100";rotation = "0 0 1 208.169";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9572.8 8003.44 100";rotation = "0 0 -1 114.945";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
%building = new (StaticShape) () {datablock = "DeployedZSpawnBase";position = "9482.44 7961.31 100";rotation = "0 0 1 64.9402";scale = "1 1 1";team = "1";ownerGUID = "2000343";powerFreq = "1";ZType = "1";isInTheMission="1";};TWM2MissionAspectsGroup.add(%building);%building.setSelfPowered();%building.getDatablock().gainPower(%building);%building.ZCLoop = schedule(1000, 0, "ZcreateLoop", %building);
|
||||
TWM2PowerCheck();
|
||||
//
|
||||
|
||||
%sp = "9528 7981 105";
|
||||
for(%i = 1; %i <= %group.participants; %i++) {
|
||||
%spF = vectorAdd(%sp, getRandomPosition(5, 1));
|
||||
%group.participant[%i].player.setPosition(%spF);
|
||||
//
|
||||
%player = %group.participant[%i].player;
|
||||
%player.setArmor("Medium"); //commando!
|
||||
%player.clearInventory();
|
||||
%player.setInventory(S3Rifle, 1, true);
|
||||
%player.setInventory(S3RifleAmmo, 10, true);
|
||||
%player.ClipCount[S3RifleImage.ClipName] = mfloor(S3RifleImage.InitialClips * 2.5);
|
||||
%player.setInventory(M1700, 1, true);
|
||||
%player.setInventory(M1700Ammo, 1, true);
|
||||
%player.ClipCount[M1700Image.ClipName] = mfloor(M1700Image.InitialClips * 2.5);
|
||||
%player.setInventory(pistol, 1, true);
|
||||
%player.setInventory(pistolAmmo, 10, true);
|
||||
%player.ClipCount[pistolImage.ClipName] = pistolImage.InitialClips;
|
||||
%player.setInventory(TargetingLaser, 1, true);
|
||||
%player.setInventory(RepairKit,3);
|
||||
%player.setInventory(Grenade,5);
|
||||
%player.use(S3Rifle);
|
||||
}
|
||||
}
|
||||
};
|
||||
14
scripts/TWM2/Missions/TheShallowedCity.cs
Normal file
14
scripts/TWM2/Missions/TheShallowedCity.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
function OnTimeZeroTheShallowedCity(%group) {
|
||||
for(%i = 1; %i <= %group.Participants; %i++) {
|
||||
MessageClient(%group.Participant[%i], 'msgShip', "\c5Command: 10 minutes have expired, speed it up!.");
|
||||
}
|
||||
}
|
||||
|
||||
function StartTWM2MisTheShallowedCity(%group) {
|
||||
loadShallowedCity(%group);
|
||||
}
|
||||
|
||||
//
|
||||
function loadShallowedCity(%group) {
|
||||
|
||||
}
|
||||
224
scripts/TWM2/Objects/MedalSeal.cs
Normal file
224
scripts/TWM2/Objects/MedalSeal.cs
Normal file
|
|
@ -0,0 +1,224 @@
|
|||
//--------------------------------------------------------------------------
|
||||
// Jumpad
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
$TeamDeployableMax[MedalSealDeployable] = 9999;
|
||||
|
||||
datablock StaticShapeData(DeployedMedalSeal) : StaticShapeDamageProfile {
|
||||
className = "jumpad";
|
||||
shapeFile = "nexusbase.dts"; // dmiscf.dts, alternate
|
||||
maxDamage = 2.0;
|
||||
destroyedLevel = 2.0;
|
||||
disabledLevel = 2.0;
|
||||
mass = 1;
|
||||
elasticity = 0.1;
|
||||
friction = 0.9;
|
||||
collideable = 1;
|
||||
pickupRadius = 1;
|
||||
sticky=false;
|
||||
|
||||
impulse = 5000;
|
||||
|
||||
hasLight = true;
|
||||
lightType = "PulsingLight";
|
||||
lightColor = "0.1 0.8 0.8 1.0";
|
||||
lightTime = "100";
|
||||
lightRadius = "3";
|
||||
|
||||
explosion = HandGrenadeExplosion;
|
||||
expDmgRadius = 3.0;
|
||||
expDamage = 0.1;
|
||||
expImpulse = 200.0;
|
||||
dynamicType = $TypeMasks::StaticShapeObjectType;
|
||||
deployedObject = true;
|
||||
cmdCategory = "DSupport";
|
||||
cmdIcon = CMDSensorIcon;
|
||||
cmdMiniIconName = "commander/MiniIcons/com_deploymotionsensor";
|
||||
|
||||
targetNameTag = 'SEAL';
|
||||
targetTypeTag = '';
|
||||
deployAmbientThread = true;
|
||||
debrisShapeName = "debris_generic_small.dts";
|
||||
debris = DeployableDebris;
|
||||
heatSignature = 0;
|
||||
};
|
||||
|
||||
datablock ShapeBaseImageData(MedalSealDeployableImage) {
|
||||
mass = 1;
|
||||
emap = true;
|
||||
shapeFile = "stackable1s.dts";
|
||||
item = MedalSealDeployable;
|
||||
mountPoint = 1;
|
||||
offset = "0 0 0";
|
||||
deployed = DeployedMedalSeal;
|
||||
heatSignature = 0;
|
||||
collideable = 1;
|
||||
stateName[0] = "Idle";
|
||||
stateTransitionOnTriggerDown[0] = "Activate";
|
||||
|
||||
stateName[1] = "Activate";
|
||||
stateScript[1] = "onActivate";
|
||||
stateTransitionOnTriggerUp[1] = "Idle";
|
||||
|
||||
isLarge = true;
|
||||
maxDepSlope = 360; // 30
|
||||
deploySound = ItemPickupSound;
|
||||
|
||||
minDeployDis = 0.5;
|
||||
maxDeployDis = 5.0;
|
||||
};
|
||||
|
||||
datablock ItemData(MedalSealDeployable) {
|
||||
className = Pack;
|
||||
catagory = "Deployables";
|
||||
shapeFile = "stackable1s.dts";
|
||||
mass = 1;
|
||||
elasticity = 0.2;
|
||||
friction = 0.6;
|
||||
pickupRadius = 1;
|
||||
rotate = true;
|
||||
image = "MedalSealDeployableImage";
|
||||
pickUpName = "a jump pad pack";
|
||||
heatSignature = 0;
|
||||
emap = true;
|
||||
};
|
||||
|
||||
function MedalSealDeployable::onPickup(%this, %obj, %shape, %amount) {
|
||||
// created to prevent console errors
|
||||
}
|
||||
|
||||
function MedalSealDeployableImage::onDeploy(%item, %plyr, %slot) {
|
||||
%className = "StaticShape";
|
||||
|
||||
%playerVector = vectorNormalize(-1 * getWord(%plyr.getEyeVector(),1) SPC getWord(%plyr.getEyeVector(),0) SPC "0");
|
||||
|
||||
if (vAbs(floorVec(%item.surfaceNrm,100)) $= "0 0 1")
|
||||
%item.surfaceNrm2 = %playerVector;
|
||||
else
|
||||
%item.surfaceNrm2 = vectorNormalize(vectorCross(%item.surfaceNrm,"0 0 -1"));
|
||||
|
||||
%deplObj = new (%className)() {
|
||||
dataBlock = %item.deployed;
|
||||
scale = "1 1 .2";
|
||||
};
|
||||
|
||||
// set orientation
|
||||
%deplObj.setDeployRotation(getWords(%item.surfacePt, 0, 1) SPC getWord(%item.surfacePt, 2) + 0.1, %item.surfaceNrm);
|
||||
|
||||
// set the recharge rate right away
|
||||
if (%deplObj.getDatablock().rechargeRate)
|
||||
%deplObj.setRechargeRate(%deplObj.getDatablock().rechargeRate);
|
||||
|
||||
if (%deplObj.getTarget() != -1)
|
||||
setTargetSensorGroup(%deplObj.getTarget(), %plyr.client.team);
|
||||
|
||||
// set team, owner, and handle
|
||||
%deplObj.team = %plyr.client.Team;
|
||||
%deplObj.setOwner(%plyr);
|
||||
|
||||
%deplObj.powerFreq = %plyr.powerFreq;
|
||||
|
||||
// place the deployable in the MissionCleanup/Deployables group (AI reasons)
|
||||
addToDeployGroup(%deplObj);
|
||||
|
||||
//let the AI know as well...
|
||||
AIDeployObject(%plyr.client, %deplObj);
|
||||
|
||||
// play the deploy sound
|
||||
serverPlay3D(%item.deploySound, %deplObj.getTransform());
|
||||
|
||||
$TeamDeployedCount[%plyr.team, %item.item]++;
|
||||
|
||||
addDSurface(%item.surface,%deplObj);
|
||||
return %deplObj;
|
||||
}
|
||||
|
||||
function DeployedMedalSeal::onCollision(%data,%obj,%col) {
|
||||
if (%col.getClassName() !$= "Player")
|
||||
return;
|
||||
//
|
||||
%needs = %obj.targetNeeds;
|
||||
%error = %obj.targetNeedsInvalid;
|
||||
//
|
||||
if(%col.client.CheckNWChallengeCompletion(%needs)) {
|
||||
toggleMedalSwitch(%obj, -1, %col);
|
||||
}
|
||||
else {
|
||||
BottomPrint(%col.client, %error, 3, 5);
|
||||
}
|
||||
}
|
||||
|
||||
function DeployedMedalSeal::onDestroyed(%this, %obj, %prevState) {
|
||||
if (%obj.isRemoved)
|
||||
return;
|
||||
%obj.isRemoved = true;
|
||||
Parent::onDestroyed(%this, %obj, %prevState);
|
||||
$TeamDeployedCount[%obj.team, MedalSealDeployable]--;
|
||||
remDSurface(%obj);
|
||||
%obj.schedule(500, "delete");
|
||||
fireBallExplode(%obj,1);
|
||||
}
|
||||
|
||||
function MedalSealDeployableImage::onMount(%data, %obj, %node) {
|
||||
%obj.hasJumpad = true; // set for jumpadcheck
|
||||
%obj.packSet = 0;
|
||||
}
|
||||
|
||||
function MedalSealDeployableImage::onUnmount(%data, %obj, %node) {
|
||||
%obj.hasJumpad = "";
|
||||
%obj.packSet = 0;
|
||||
}
|
||||
|
||||
function toggleMedalSwitch(%obj,%state,%col) {
|
||||
if (%obj.isRemoved)
|
||||
return;
|
||||
// TODO - prevent switching while waiting for timed delay / cancel timed delay if switch is hit?
|
||||
%switchDelay = 1000;
|
||||
if (%state $= "")
|
||||
%state = -1;
|
||||
if (%col == 0 || %col $= "")
|
||||
%force = true;
|
||||
if (!%force) {
|
||||
if (%col.getClassName() !$= "Player")
|
||||
return;
|
||||
if (%col.getState() $= "Dead" || %col.FFZapped == true)
|
||||
return;
|
||||
if (!(%obj.switchTime < getSimTime())) {
|
||||
messageClient(%col.client, 'msgClient', '\c2Must wait %1 seconds between switching states.',mCeil((%obj.switchTime - getSimTime())/1000));
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ((%obj.isSwitchedOff || (%force == true && %state == true)) && !(%force == true && %state == false)) {
|
||||
%state = true;
|
||||
%obj.isSwitchedOff = "";
|
||||
}
|
||||
else {
|
||||
%state = false;
|
||||
%obj.isSwitchedOff = true;
|
||||
}
|
||||
%switchCount = 0;
|
||||
%count = getWordCount($PowerList);
|
||||
// TODO - report number of successes and failures
|
||||
for(%i=0;%i<%count;%i++) {
|
||||
%powerObj = getWord($PowerList,%i);
|
||||
if (vectorDist(%obj.getPosition(),%powerObj.getPosition()) < 200
|
||||
&& !%powerObj.isRemoved && %obj.powerFreq == %powerObj.powerFreq
|
||||
&& %obj.team == %powerObj.team) {
|
||||
toggleGenerator(%powerObj,%state);
|
||||
%switchCount++;
|
||||
}
|
||||
}
|
||||
if (%state == true) {
|
||||
%obj.play3D(SwitchToggledSound);
|
||||
%obj.playThread($AmbientThread,"ambient");
|
||||
if (!%force)
|
||||
messageClient(%col.client, 'msgClient', '\c2%1 objects attempted switched on.',%switchCount);
|
||||
}
|
||||
else {
|
||||
%obj.play3D(SwitchToggledSound);
|
||||
%obj.stopThread($AmbientThread);
|
||||
if (!%force)
|
||||
messageClient(%col.client, 'msgClient', '\c2%1 objects attempted switched off.',%switchCount);
|
||||
}
|
||||
%obj.switchTime = getSimTime() + %switchDelay;
|
||||
}
|
||||
203
scripts/TWM2/Objects/MissileSatellite.cs
Normal file
203
scripts/TWM2/Objects/MissileSatellite.cs
Normal file
|
|
@ -0,0 +1,203 @@
|
|||
//
|
||||
datablock StaticShapeData(MissileShape) : StaticShapeDamageProfile {
|
||||
shapeFile = "weapon_missile_projectile.dts";
|
||||
mass = 1.0;
|
||||
repairRate = 0;
|
||||
dynamicType = $TypeMasks::StaticShapeObjectType;
|
||||
heatSignature = 0;
|
||||
};
|
||||
|
||||
function CruiseMissileVehicle::onAdd(%this, %obj) {
|
||||
Parent::onAdd(%this, %obj);
|
||||
setTargetSensorGroup(%obj.getTarget(), %obj.team);
|
||||
|
||||
%body = new StaticShape() {
|
||||
scale = "20 20 20";
|
||||
datablock = MissileShape;
|
||||
};
|
||||
MissionCleanup.add(%body);
|
||||
%obj.mountObject(%body, 1);
|
||||
%body.vehicleMounted = %obj;
|
||||
|
||||
%obj.startFade(0,100,1);
|
||||
}
|
||||
|
||||
function CruiseMissileVehicle::deleteAllMounted(%data, %obj) {
|
||||
|
||||
%body = %obj.getMountNodeObject(1);
|
||||
if(!%body) {
|
||||
return;
|
||||
}
|
||||
%body.delete();
|
||||
}
|
||||
//
|
||||
function CreateMissileSat(%client, %unlim, %rem) {
|
||||
if(%unlim $= "" || !%unlim) {
|
||||
%unlim = 0;
|
||||
%rem = 0;
|
||||
}
|
||||
|
||||
if($Killstreak::GunshipSpawnLocation[$CurrentMission] $= "") {
|
||||
%spawn = "0 -1000 400";
|
||||
}
|
||||
else {
|
||||
%spawn = $Killstreak::GunshipSpawnLocation[$CurrentMission];
|
||||
}
|
||||
%sat = new FlyingVehicle() {
|
||||
dataBlock = UAVVehicle;
|
||||
position = %spawn;
|
||||
rotation = "0 0 0 1";
|
||||
team = %client.team;
|
||||
};
|
||||
MissionCleanUp.add(%sat);
|
||||
setTargetSensorGroup(%sat.getTarget(), %client.team);
|
||||
|
||||
%sat.GoPoint = 1;
|
||||
GunshipForwardImpulse(%sat);
|
||||
%sat.ScanLoop = schedule(500, 0, "GetNextGunshipPoint", %sat);
|
||||
%client.player.lastTransformStuff = %client.player.getTransform();
|
||||
|
||||
%sat.team = %client.Team;
|
||||
%sat.setOwner(%client.player);
|
||||
|
||||
%sat.canLaucnhStrike = 1;
|
||||
%sat.isUnlimitedSat = %unlim;
|
||||
|
||||
MessageClient(%client, 'msgSatcom', "\c3UAMS: Satellite Moving to Position, Standby....");
|
||||
|
||||
if(!%unlim) {
|
||||
%client.player.setPosition(VectorAdd(%x SPC %y SPC 0,$Prison::JailPos));
|
||||
|
||||
%client.setControlObject(%sat.turretObject);
|
||||
%client.schedule(499, setControlObject, %sat.turretObject);
|
||||
MissileSatControlLoop(%client, %sat);
|
||||
}
|
||||
else {
|
||||
%client.setControlObject(%sat.turretObject);
|
||||
commandToClient(%client, 'ControlObjectResponse', true, getControlObjectType(%sat.turretObject,%client.player));
|
||||
}
|
||||
|
||||
if(%rem) {
|
||||
%sat.turretObject.setAutoFire(true);
|
||||
}
|
||||
}
|
||||
|
||||
function FireSatHornet(%sat, %slot, %source) {
|
||||
%muzzlePos = %sat.getMuzzlePoint(%slot);
|
||||
%muzzleVec = %sat.getMuzzleVector(%slot);
|
||||
//Fiah
|
||||
spawnprojectileSourceMod(HornetStrikeMissile, SeekerProjectile, %muzzlePos, %muzzleVec, %source);
|
||||
ServerPlay3d(EscapePodLaunchSound, %sat.getPosition());
|
||||
ServerPlay3d(EscapePodLaunchSound2, %sat.getPosition());
|
||||
}
|
||||
|
||||
function MissileSatelliteBarrel::onFire(%data, %obj, %slot) {
|
||||
//echo(%obj);
|
||||
if(%obj.mountobj.canLaucnhStrike) {
|
||||
%client = %obj.getControllingClient();
|
||||
%source = %client.player; //muhaha
|
||||
|
||||
%obj.mountobj.canLaucnhStrike = 0;
|
||||
|
||||
FireSatHornet(%obj, %slot, %source);
|
||||
schedule(1500, 0, "FireSatHornet", %obj, %slot, %source);
|
||||
schedule(3000, 0, "FireSatHornet", %obj, %slot, %source);
|
||||
|
||||
if(!%obj.mountobj.isUnlimitedSat) {
|
||||
schedule(4000, 0, "MakeCruiseMissile", %client, %obj);
|
||||
schedule(4000, 0, "ServerPlay3d", EscapePodLaunchSound2, %obj.getPosition());
|
||||
}
|
||||
else {
|
||||
schedule(30000, 0, "ResetSat", %obj.mountobj);
|
||||
//
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(!%obj.mountobj.isUnlimitedSat) {
|
||||
return;
|
||||
}
|
||||
%client = %obj.getControllingClient();
|
||||
bottomPrint(%client, "Missiles are still reloading... standby.", 2, 2);
|
||||
if(isObject(%client.player) && %client.player.getState() !$= "dead") {
|
||||
%client.setControlObject(%client.player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function ResetSat(%sat) {
|
||||
if(isObject(%sat)) {
|
||||
%sat.canLaucnhStrike = 1;
|
||||
}
|
||||
}
|
||||
|
||||
function MakeCruiseMissile(%client, %sat) {
|
||||
if(%client.getControlObject() != %sat) {
|
||||
return;
|
||||
}
|
||||
%Missile = new FlyingVehicle() {
|
||||
dataBlock = "CruiseMissileVehicle";
|
||||
scale = "1 1 1";
|
||||
team = %client.team;
|
||||
mountable = "0"; //drive only
|
||||
};
|
||||
|
||||
setTargetSensorGroup(%Missile.getTarget(), %Missile.team);
|
||||
%Missile.setTransform(vectorAdd(%sat.getPosition(), "0 0 -5") SPC rotFromTransform(%sat.getTransform()));
|
||||
|
||||
%Missile.controller = %client;
|
||||
%sat.GuidedMissile = %Missile;
|
||||
MissionCleanup.add(%Missile);
|
||||
%client.setControlObject(%Missile);
|
||||
|
||||
MissileSatGuidedLoop(%client, %Missile);
|
||||
}
|
||||
|
||||
function ReMoveClientSW(%client) {
|
||||
if(!isObject(%client.player) || %client.player.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%sp = Game.pickPlayerSpawn(%client, false);
|
||||
//2 sec Invincibility please?
|
||||
%client.player.setInvinc(1);
|
||||
%client.player.schedule(2000, "setInvinc", 0);
|
||||
%client.player.setTransform(%client.player.lastTransformStuff); //%sp for new spawn
|
||||
%client.setControlObject(%client.player);
|
||||
}
|
||||
}
|
||||
|
||||
//just a good function to delete the satelite if the client reliquishes control
|
||||
function MissileSatControlLoop(%client, %sat) {
|
||||
if(!isObject(%sat)) {
|
||||
if(isObject(%client.player)) {
|
||||
ReMoveClientSW(%client);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if((%client.getControlObject() != %sat.turretObject) && !%sat.isUnlimitedSat) {
|
||||
//lets check if they are in the missile now...
|
||||
if(%client.getControlObject() == %sat.turretObject.GuidedMissile) {
|
||||
//MissileSatGuidedLoop(%client, %sat.turretObject.GuidedMissile);
|
||||
}
|
||||
//No, they reliquished all control before the guided fired...
|
||||
else {
|
||||
if(isObject(%client.player)) {
|
||||
ReMoveClientSW(%client);
|
||||
}
|
||||
}
|
||||
%sat.schedule(1000, "Delete");
|
||||
return;
|
||||
}
|
||||
//%client.setControlObject(%sat.turretObject);
|
||||
schedule(100, 0, "MissileSatControlLoop", %client, %sat);
|
||||
}
|
||||
|
||||
function MissileSatGuidedLoop(%client, %missile) {
|
||||
if(%client.getControlObject() != %missile) {
|
||||
if(isObject(%client.player)) {
|
||||
ReMoveClientSW(%client);
|
||||
}
|
||||
return;
|
||||
}
|
||||
schedule(100, 0, "MissileSatGuidedLoop", %client, %missile);
|
||||
}
|
||||
265
scripts/TWM2/PGDConnect/ConnectionQueue.cs
Normal file
265
scripts/TWM2/PGDConnect/ConnectionQueue.cs
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
//ConnectionQueue.cs
|
||||
//Phantom139 for TWM2
|
||||
//This script manages multiple connection handlers.
|
||||
|
||||
$TCP::GenericServerPort = 80;
|
||||
$TCP::ConnectionContainer = new ScriptObject() {
|
||||
class = "TCPConnectionList";
|
||||
|
||||
connectionStatus = 0; //Current status indicated by object
|
||||
currentConnection = ""; //Current web address connected to
|
||||
currentSeparator = ""; //Used for FORM POST data separation
|
||||
currentTask = ""; //Current function being used by the container
|
||||
dropConnection = 1; //Auto Drop after task completion
|
||||
dropTimer = 7500; //time in MS until autoDrop is performed
|
||||
|
||||
useHTTP = 0; //switch to the HTTP Object
|
||||
|
||||
requestData = "";
|
||||
|
||||
//create the inner TCP object for controlling the connections
|
||||
//TCPConnection = new TCPObject(PGDConnection) {};
|
||||
TCPQueue[0] = "";
|
||||
};
|
||||
$TCP::ConnectionObject = new TCPObject(PGDConnection);
|
||||
$HTTP::ConnectionObject = new HTTPObject(PGDConnection_HTTP);
|
||||
$BufferLine = 0;
|
||||
|
||||
//control functions for the connection list
|
||||
function TCPConnectionList::establishConnection(%this) {
|
||||
%this.currentTask = %this@".establishConnection();";
|
||||
if(%this.TCPQueue[0] $= "") {
|
||||
error("Task breakoff, queue slot 0 is empty but attempt to a connection?");
|
||||
return;
|
||||
}
|
||||
|
||||
if(%this.useHTTP) {
|
||||
//echo("* Switching to HTTP Object connection for file download");
|
||||
echo("Getting: "@getField(%this.TCPQueue[0], 0)@" => "@getField(%this.TCPQueue[0], 1)@"");
|
||||
$Buffer[$HTTP::ConnectionObject] = -1;
|
||||
$HTTP::ConnectionObject.get(getField(%this.TCPQueue[0], 0)@":80", getField(%this.TCPQueue[0], 1));
|
||||
%this.useHTTP = 0;
|
||||
}
|
||||
else {
|
||||
//%request = %this.call(getField(%this.TCPQueue[0], 2), getField(%this.TCPQueue[0], 3));
|
||||
//echo(%this@"."@getField(%this.TCPQueue[0], 2)@"("@getField(%this.TCPQueue[0], 3)@");");
|
||||
%request = eval(%this@"."@getField(%this.TCPQueue[0], 2)@"("@getField(%this.TCPQueue[0], 3)@");");
|
||||
//echo("Request: "@%request);
|
||||
%this.requestData = %request;
|
||||
|
||||
if(%this.requestData $= "NIL_REQUEST") {
|
||||
//task has been invalidated for some reason, push next one on the queue
|
||||
%this.performNextTask();
|
||||
return;
|
||||
}
|
||||
|
||||
$TCP::ConnectionObject.connect(getField(%this.TCPQueue[0], 0) @ ":" @ $TCP::GenericServerPort);
|
||||
if(%this.dropConnection) {
|
||||
%this.autoDrop = $TCP::ConnectionObject.schedule(%this.dropTimer, "disconnect");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function TCPConnectionList::addTaskToList(%this, %host, %location, %task, %args) {
|
||||
%this.currentTask = %this@".addTaskToList("@%host@", "@%location@", "@%task@", "@%args@");";
|
||||
//echo("Adding TCP: "@%host@":"@%location@" === "@%task@" ("@%args@")");
|
||||
|
||||
if(%this.TCPQueue[0] $= "") {
|
||||
//front of the list.
|
||||
%this.TCPQueue[0] = %host TAB %location TAB %task TAB %args;
|
||||
if(%task $= "http") {
|
||||
%this.useHTTP = 1;
|
||||
}
|
||||
%this.establishConnection(); //connect now.
|
||||
}
|
||||
else {
|
||||
%check = 1;
|
||||
while(%this.TCPQueue[%check] !$= "") {
|
||||
%check++;
|
||||
}
|
||||
%this.TCPQueue[%check] = %host TAB %location TAB %task TAB %args;
|
||||
}
|
||||
}
|
||||
|
||||
function TCPConnectionList::performNextTask(%this) {
|
||||
cancel(%this.autoDrop);
|
||||
%this.currentTask = %this@".performNextTask();";
|
||||
|
||||
if(%this.TCPQueue[1] !$= "") {
|
||||
//there is another task in the list, update the list
|
||||
%this.TCPQueue[0] = ""; //this task is complete
|
||||
%check = 1;
|
||||
while(%this.TCPQueue[%check] !$= "") {
|
||||
%this.TCPQueue[%check-1] = %this.TCPQueue[%check];
|
||||
%this.TCPQueue[%check] = "";
|
||||
%check++;
|
||||
}
|
||||
echo("Performing next task");
|
||||
if(getField(%this.TCPQueue[0], 2) $= "http") {
|
||||
%this.useHTTP = 1;
|
||||
}
|
||||
%this.establishConnection();
|
||||
}
|
||||
else {
|
||||
echo("No next task, completing");
|
||||
%this.TCPQueue[0] = "";
|
||||
}
|
||||
}
|
||||
|
||||
function TCPConnectionList::getRandomSeperator(%this, %length) {
|
||||
%this.currentTask = %this@".getRandomSeperator("@%length@");";
|
||||
|
||||
%alphanumeric = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||
for(%i = 0; %i < %length; %i++) {
|
||||
%index = getRandom(strLen(%alphanumeric));
|
||||
%letter = getSubStr(%alphanumeric, %index, 1);
|
||||
%UpperC = getRandom(0, 1);
|
||||
if(%UpperC) {
|
||||
%letter = strUpr(%letter);
|
||||
}
|
||||
else {
|
||||
%letter = strLwr(%letter);
|
||||
}
|
||||
%seq = %seq @ %letter;
|
||||
}
|
||||
|
||||
%this.currentSeparator = %seq;
|
||||
}
|
||||
|
||||
function TCPConnectionList::makeDisposition(%this, %_name, %_content, %_isEnd) {
|
||||
%this.currentTask = %this@".makeDisposition("@%_name@", "@%_content@", "@%_isEnd@");";
|
||||
|
||||
if(%_isEnd) {
|
||||
%dispo = "--" @ %this.currentSeparator @ "\r\nContent-Disposition: form-data; name=\""@%_name@"\"\r\n\r\n"@%_content@"\r\n--" @ %this.currentSeparator @ "--";
|
||||
}
|
||||
else {
|
||||
%dispo = "--" @ %this.currentSeparator @ "\r\nContent-Disposition: form-data; name=\""@%_name@"\"\r\n\r\n"@%_content@"\r\n";
|
||||
}
|
||||
return %dispo;
|
||||
}
|
||||
|
||||
function TCPConnectionList::makeUploadDisposition(%this, %_name, %_content, %_fileContent, %_isEnd) {
|
||||
%this.currentTask = %this@".makeUploadDisposition("@%_name@", "@%_content@", "@%_fileContent@", "@%_isEnd@");";
|
||||
|
||||
if(%_isEnd) {
|
||||
%dispo = "--" @ %this.currentSeparator @ "\r\nContent-Disposition: form-data; name=\""@%_name@"\"; filename=\""@%_content@"\"\r\nContent-Type: application/octet-stream\r\n"@%_fileContent@"\r\n--" @ %this.currentSeparator @ "--";
|
||||
}
|
||||
else {
|
||||
%dispo = "--" @ %this.currentSeparator @ "\r\nContent-Disposition: form-data; name=\""@%_name@"\"; filename=\""@%_content@"\"\r\nContent-Type: application/octet-stream\r\n"@%_fileContent@"\r\n";
|
||||
}
|
||||
return %dispo;
|
||||
}
|
||||
|
||||
function TCPConnectionList::assembleHTTP1_1Header(%this, %_command, %_userAgent, %_extra) {
|
||||
%this.currentTask = %this@".assembleHTTP1_1Header("@%_command@", "@%_userAgent@", "@%_extra@");";
|
||||
%header = %_command SPC getField(%this.TCPQueue[0], 1) SPC "HTTP/1.1\r\n" @
|
||||
"Host: "@getField(%this.TCPQueue[0], 0)@"\r\n" @
|
||||
"User-Agent: "@%_userAgent@"\r\nConnection: close\r\n" @
|
||||
%_extra;
|
||||
return %header;
|
||||
}
|
||||
|
||||
function TCPConnectionList::dropConnection(%this) {
|
||||
%this.currentTask = %this@".dropConnection();";
|
||||
$TCP::ConnectionObject.disconnect();
|
||||
}
|
||||
|
||||
//functions for the TCP object alone
|
||||
function PGDConnection::onConnected(%this) {
|
||||
//--$PGDConnection::Connected = true;
|
||||
if($DebugMode) {
|
||||
echo("DEBUG: "@$TCP::ConnectionContainer.requestData);
|
||||
}
|
||||
$TCP::ConnectionContainer.connectionStatus = 0;
|
||||
%this.doingSomething = true;
|
||||
%this.response = "";
|
||||
%this.send($TCP::ConnectionContainer.requestData);
|
||||
}
|
||||
|
||||
function PGDConnection::onConnectFailed( %this ) {
|
||||
//--$PGDConnection::Connected = false;
|
||||
$TCP::ConnectionContainer.connectionStatus = 1;
|
||||
%this.response = "CERROR_CONNECTFAILED";
|
||||
//CloseMessagePopup();
|
||||
//MessageBoxOK("Connection Error", "Unable to connect to a server \nPlease try again later.");
|
||||
error("Connection Error Occured");
|
||||
//move up the task list
|
||||
$TCP::ConnectionContainer.currentConnection = "";
|
||||
$TCP::ConnectionContainer.currentTask = "";
|
||||
$TCP::ConnectionContainer.performNextTask();
|
||||
}
|
||||
|
||||
function PGDConnection::onDNSFailed( %this ) {
|
||||
//--$PGDConnection::Connected = false;
|
||||
$TCP::ConnectionContainer.connectionStatus = 2;
|
||||
%this.response = "CERROR_DNSFAIL";
|
||||
//CloseMessagePopup();
|
||||
//MessageBoxOK("DNS Error", "Your DNS server was unable to resolve a host name \nPlease try again later.");
|
||||
error("DNS Error Occured");
|
||||
//move up the task list
|
||||
$TCP::ConnectionContainer.currentConnection = "";
|
||||
$TCP::ConnectionContainer.currentTask = "";
|
||||
$TCP::ConnectionContainer.performNextTask();
|
||||
}
|
||||
|
||||
function PGDConnection::onLine(%this, %line) {
|
||||
if($debugMode) {
|
||||
echo(%line);
|
||||
}
|
||||
|
||||
if (trim(%line) $= "") { //is the line a HTTP header?
|
||||
if (!%this.readyToRead) {
|
||||
%this.readyToRead = true;
|
||||
}
|
||||
}
|
||||
if(!%this.readyToRead) {
|
||||
return; //we have no use for this.
|
||||
}
|
||||
|
||||
%this.response = %this.response @ %line;
|
||||
if(%this.lineEval !$= "") {
|
||||
eval(%this@"."@%this.lineEval@"("@%line@");");
|
||||
//%this.call(%this.lineEval, %line);
|
||||
}
|
||||
}
|
||||
|
||||
function PGDConnection::onDisconnect(%this) {
|
||||
$TCP::ConnectionContainer.connectionStatus = 0;
|
||||
$TCP::ConnectionContainer.currentConnection = "";
|
||||
$TCP::ConnectionContainer.currentTask = "";
|
||||
//
|
||||
$TCP::ConnectionContainer.performNextTask();
|
||||
//
|
||||
if(isSet(%this.finishFunction)) {
|
||||
eval(%this@"."@%this.finishFunction@"("@%this.response@");");
|
||||
//%this.call(%this.finishFunction, %this.response);
|
||||
}
|
||||
}
|
||||
|
||||
//===== HTTP =====
|
||||
function PGDConnection_HTTP::onLine(%this, %line) {
|
||||
if($debugMode) {
|
||||
echo(%line);
|
||||
}
|
||||
|
||||
//full line evaluations are not supported by HTTP objects
|
||||
//we must use a buffer to safely transmit data instead
|
||||
$Buffer[%this, $Buffer[%this]++] = %line;
|
||||
if(%this.lineEval !$= "") {
|
||||
eval(%this@"."@%this.lineEval@"("@%line@");");
|
||||
//%this.call(%this.lineEval, %line);
|
||||
}
|
||||
}
|
||||
|
||||
function PGDConnection_HTTP::onDisconnect(%this) {
|
||||
$TCP::ConnectionContainer.connectionStatus = 0;
|
||||
$TCP::ConnectionContainer.currentConnection = "";
|
||||
$TCP::ConnectionContainer.currentTask = "";
|
||||
//
|
||||
$TCP::ConnectionContainer.performNextTask();
|
||||
//
|
||||
if(isSet(%this.finishFunction)) {
|
||||
eval(%this@"."@%this.finishFunction@"();");
|
||||
//%this.call(%this.finishFunction, %this.response);
|
||||
}
|
||||
}
|
||||
96
scripts/TWM2/PGDConnect/ServerInteraction.cs
Normal file
96
scripts/TWM2/PGDConnect/ServerInteraction.cs
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
// ============================================================
|
||||
// Project : TWM2
|
||||
// File : .\scripts\TWM2\PGDConnect\ServerInteraction.cs
|
||||
// Copyright : 2010, Phantom Games Development
|
||||
// Author : Robert Fritzen (Phantom139)
|
||||
// Created on : Tuesday, November 02, 2010 9:15 AM
|
||||
//
|
||||
// Editor : TorqueDev v. 1.2.3430.42233
|
||||
//
|
||||
// Description : Handles the server interactions with PGD
|
||||
// : Servers: [CORE] [SATELITE]
|
||||
// ============================================================
|
||||
|
||||
$Generic_Rank_Cap = 75000; //if we cannot get a valid connection
|
||||
$TWM2Core_Interface = "www.phantomdev.net" TAB "www.tacticaluprising.phantomdev.net"; //don't touch, server connections
|
||||
$TWM2ServerInfo_Loc = "/ssiInterface.php";
|
||||
|
||||
//connects to the server
|
||||
function establishPGDConnection() {
|
||||
echo("ServerInteraction Initiated... wait for connection...");
|
||||
if (!isObject(serverInterfacing)) {
|
||||
%connection = new TCPObject(serverInterfacing);
|
||||
}
|
||||
else {
|
||||
%connection = serverInterfacing;
|
||||
}
|
||||
%connection.connect(getField($TWM2Core_Interface, 1) @ ":" @ $PGDPort);
|
||||
//set the code!
|
||||
$TWM2Core_Code = sha1sum($TWM2Core_Interface TAB formattimestring("yymmdd"));
|
||||
//schedule next interaction with the server
|
||||
schedule(60000 * 30, 0, "establishPGDConnection"); //every 30 minutes is good.
|
||||
}
|
||||
|
||||
function establishPGDConnection_manual() {
|
||||
echo("ServerInteraction Initiated... wait for connection...");
|
||||
if (!isObject(serverInterfacing)) {
|
||||
%connection = new TCPObject(serverInterfacing);
|
||||
}
|
||||
else {
|
||||
%connection = serverInterfacing;
|
||||
}
|
||||
%connection.connect(getField($TWM2Core_Interface, 1) @ ":" @ $PGDPort);
|
||||
//set the code!
|
||||
$TWM2Core_Code = sha1sum($TWM2Core_Interface TAB formattimestring("yymmdd"));
|
||||
}
|
||||
|
||||
//
|
||||
function serverInterfacing::onConnected(%this) {
|
||||
echo("Connection established with Phantom Games Development (www.phantomdev.net)");
|
||||
%this.schedule(15000, "disconnect");
|
||||
%loc = $TWM2ServerInfo_Loc;
|
||||
%query = "GET" SPC %loc SPC "HTTP/1.1\x0aHost: "@getField($TWM2Core_Interface, 1)@"\r\n\r\n";
|
||||
|
||||
echo("Sending Request Query to Phantom Games Server.");
|
||||
%this.send(%query);
|
||||
}
|
||||
|
||||
function serverInterfacing::onLine(%this, %line) {
|
||||
if (trim(%line) $= "") { //is the line a HTTP header?
|
||||
if (!%this.readyToRead) {
|
||||
%this.readyToRead = true;
|
||||
}
|
||||
}
|
||||
if(!%this.readyToRead) {
|
||||
return; //we have no use for this.
|
||||
}
|
||||
//read necessary data
|
||||
switch$(getWord(%line, 0)) {
|
||||
case "SetEXPCap":
|
||||
$EXPCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))] = getWord(%line, 1);
|
||||
echo("PGD: Daily Rank Cap Has Been Set To: "@getWord(%line, 1)@"");
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
%client.TWM2Core.noMoreEXP[sha1sum(formattimestring("yymmdd"))] = 0;
|
||||
}
|
||||
case "ApplyDevList":
|
||||
%list = getWords(%line, 1);
|
||||
%list = strreplace(%list, "TAB", "\t"); //boom!
|
||||
for(%i = 0; %i < getFieldCount(%list); %i++) {
|
||||
%FieldGUID = getSubStr(getField(%list, %i), 0, strstr(getField(%list, %i), ":"));
|
||||
%FieldLEVEL = getSubStr(getField(%list, %i), strLen(%FieldGUID) + 1, strLen(getField(%list, %i)));
|
||||
$DeveloperList[%i] = %FieldGUID;
|
||||
$DeveloperLevel[%i] = %FieldLEVEL;
|
||||
echo("Developers "@%i@": "@$DeveloperList[%i]@" -> "@$DeveloperLevel[%i]@"");
|
||||
}
|
||||
case "SetHighRank":
|
||||
$RankCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))] = getWord(%line, 1);
|
||||
echo("PGD: Highest Rank Set To "@getWord(%line, 1)@"");
|
||||
case "SetHighOfficer":
|
||||
$OfficerCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))] = getWord(%line, 1);
|
||||
echo("PGD: Highest Officer Rank Set To "@getWord(%line, 1)@"");
|
||||
case "SetEXPMultiplier":
|
||||
$EXPMulti[$TWM2Core_Code, formattimestring("yymmdd"), sha1sum($TWM2Core_Code TAB FormatTWM2Time(formattimestring("yymmdd")))] = getWord(%line, 1);
|
||||
echo("PGD: EXP Multiplier is now: "@getWord(%line, 1)@"");
|
||||
}
|
||||
}
|
||||
51
scripts/TWM2/PGDConnect/UniversalLoading.cs
Normal file
51
scripts/TWM2/PGDConnect/UniversalLoading.cs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
// ---- PGD Loader -------------------------------------------------------------
|
||||
function LoadUniversalBuilding(%client, %file) {
|
||||
%server = ""@$PGDServer@":"@$PGDPort@"";
|
||||
%filename = "/public/Univ/Data/"@%client.guid@"/Buildings/"@%file@".cs";
|
||||
if (!isObject(Univ_Loader)) {
|
||||
%Downloader = new HTTPObject(Univ_Loader){};
|
||||
}
|
||||
else {
|
||||
%Downloader = Univ_Loader;
|
||||
}
|
||||
//If the server crashes here, let everyone know why
|
||||
MessageAll('MsgAdminForce', "\c3"@%client.namebase@" is loading a universally saved building.");
|
||||
echo("Client:" SPC %client.namebase SPC "requests universal load.");
|
||||
%Downloader.client = %client;
|
||||
%Downloader.load = %file;
|
||||
%Downloader.valid = 1;
|
||||
$PGDBuffer[%client, %file] = "";
|
||||
%Downloader.get(%server, %filename);
|
||||
}
|
||||
|
||||
function Univ_Loader::onLine(%this, %line) {
|
||||
%validity = ScanForValidLine(%line);
|
||||
if(!%validity) {
|
||||
messageClient(%this.client, 'MsgClient', "\c5PGD: ERROR, you are requesting a corrupted file.");
|
||||
messageClient(%this.client, 'MsgClient', "\c5Corrupted files contain custom content not signed by the server.");
|
||||
messageClient(%this.client, 'MsgClient', "\c5ABORTING CONNECTION.");
|
||||
%this.valid = 0;
|
||||
%this.disconnect();
|
||||
return;
|
||||
}
|
||||
$PGDBuffer[%this.client, %this.load] = $PGDBuffer[%this.client, %this.load] @ "\n" @ %line;
|
||||
}
|
||||
|
||||
function Univ_Loader::onConnectFailed(%this) {
|
||||
error("-- Could not connect to PGD.");
|
||||
messageClient(%this.client, 'MsgClient', "\c5PGD: Your Building could not be loaded, the server may be offline or going through maintenance.");
|
||||
error("Universal Load: fail (connection)");
|
||||
}
|
||||
|
||||
function Univ_Loader::onDisconnect(%this) {
|
||||
if(!%this.valid) {
|
||||
echo("Universal Load: Corrupt File");
|
||||
$PGDBuffer[%this.client, %this.load] = ""; //clear the buffer.
|
||||
%this.delete();
|
||||
return;
|
||||
}
|
||||
eval($PGDBuffer[%this.client, %this.load]); //evaluate the buffer here, which will make things much faster.
|
||||
$PGDBuffer[%this.client, %this.load] = ""; //clear the buffer.
|
||||
echo("Universal Load: OK");
|
||||
%this.delete();
|
||||
}
|
||||
251
scripts/TWM2/PGDConnect/UniversalRanks.cs
Normal file
251
scripts/TWM2/PGDConnect/UniversalRanks.cs
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
//UniversalRanks.cs
|
||||
//Coded: 1-2-10
|
||||
//By: Phantom139, And alot of improvements by Signal360
|
||||
|
||||
//This script handles all TCP Object related code for the Universal Rank System
|
||||
//It will access the server to check for a universal rank file, if it exists, it
|
||||
//deletes the local file and downloads the unioversal one for use, if it does not
|
||||
//exist it scans the server to see if it is a "Main" Server. If the server is "Main",
|
||||
//The rank is saved to the universal server for usage in other servers.
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
//This first part of the script is the IsServerMain Handler.
|
||||
//It Downloads the server key from PGD and verifies it to the key
|
||||
//The Server Host Specifies.
|
||||
//------------------------------------------------------------------------
|
||||
$ServerType = "Satellite Server";
|
||||
$PGDDebugMode = 0;
|
||||
function currentEpochTime() {
|
||||
rubyEval("tsEval '$temp=' + Time.now.to_i.to_s + ';'");
|
||||
return $temp;
|
||||
}
|
||||
|
||||
function CreateHash(%user, %password, %name) {
|
||||
//%salt = base64_encode(formatTimeString("dd.mm.yy-nn")); //prevent a replay attack?
|
||||
%epoch = currentEpochTime(); //now using epoch time for a better salt
|
||||
%salt = base64_encode(getSubStr(%epoch, 0, strLen(%epoch)-3)); // removing last second to prevent problems
|
||||
%nonce = sha1sum(%user @ %name); // if there is a small delay, it also means
|
||||
%str = %user @ ":" @ %password; // the hash will be different every 10 secs.
|
||||
%hash = sha1sum(%nonce @ sha1sum(%str) @ %salt);
|
||||
if($PGDDebugMode == 1) {
|
||||
MessageDevs("\c3Epoch: "@getSubStr(%epoch, 0, strLen(%epoch)-2)@"");
|
||||
MessageDevs("\c3Salt: "@%salt@"");
|
||||
MessageDevs("\c3Nonce: "@%nonce@"");
|
||||
MessageDevs("\c3Hash: "@%hash@"");
|
||||
}
|
||||
return %hash;
|
||||
}
|
||||
|
||||
function IsServerMain() {
|
||||
if($ServerType $= "Core Server")
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
//function GetKey(){CheckCore();}
|
||||
|
||||
function CheckCore() {
|
||||
echo("*PGD: Performing Server Core Status Check");
|
||||
$TCP::ConnectionContainer.addTaskToList($PGDServer,
|
||||
$PGDKeyHandler,
|
||||
"generatePGDCoreCheck",
|
||||
"");
|
||||
}
|
||||
|
||||
function TCPConnectionList::generatePGDCoreCheck(%this) {
|
||||
echo("*Generating Request");
|
||||
%user = getField($TWM2::PGDCredentials, 0);
|
||||
%password = getField($TWM2::PGDCredentials, 1);
|
||||
%name = sha1Sum($Host::GameName);
|
||||
%hash = CreateHash(%user, %password, %name);
|
||||
|
||||
%this.getRandomSeperator(16);
|
||||
%header = %this.assembleHTTP1_1Header("POST", "Tribes 2", "Content-Type: multipart/form-data; boundary="@%this.currentSeparator@"\r\n");
|
||||
%dispo = %this.makeDisposition(user, %user);
|
||||
%dispo = %dispo @ %this.makeDisposition(hash, %hash);
|
||||
%dispo = %dispo @ %this.makeDisposition(gname, %name, 1);
|
||||
|
||||
%header = %header @ "Content-Length: " @ strLen(%dispo) @ "\r\n\r\n";
|
||||
|
||||
$TCP::ConnectionObject.serverIndex = %counter;
|
||||
$TCP::ConnectionObject.lineEval = "validatePGDCore";
|
||||
return %header @ %dispo;
|
||||
}
|
||||
|
||||
function PGDConnection::validatePGDCore(%this, %line) {
|
||||
if(strStr(%line, "pgd_debug") != -1) {
|
||||
if($PGDDebugMode == 1) {
|
||||
MessageDevs("\c5PGD DEBUG:" SPC %line);
|
||||
}
|
||||
}
|
||||
if (trim(%line) $= "yes")
|
||||
$ServerType = "Core Server";
|
||||
else if (trim(%line) $= "no")
|
||||
$ServerType = "Satellite Server";
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
//This second part of the script handles the downloading of existing files
|
||||
//It uses the PGDISFile from UniversalSupport.cs as well as scans for a current
|
||||
//file.
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
function LoadUniversalRank(%client) {
|
||||
//A Little PGD Connect Ad.
|
||||
%client.donotupdate = 1;
|
||||
if(!%client.IsPGDConnected()) {
|
||||
%client.donotupdate = 0;
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: PGD Connect account required to load universal ranks.");
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: Sign up for PGD Connect today, It's Fast, Easy, and FREE!");
|
||||
messageClient(%client, 'msgPGDRequired', "\c5See: www.public.phantomdev.net/SMF/ in the PGD Section");
|
||||
messageClient(%client, 'msgPGDRequired', "\c5For more details.");
|
||||
schedule(500, 0, "LoadClientRankfile", %client);
|
||||
return 1;
|
||||
}
|
||||
//IS FILE
|
||||
if(!PGD_IsFile("Data/"@%client.guid@"/Ranks/TWM2/Saved.TWMSave")) {
|
||||
%client.donotupdate = 0;
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: PGD Connect confirms you do not have a universal rank.");
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: Play on a main server to start progressing one today!");
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: Loading your local rank file for the time being...");
|
||||
schedule(500, 0, "LoadClientRankfile", %client);
|
||||
return 1;
|
||||
}
|
||||
//Passed, we have a universal rank, time to loady :)
|
||||
MessageClient(%client, 'msgAccess', "\c5PGD: Universal Rank Load Requested, adding to connection queue, please standby.");
|
||||
echo("Client:" SPC %client.namebase SPC "needs universal rank load. It will be stored locally.");
|
||||
//Cache Create
|
||||
%file = "/public/Univ/Data/"@%client.guid@"/Ranks/TWM2/Saved.TWMSave";
|
||||
$HTTP::ConnectionObject.client = %client;
|
||||
$HTTP::ConnectionObject.finishFunction = "onCompleteRankDownload";
|
||||
$TCP::ConnectionContainer.addTaskToList($PGDServer,
|
||||
%file,
|
||||
"http",
|
||||
"");
|
||||
}
|
||||
|
||||
function PGDConnection_HTTP::onCompleteRankDownload(%this) {
|
||||
echo("download complete... evaluating and applying rank");
|
||||
%client = %this.client;
|
||||
|
||||
%fileO = new FileObject();
|
||||
%fileO.openForWrite($TWM::RanksDirectory@"/"@%this.client.guid@"/Saved.TWMSave");
|
||||
for (%i = 0; %i < $Buffer[%this]; %i++) {
|
||||
%fileO.writeLine($Buffer[%this, %i]);
|
||||
$Buffer[%this, %i] = "";
|
||||
}
|
||||
$Buffer[%this] = 0;
|
||||
%fileO.close();
|
||||
%fileO.delete();
|
||||
|
||||
schedule(100, 0, LoadClientRankFile, %client);
|
||||
|
||||
messageClient(%client, 'msgComplete', "\c3PGD: Your rank has been successfully downloaded.");
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
//This third part of the script handles the uploading of rank files
|
||||
//It uses the IsServerMain above to check if the server is "Allowed" to upload
|
||||
//rank files. If it can, it handles the uploading.
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
function PrepareUpload(%client) {
|
||||
if (!isServerMain()) {
|
||||
return;
|
||||
}
|
||||
if(!%client.IsPGDConnected()) {
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: PGD Connect account required to perform this action.");
|
||||
}
|
||||
else {
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: Adding your upload request to the connection queue list.");
|
||||
$TCP::ConnectionContainer.client = %client;
|
||||
$TCP::ConnectionContainer.addTaskToList($PGDServer,
|
||||
$PGDPHPRankUploadHandler,
|
||||
"GeneratePGDUploadRequest",
|
||||
"");
|
||||
}
|
||||
}
|
||||
|
||||
function TCPConnectionList::GeneratePGDUploadRequest(%this) {
|
||||
//pre-generation stuff
|
||||
|
||||
%client = %this.client;
|
||||
%file = $TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
%fileBase = FileBase(%file) @ ".TWMSave";
|
||||
%fileCont = getFileContents(%file);
|
||||
|
||||
%user = getField($TWM2::PGDCredentials, 0);
|
||||
%password = getField($TWM2::PGDCredentials, 1);
|
||||
%name = sha1Sum($Host::GameName);
|
||||
%hash = CreateHash(%user, %password, %name);
|
||||
|
||||
%this.getRandomSeperator(16);
|
||||
%header = %this.assembleHTTP1_1Header("POST", "Tribes 2", "Content-Type: multipart/form-data; boundary="@%this.currentSeparator@"\r\n");
|
||||
%dispo = %this.makeDisposition(guid, %client.guid);
|
||||
%dispo = %dispo @ %this.makeDisposition(user, %user);
|
||||
%dispo = %dispo @ %this.makeDisposition(hash, %hash);
|
||||
%dispo = %dispo @ %this.makeDisposition(gname, %name);
|
||||
%dispo = %dispo @ %this.makeDisposition(version, $TWM2::Version);
|
||||
%dispo = %dispo @ %this.makeDisposition(mod, "TWM2");
|
||||
%dispo = %dispo @ %this.makeUploadDisposition(uploadedfile, %fileBase, %fileCont, 1);
|
||||
|
||||
%header = %header @ "Content-Length: " @ strLen(%dispo) @ "\r\n\r\n";
|
||||
|
||||
$TCP::ConnectionObject.client = %client;
|
||||
$TCP::ConnectionObject.lineEval = "evalRankUpload";
|
||||
return %header @ %dispo;
|
||||
}
|
||||
|
||||
//Handle Errors
|
||||
function PGDConnection::evalRankUpload(%this, %line) {
|
||||
if($PGDDebugMode)
|
||||
echo(%line);
|
||||
%ok = false;
|
||||
if(strStr(%line, "pgd_ban") != -1) {
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c2PGD: You are banned. \c3"@%line@".");
|
||||
}
|
||||
if(strStr(%line, "pgd_debug") != -1) {
|
||||
if($PGDDebugMode == 1) {
|
||||
MessageDevs("\c5PGD DEBUG:" SPC %line);
|
||||
}
|
||||
}
|
||||
switch$ (%line) {
|
||||
case "file_upload_ok":
|
||||
%ok = true;
|
||||
messageClient(%this.client, 'msgdone', "\c5PGD: Your Rank was saved successfully.");
|
||||
case "not_registered":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: PGD Connect account required to perform this action.");
|
||||
case "incompatible_version":
|
||||
error("PGD: This version is no longer supported by PGD Ranks");
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: This version of TWM2 is no longer supported.");
|
||||
case "invalid_hash":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: The authentication hash sent to the server"NL
|
||||
"was not valid. (invalid characters, or no input!)");
|
||||
$ServerType = "Satellite Server";
|
||||
case "incorrect_hash":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: The authentication hash sent to the server"NL
|
||||
"was not correct.");
|
||||
$ServerType = "Satellite Server";
|
||||
case "invalid_guid":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: Your GUID had invalid characters in it,"NL
|
||||
"try again, when it hasn't been tampered with >_>");
|
||||
case "no_guid_input":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: No GUID was sent to the server. Try again!");
|
||||
case "bad_user":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: The username for this server was not filled"NL
|
||||
"in, or it had invalid characters in it.");
|
||||
$ServerType = "Satellite Server";
|
||||
case "bad_version_input":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: The version field was not filled in.");
|
||||
case "save_denied":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: The server has denied your file save request.");
|
||||
case "sql_error":
|
||||
messageClient(%this.client, 'msgPGDRequired', "\c5PGD: There is a problem with the SQL database on the server!");
|
||||
default:
|
||||
return;
|
||||
}
|
||||
if ( %ok )
|
||||
echo( "Universal Rank Save: OK" );
|
||||
else
|
||||
error( "Universal Rank Save: fail (" @ %line @ ")" );
|
||||
}
|
||||
151
scripts/TWM2/PGDConnect/UniversalSaving_Client.cs
Normal file
151
scripts/TWM2/PGDConnect/UniversalSaving_Client.cs
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
//Universal Saving System
|
||||
//By Phantom139
|
||||
|
||||
//Client Script
|
||||
//1. Creates and Manages the connection to the PGD Server.
|
||||
//2. Handles Clients Trying To Save.
|
||||
//3. Handles the file to be saved.
|
||||
//4. Sends the File to the server.
|
||||
//5. Deletes Saved Files on the Server
|
||||
|
||||
function GameConnection::IsPGDConnected(%client) {
|
||||
%guid = %client.guid;
|
||||
if(!%client) {
|
||||
return 0;
|
||||
}
|
||||
if($PGD::IsPGDConnected[%guid] $= "") {
|
||||
%client.CheckPGDConnect();
|
||||
return %client.schedule(2000, "IsPGDConnected");
|
||||
}
|
||||
else {
|
||||
return $PGD::IsPGDConnected[%guid];
|
||||
}
|
||||
}
|
||||
//---------- PGD Saving --------------------------------------------------------
|
||||
|
||||
function GameConnection::CheckPGDConnect(%client) {
|
||||
%guid = %client.guid;
|
||||
%server = ""@$PGDServer@":"@$PGDPort@"";
|
||||
if (!isObject(GUIDGrabber))
|
||||
%Downloader = new HTTPObject(GUIDGrabber){};
|
||||
else %Downloader = GUIDGrabber;
|
||||
%filename = "/Univ/IsConnected.php?guid="@%guid@""; //File Location
|
||||
%Downloader.guid = %guid;
|
||||
%Downloader.get(%server, %filename);
|
||||
}
|
||||
|
||||
function GUIDGrabber::onLine(%this, %line) {
|
||||
%txt = deTag(%line);
|
||||
if (strstr(%txt, "yes")) {
|
||||
$PGD::IsPGDConnected[%this.guid] = 1;
|
||||
%this.disconnect();
|
||||
%this.schedule(1000, delete);
|
||||
}
|
||||
else {
|
||||
$PGD::IsPGDConnected[%this.guid] = 0;
|
||||
%this.disconnect();
|
||||
%this.schedule(1000, delete);
|
||||
}
|
||||
}
|
||||
|
||||
function Univ_ServerConnect(%client, %file, %svDl) {
|
||||
%connection = Univ_SaveClient;
|
||||
if(!%client || %client $= "") {
|
||||
error("Error: No Client Specified");
|
||||
return;
|
||||
}
|
||||
if(!isFile(%file)) {
|
||||
error("Error: File specified does not exist, or is a non permitted file type");
|
||||
return;
|
||||
}
|
||||
//We already have an existing connection, Lets Delete it
|
||||
if (isObject(%connection)) {
|
||||
%connection.disconnect();
|
||||
%connection.delete();
|
||||
}
|
||||
new TCPObject(%connection);
|
||||
%connection.client = %client;
|
||||
%connection.guid = %client.guid;
|
||||
if(%svDl $= "Save") {
|
||||
%connection.save = 1;
|
||||
if(!%client.IsPGDConnected()) {
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: PGD Connect account required to perform this action.");
|
||||
return;
|
||||
}
|
||||
else {
|
||||
%len = GetFileLength(%file);
|
||||
%connection.orgfile = %file;
|
||||
%connection.file = %file; //what are we sending?
|
||||
%connection.filebase = FileBase(%file) @ ".cs";
|
||||
}
|
||||
%connection.connect(""@$PGDServer@":"@$PGDPort@"");
|
||||
}
|
||||
else {
|
||||
%connection.fileTag = FileBase(%file); //what are we sending?
|
||||
%connection.delete = 1;
|
||||
%connection.connect(""@$PGDServer@":"@$PGDPort@"");
|
||||
}
|
||||
}
|
||||
|
||||
function Univ_SaveClient::onConnected(%this) {
|
||||
%this.schedule(15000, "disconnect");
|
||||
if(%this.save == 1) {
|
||||
%sep = getRandomSeparator(16);
|
||||
%filecont = getFileContents(%this.orgfile);
|
||||
%loc = $PGDPHPUploadHandler;
|
||||
%header1 = "POST" SPC %loc SPC "HTTP/1.1\r\n";
|
||||
%host = "Host: "@$PGDServer@"\r\n";
|
||||
%header2 = "Connection: close\r\nUser-Agent: Tribes 2\r\n";
|
||||
%contType = "Content-Type: multipart/form-data; boundary="@%sep@"\r\n";
|
||||
%guidReq = "--"@%sep@"\r\nContent-Disposition: form-data; name=\"guid\"\r\n\r\n"@%this.guid@"";
|
||||
%fileReq = "--"@%sep@"\r\nContent-Disposition: form-data; name=\"uploadedfile\"; filename=\""@%this.filebase@"\"\r\nContent-Type: application/octet-stream";
|
||||
%payload = %guidReq@"\r\n"@%filereq@"\r\n"@%filecont@"--"@%sep@"--";
|
||||
%qlen = strLen(%payload);
|
||||
%contentLeng = "Content-Length: "@%qlen@"\r\n\r\n";
|
||||
%query = %header1@%host@%header2@%contType@%contentLeng@%payload;
|
||||
echo("Connected to Phantom Games Server, Sending File Data...");
|
||||
%this.send(%query);
|
||||
}
|
||||
else {
|
||||
%loc = $PGDPHPDelHandler@"?guid="@%this.guid@"&filetokill="@%this.file@"";
|
||||
%query = "GET" SPC %loc SPC "HTTP/1.1\x0aHost: "@$PGDServer@"\r\n\r\n";
|
||||
echo("Sending:"SPC%query);
|
||||
echo("Connected to Phantom Games Server, Deleting File");
|
||||
%this.send(%query);
|
||||
}
|
||||
}
|
||||
|
||||
function Univ_SaveClient::get(%connection, %server, %query) {
|
||||
%connection.server = %server;
|
||||
%connection.query = %query;
|
||||
%connection.connect(%server);
|
||||
}
|
||||
|
||||
//Handle Errors
|
||||
function Univ_SaveClient::onLine(%this, %line) {
|
||||
//echo("PGD Server Response: "@%line@".");
|
||||
if(strstr(%line, "file_upload_ok") != -1) {
|
||||
messageClient(%this.client, 'msgdone', "\c5PGD: Your File was Saved Successfully.");
|
||||
echo("Universal Save: OK");
|
||||
}
|
||||
else if(strstr(%line, "not_registered") != -1)
|
||||
{
|
||||
messageClient(%client, 'msgPGDRequired', "\c5PGD: PGD Connect account required to perform this action.");
|
||||
}
|
||||
else
|
||||
{
|
||||
error("PGD Error: "@%line);
|
||||
}
|
||||
}
|
||||
|
||||
function Univ_SaveClient::onDisconnect(%this) {
|
||||
%this.delete();
|
||||
}
|
||||
|
||||
function Univ_SaveClient::onConnectFailed(%this) {
|
||||
error("-- Could not connect to PGD.");
|
||||
messageClient(%this.client, 'MsgClient', "\c5PGD: Your Building could not be saved, the server may be offline or going through maintenance.");
|
||||
error("Universal Save: fail (connection)");
|
||||
%this.delete();
|
||||
return;
|
||||
}
|
||||
120
scripts/TWM2/PGDConnect/UniversalSupport.cs
Normal file
120
scripts/TWM2/PGDConnect/UniversalSupport.cs
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
//Support Script, Allows this to work
|
||||
//Updated 2.1, Signal360's Changes implemented
|
||||
//Universal Ranks Implemented
|
||||
|
||||
//We keep these files hidden so no outsiders can fuck with our stuff
|
||||
$PGDPHPUploadHandler = "/public/Univ/Buildings/upload.php"; //no touchy
|
||||
$PGDPHPDelHandler = "/public/Univ/Buildings/delete.php?Filetokill=";
|
||||
$PGDKeyHandler = "/public/Univ/Ranks/key.php";
|
||||
$PGDEMailHandler = "/public/Univ/Ranks/antiTamperDispatch.php";
|
||||
|
||||
$PGDPHPRankUploadHandler = "/public/Univ/Ranks/upload.php";
|
||||
|
||||
$PGDPort = 80; //TCP
|
||||
$PGDServer = "www.phantomdev.net";
|
||||
|
||||
//PGD IS FILE
|
||||
function PGD_IsFile(%file) {
|
||||
if($PGD::IsFile[%file] $= "" || $PGD::IsFile[%file] == -1) {
|
||||
PGD_IsFileDL(%file);
|
||||
return schedule(5000, 0, "PGD_IsFile", %file);
|
||||
}
|
||||
else {
|
||||
return $PGD::IsFile[%file];
|
||||
}
|
||||
}
|
||||
|
||||
function PGD_IsFileDL(%file) {
|
||||
%server = ""@$PGDServer@":"@$PGDPort@"";
|
||||
%filename = "/public/Univ/IsFile.php?File="@%file@"";
|
||||
if (!isObject(PGDISFile)) {
|
||||
%Downloader = new HTTPObject(PGDISFile){};
|
||||
}
|
||||
else {
|
||||
%Downloader = PGDISFile;
|
||||
}
|
||||
%Downloader.File = %file;
|
||||
echo("Getting");
|
||||
%Downloader.get(%server, %filename);
|
||||
}
|
||||
|
||||
function PGDISFile::onLine(%this, %line) {
|
||||
echo(%line);
|
||||
if(strStr(%line, "Not") != -1) {
|
||||
$PGD::IsFile[%this.File] = 0;
|
||||
%this.schedule(1000, disconnect);
|
||||
%this.schedule(1500, delete);
|
||||
}
|
||||
else {
|
||||
$PGD::IsFile[%this.File] = 1;
|
||||
%this.schedule(1000, disconnect);
|
||||
%this.schedule(1500, delete);
|
||||
}
|
||||
}
|
||||
|
||||
function PGDISFile::onConnectFailed(%this) {
|
||||
error("-- Could not connect to PGD Is File, re-attempt, 30 sec.");
|
||||
$PGD::IsFile[%this.File] = -1;
|
||||
//
|
||||
schedule(30000, 0, "PGD_IsFile", %this.File);
|
||||
%this.disconnect();
|
||||
%this.delete();
|
||||
}
|
||||
|
||||
function PGDISFile::onDisconnect(%this) {
|
||||
|
||||
}
|
||||
|
||||
//END PGD IS FILE
|
||||
|
||||
function GetFileLength(%file) {
|
||||
new fileobject(LengthReader);
|
||||
LengthReader.openforread(%file);
|
||||
%bool = 0;
|
||||
while(!%bool) {
|
||||
%bool = LengthReader.isEOF();
|
||||
%Msg = LengthReader.readLine();
|
||||
$message = ""@$message@"\n"@%Msg@"";
|
||||
}
|
||||
%count = strLen($message);
|
||||
$message = "";
|
||||
return %count;
|
||||
}
|
||||
|
||||
function getFileContents(%file) {
|
||||
new fileobject(filereader);
|
||||
filereader.openforread(%file);
|
||||
%bool = 0;
|
||||
while(!%bool) {
|
||||
%bool = filereader.isEOF();
|
||||
%Msgget = filereader.readLine();
|
||||
%msg = ""@%msg@""NL""@%Msgget@"";
|
||||
}
|
||||
return %msg;
|
||||
}
|
||||
|
||||
//added 2.4
|
||||
//Prevent custom (unwanted) content in universal loads
|
||||
function ScanForValidLine(%line) {
|
||||
if (getsubstr(%line, 0, 2) $= "//") {
|
||||
//commented lines like this cannot possibly deliver custom content.
|
||||
//thus they must be alloted.
|
||||
return 1;
|
||||
}
|
||||
else if(getsubstr(trim(%line), 0, 1) $= "") {
|
||||
//Blank lines are completely harmless
|
||||
return 1;
|
||||
}
|
||||
else if(getsubstr(%line, 0, 29) $= "%building = new (StaticShape)" ||
|
||||
getsubstr(%line, 0, 32) $= "%building = new (ForceFieldBare)" ||
|
||||
getsubstr(%line, 0, 24) $= "%building = new (Turret)" ||
|
||||
getsubstr(%line, 0, 30) $= "%building = new (BeaconObject)") {
|
||||
//this is our official line check, if it's a building DB line
|
||||
//it is safe, and valid.
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
//this line has been tampered with, and is invalid.
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
3
scripts/TWM2/PGDConnect/Warning.txt
Normal file
3
scripts/TWM2/PGDConnect/Warning.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
All files in this folder are the basic functioning for PGD services.
|
||||
|
||||
Do not delete these files.
|
||||
3
scripts/TWM2/Soldier/LoadSoldierScripts.cs
Normal file
3
scripts/TWM2/Soldier/LoadSoldierScripts.cs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
//Soldier Scripts Loading
|
||||
|
||||
exec("scripts/TWM2/Soldier/SoldierCreation.cs");
|
||||
81
scripts/TWM2/Soldier/SoldierCreation.cs
Normal file
81
scripts/TWM2/Soldier/SoldierCreation.cs
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
function SPSpawnSoldier(%obj) {
|
||||
%Cpos = vectorAdd(%obj.getposition() , "0 0 4");
|
||||
%type = %obj.spawnType;
|
||||
switch(%type) {
|
||||
case 1:
|
||||
//basic rifleman
|
||||
%armor = new player() {
|
||||
Datablock = LightMaleHumanArmor;
|
||||
};
|
||||
%armor.setInventory(G41Rifle, 1, true);
|
||||
%armor.setInventory(G41RifleAmmo, 9999, true);
|
||||
%armor.ClipCount["G41RifleClip"] = 999;
|
||||
%armor.use(G41Rifle);
|
||||
|
||||
%name = "Rifleman";
|
||||
case 2:
|
||||
//basic SMG
|
||||
%armor = new player() {
|
||||
Datablock = LightMaleHumanArmor;
|
||||
};
|
||||
%armor.setInventory(Pg700, 1, true);
|
||||
%armor.setInventory(Pg700Ammo, 9999, true);
|
||||
%armor.ClipCount["Pg700Clip"] = 999;
|
||||
%armor.use(Pg700);
|
||||
|
||||
%name = "Sub Machine Gunner";
|
||||
case 3:
|
||||
//sniper
|
||||
%armor = new player() {
|
||||
Datablock = LightMaleHumanArmor;
|
||||
};
|
||||
%armor.setInventory(G17SniperRifle, 1, true);
|
||||
%armor.setInventory(G17SniperRifleAmmo, 9999, true);
|
||||
%armor.ClipCount["G17Clip"] = 999;
|
||||
%armor.use(G17SniperRifle);
|
||||
|
||||
%name = "Sniper";
|
||||
case 4:
|
||||
//commando/shotgunner
|
||||
%armor = new player() {
|
||||
Datablock = MediumMaleHumanArmor;
|
||||
};
|
||||
%armor.setInventory(SCD343, 1, true);
|
||||
%armor.setInventory(SCD343Ammo, 9999, true);
|
||||
%armor.ClipCount["SCD343Clip"] = 999;
|
||||
%armor.use(SCD343);
|
||||
|
||||
%name = "Commando Shotgunner";
|
||||
case 5:
|
||||
//heavy gunner
|
||||
%armor = new player() {
|
||||
Datablock = HeavyMaleHumanArmor;
|
||||
};
|
||||
%armor.setInventory(MG42, 1, true);
|
||||
%armor.setInventory(MG42Ammo, 9999, true);
|
||||
%armor.ClipCount["MG42Clip"] = 999;
|
||||
%armor.use(MG42);
|
||||
|
||||
%name = "Heavy Gunner";
|
||||
}
|
||||
|
||||
if(%obj.isInTheMission) {
|
||||
%armor.isInTheMission = 1;
|
||||
}
|
||||
//setup
|
||||
%armor.type = %type;
|
||||
%armor.setTransform(%Cpos);
|
||||
%armor.canjump = 1;
|
||||
%armor.isSoldier = 1;
|
||||
|
||||
%armor.team = 20;
|
||||
|
||||
SoldierGroup.add(%armor);
|
||||
|
||||
%armor.target = createTarget(%armor, %name, "", "Male1", '', %armor.team, PlayerSensor);
|
||||
setTargetSensorData(%armor.target, PlayerSensor);
|
||||
setTargetSensorGroup(%armor.target, 20);
|
||||
setTargetName(%armor.target, addtaggedstring(%name));
|
||||
//
|
||||
%armor.moveLoop = schedule(1000, %armor, beginSoldierAI, %armor);
|
||||
}
|
||||
456
scripts/TWM2/Systems/AdvancedRankSystem.cs
Normal file
456
scripts/TWM2/Systems/AdvancedRankSystem.cs
Normal file
|
|
@ -0,0 +1,456 @@
|
|||
$TWM::RanksDirectory = "Server/TWM/Saved";
|
||||
// This is where all of the ranks will be saved
|
||||
// I highly recommend leaving this alone
|
||||
|
||||
function LoadRanksBase() {
|
||||
echo("Loading The Ranking System Base");
|
||||
findTopRanks();
|
||||
//Modified 2.6, top ranks handled by PGD now
|
||||
}
|
||||
|
||||
function CreateClientRankFile(%client) {
|
||||
if(!isSet(%client)) {
|
||||
return;
|
||||
}
|
||||
if(%client.donotupdate) {
|
||||
echo("Stopped rank file make on "@%client@", server denies access (probably loading univ rank)");
|
||||
return;
|
||||
}
|
||||
$ModFile.openforWrite(""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave");
|
||||
$ModFile.WriteLine("//Ranks & Settings File For GUID "@%client.guid@" / Name: "@%client.namebase@"");
|
||||
$ModFile.WriteLine("//Created On "@formattimestring("yy-mm-dd")@", Total Warfare Mod 2 "@$TWM2::Version@"");
|
||||
$ModFile.close();
|
||||
ClientContainer(%client);
|
||||
%scriptController = %client.TWM2Core;
|
||||
if(!isObject(%scriptController)) {
|
||||
//yikes, no script object controller yet, time to create it
|
||||
%soNAME = "TWM2Client_"@%client.guid@"";
|
||||
%client.TWM2Core = new ScriptObject(%soNAME) {};
|
||||
%scriptController = %client.TWM2Core;
|
||||
}
|
||||
//now apply the base settings for this new file.
|
||||
%scriptController.name = %client.namebase;
|
||||
%scriptController.xp = 0;
|
||||
%scriptController.money = 0;
|
||||
%scriptController.rank = "Private";
|
||||
%scriptController.phrase = "None Set";
|
||||
%scriptController.gameTime = 0;
|
||||
%scriptController.millionxp = 0;
|
||||
//and save the new file
|
||||
%client.container.add(%scriptController);
|
||||
//
|
||||
echo("Ranks File For "@%client.namebase@" created");
|
||||
exec(""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave");
|
||||
MessageAll('WelcomeTheNoob',"\c4"@$ChatBot::Name@": Welcome To Total Warfare Mod For The First Time "@%client.namebase@".");
|
||||
}
|
||||
|
||||
//Phantom139: This function is no longer necessary :)
|
||||
//function UpdateRankFile(%client) {
|
||||
// if(%client.donotupdate) {
|
||||
// echo("Stopped rank update on "@%client@", server denies access (probably loading univ rank)");
|
||||
// return;
|
||||
// }
|
||||
// echo("Updating "@%client.namebase@"'s Rank File");
|
||||
// %file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
//
|
||||
// %scriptController = %client.TWM2Core;
|
||||
// %scriptController.save(%file);
|
||||
//
|
||||
// echo("Update complete");
|
||||
// exec(%file);
|
||||
//
|
||||
// checkForXPAwards(%client);
|
||||
//}
|
||||
|
||||
function LoadClientRankfile(%client) {
|
||||
%client.donotupdate = 0;
|
||||
echo("Attempting To Load "@%client.namebase@"'s Ranks File");
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
if(!isFile(%file)) {
|
||||
echo(""@%client.namebase@" does not have a save file, creating one.");
|
||||
CreateClientRankFile(%client);
|
||||
//schedule(5000,0,"UpdateRankFile", %client);
|
||||
}
|
||||
else {
|
||||
//
|
||||
LoadClientFile(%client);
|
||||
}
|
||||
//define a new script object for the client, if it does not yet exist
|
||||
%soNAME = "Container_"@%client.guid@"/TWM2Client_"@%client.guid@"";
|
||||
%object = nameToId(%soNAME);
|
||||
if(!isObject(%object)) {
|
||||
echo("TWM2 Rank/Setting Client Controller Object is non-existant, creating");
|
||||
%client.TWM2Core = new ScriptObject("TWM2Client_"@%client.guid) {};
|
||||
%client.container.add(%client.TWM2Core);
|
||||
}
|
||||
else {
|
||||
echo("Found TWM2 Rank/Setting Client Controller for "@%client@" -> "@%object@"");
|
||||
%client.TWM2Core = %object;
|
||||
%client.TWM2Core.noMoreEXP[sha1sum(formattimestring("yymmdd"))] = 0; //reset on join
|
||||
}
|
||||
//
|
||||
PlayerTimeLoop(%client); //post load functions
|
||||
}
|
||||
|
||||
function UpdateClientRank(%client) {
|
||||
if(!isSet(%client) || %client.guid $= "") {
|
||||
return;
|
||||
}
|
||||
if(%client.donotupdate) {
|
||||
echo("Stopped rank up check on "@%client@", server denies access (probably loading univ rank)");
|
||||
return;
|
||||
}
|
||||
%scriptController = %client.TWM2Core;
|
||||
if($XPArray[%client] <= 0) {
|
||||
return; //kill it here, no need to go into the loop
|
||||
}
|
||||
if(%scriptController.officer $= "") {
|
||||
%scriptController.officer = 0;
|
||||
}
|
||||
//anti-Hack system.
|
||||
%maxPossibleGain = getMaxGainedEXP(%client);
|
||||
%todaysDate = sha1sum(formattimestring("yymmdd"));
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
//If I ever do so implement an EXP cap, here is where it is placed
|
||||
%multi = $EXPMulti[$TWM2Core_Code, formattimestring("yymmdd"), sha1sum($TWM2Core_Code TAB FormatTWM2Time(formattimestring("yymmdd")))];
|
||||
if(!isSet(%multi) || %multi < 1) {
|
||||
%multi = 1;
|
||||
}
|
||||
//
|
||||
if(!%client.isdev && (%scriptController.xpGain[%todaysDate] >= $EXPCap[$TWM2Core_Code, %todaysDate]) && isSet($EXPCap[$TWM2Core_Code, %todaysDate])) {
|
||||
//sorry pal, you're over today's rank cap.
|
||||
$XPArray[%client] = 0;
|
||||
//%scriptController.save(%file);
|
||||
return;
|
||||
}
|
||||
// convert it to second form
|
||||
if(!isSet(%scriptController.millionxp)) {
|
||||
%scriptController.millionxp = 0;
|
||||
}
|
||||
if((%scriptController.xp + $XPArray[%client]) >= 1000000) {
|
||||
%scriptController.xp = 0;
|
||||
%scriptController.millionxp++;
|
||||
}
|
||||
%scriptController.xp += $XPArray[%client];
|
||||
%scriptController.xpGain[%todaysDate] += $XPArray[%client];
|
||||
//%scriptController.save(%file);
|
||||
checkForXPAwards(%client);
|
||||
$XPArray[%client] = 0;
|
||||
%j = $Rank::RankCount;
|
||||
runRankUpdateLoop(%client, %j, 1);
|
||||
}
|
||||
|
||||
function runRankUpdateLoop(%client, %j, %continue) {
|
||||
if(!%continue) {
|
||||
return;
|
||||
//break the function run through here
|
||||
}
|
||||
if(%j <= 0) {
|
||||
return;
|
||||
}
|
||||
%name = %client.namebase;
|
||||
%scriptController = %client.TWM2Core;
|
||||
if(getCurrentEXP(%client) >= $Ranks::MinPoints[%j]){
|
||||
if(%scriptController.rank !$= $Ranks::NewRank[%j] && !GetRankCap(((%scriptController.officer)*$Rank::RankCount)+%j)) {
|
||||
%scriptController.rankNumber = %j;
|
||||
if($TWM2::UseRankTags) {
|
||||
DoNameChangeChecks(%client);
|
||||
}
|
||||
%scriptController.rank = $Ranks::NewRank[%j];
|
||||
if($Prestige::Name[%scriptController.officer] >= 1) {
|
||||
$Prestige::Name[%scriptController.officer] = "";
|
||||
}
|
||||
messageAll('msgclient',"\c2"@%name@" has become a "@$Prestige::Name[%scriptController.officer]@""@$Ranks::NewRank[%j]@" with a XP of "@getCurrentEXP(%client)@"!");
|
||||
messageclient(%client, 'Msgclient', "~wfx/Bonuses/Nouns/General.wav");
|
||||
bottomPrint(%client, "Excelent work "@%name@", you have been promoted to the rank of: "@$Prestige::Name[%scriptController.officer]@""@$Ranks::NewRank[%j]@"!", 5, 2 );
|
||||
echo("Promotion: "@%name@" to Rank "@$Ranks::NewRank[%j]@", XP: "@getCurrentEXP(%client)@".");
|
||||
//UpdateRankFile(%client);
|
||||
SaveClientFile(%client);
|
||||
//
|
||||
PrepareUpload(%client);
|
||||
%j = 1;
|
||||
runRankUpdateLoop(%client, %j, 0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
%j--;
|
||||
runRankUpdateLoop(%client, %j, 1);
|
||||
}
|
||||
}
|
||||
|
||||
function GetRankCap(%j) {
|
||||
if(!isSet($RankCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))]) || $RankCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))] <= 0) {
|
||||
return false;
|
||||
}
|
||||
//
|
||||
else {
|
||||
if(%j >= $RankCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))]) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function GetOfficerCap(%j) {
|
||||
if(!isSet($OfficerCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))]) || $OfficerCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))] <= 0) {
|
||||
return false;
|
||||
}
|
||||
//
|
||||
else {
|
||||
if(%j >= $OfficerCap[$TWM2Core_Code, sha1sum(formattimestring("yymmdd"))]) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function checkForXPAwards(%client) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%xp = getCurrentEXP(%client);
|
||||
if(%xp >= 3000000 && !$Medals::AboutDamnTime[%client.guid]) {
|
||||
AwardClient(%client, "5");
|
||||
}
|
||||
else if(%xp >= 250000 && !$Medals::HonorsC[%client.guid]) {
|
||||
AwardClient(%client, "4");
|
||||
}
|
||||
else if(%xp >= 25000 && !$Medals::HonorsB[%client.guid]) {
|
||||
AwardClient(%client, "3");
|
||||
}
|
||||
else if(%xp >= 2500 && !$Medals::HonorsA[%client.guid]) {
|
||||
AwardClient(%client, "2");
|
||||
}
|
||||
}
|
||||
|
||||
function getCurrentEXP(%client) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%xp = %scriptController.xp + (1000000*%scriptController.millionxp);
|
||||
return %xp;
|
||||
}
|
||||
|
||||
//PRESTIGE RANKS
|
||||
function PromoteToPrestige(%client) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%savedGameTime = %scriptController.gameTime;
|
||||
%savedPhrs = %scriptController.phrase;
|
||||
%savedMoney = %scriptController.money;
|
||||
if(%scriptController.officer $= "" || %scriptController.officer == 0) {
|
||||
%next = 1;
|
||||
}
|
||||
else {
|
||||
%next = %scriptController.officer++;
|
||||
}
|
||||
|
||||
if(GetOfficerCap(%next)) {
|
||||
error("Client "@%client@"["@%client.getAddress()@"]("@%client.namebase@":"@%client.guid@") attempting to hack past cap.");
|
||||
error("It is recommended you report these details to Phantom139 (phantom139@phantomdev.net) ASAP.");
|
||||
error("Client has been informed of this, if it is reported to be a mistake, inform Phantom139 of possible code error");
|
||||
messageClient(%client, 'msgAlert', "\c3Alert! You have performed an Illegal action(trying to promote to an officer rank beyond cap level)\nIf you believe this is a mistake, you should inform the server host ASAP.");
|
||||
return;
|
||||
}
|
||||
|
||||
DumpStats(%client);
|
||||
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
|
||||
%name = "ClientSettings"@%client.guid@"";
|
||||
%check = nameToID(%name);
|
||||
if(isObject(%check)) {
|
||||
%check.delete(); //kill current settings, as they are no longer valid.
|
||||
}
|
||||
%script = new ScriptObject(%name) {};
|
||||
%client.container.add(%script);
|
||||
|
||||
//now apply the base settings for this new file.
|
||||
%client.TWM2Core.name = %client.namebase;
|
||||
%client.TWM2Core.xp = 0;
|
||||
%client.TWM2Core.millionxp = 0;
|
||||
%client.TWM2Core.money = %savedMoney;
|
||||
%client.TWM2Core.rank = "Private";
|
||||
%client.TWM2Core.phrase = %savedPhrs;
|
||||
%client.TWM2Core.gameTime = %savedGameTime;
|
||||
%client.TWM2Core.officer = %next;
|
||||
//and save the new file
|
||||
//%scriptController.save(%file);
|
||||
SaveClientFile(%client);
|
||||
|
||||
MessageAll('msgSpecial', "\c5"@%client.namebase@" has promoted to Officer level "@%next@".");
|
||||
recordAction(%client, "", ""); //record blank action for the challenges to pick off any officer challenges
|
||||
|
||||
switch(%next) {
|
||||
case 1:
|
||||
schedule(1000, 0, "CompleteNWChallenge", %client, "Prestige1");
|
||||
case 2:
|
||||
schedule(1000, 0, "CompleteNWChallenge", %client, "Prestige1");
|
||||
schedule(1500, 0, "CompleteNWChallenge", %client, "Prestige2");
|
||||
case 3:
|
||||
schedule(1000, 0, "CompleteNWChallenge", %client, "Prestige1");
|
||||
schedule(1500, 0, "CompleteNWChallenge", %client, "Prestige2");
|
||||
schedule(2000, 0, "CompleteNWChallenge", %client, "Prestige3");
|
||||
case 4:
|
||||
schedule(1000, 0, "CompleteNWChallenge", %client, "Prestige1");
|
||||
schedule(1500, 0, "CompleteNWChallenge", %client, "Prestige2");
|
||||
schedule(2000, 0, "CompleteNWChallenge", %client, "Prestige3");
|
||||
schedule(2500, 0, "CompleteNWChallenge", %client, "Prestige4");
|
||||
case 5 or 6 or 7 or 8:
|
||||
schedule(1000, 0, "CompleteNWChallenge", %client, "Prestige1");
|
||||
schedule(1500, 0, "CompleteNWChallenge", %client, "Prestige2");
|
||||
schedule(2000, 0, "CompleteNWChallenge", %client, "Prestige3");
|
||||
schedule(2500, 0, "CompleteNWChallenge", %client, "Prestige4");
|
||||
schedule(3000, 0, "CompleteNWChallenge", %client, "Prestige5");
|
||||
case 9:
|
||||
schedule(1000, 0, "CompleteNWChallenge", %client, "Prestige1");
|
||||
schedule(1500, 0, "CompleteNWChallenge", %client, "Prestige2");
|
||||
schedule(2000, 0, "CompleteNWChallenge", %client, "Prestige3");
|
||||
schedule(2500, 0, "CompleteNWChallenge", %client, "Prestige4");
|
||||
schedule(3000, 0, "CompleteNWChallenge", %client, "Prestige5");
|
||||
schedule(3500, 0, "CompleteNWChallenge", %client, "Prestige9");
|
||||
}
|
||||
}
|
||||
|
||||
//STAT Cleaner:
|
||||
//Phantom139: Changed in 3.4 to support the newer system
|
||||
function DumpStats(%c) {
|
||||
echo("Resetting" SPC %c.guid@"'s stats.");
|
||||
%sO = %c.TWM2Core;
|
||||
%sO.delete();
|
||||
%soNAME = "TWM2Client_"@%c.guid@"";
|
||||
%c.TWM2Core = new ScriptObject(%soNAME) {};
|
||||
%c.container.add(%c.TWM2Core);
|
||||
// this is now our cleaned object file, it will be populated shortly
|
||||
}
|
||||
|
||||
function GeneratePrestigeChallengeMenu(%client, %tag, %index) {
|
||||
if(%client.CheckNWChallengeCompletion("Prestge1")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Instructive Private - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Instructive Private - Reach Officer Level 1.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Prestge2")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Excelling Private - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Excelling Private - Reach Officer Level 2.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Prestge3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Champion Private - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Champion Private - Reach Officer Level 3.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Prestge4")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Prestigious Private - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Prestigious Private - Reach Officer Level 4.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Prestge5")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Supreme Private - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Supreme Private - Reach Officer Level 5.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Prestge9")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Phantom's Vengeance - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Phantom's Vengeance - Reach Officer Level 9.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("GameEnder")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Game Ender - Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Game Ender - Call in a Fission Bomb.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
return %index;
|
||||
}
|
||||
|
||||
function EXPWillBreakRankCap(%client) {
|
||||
%script = %client.TWM2Core;
|
||||
%rN = %script.rankNumber;
|
||||
%officer = %script.officer;
|
||||
//Phantom139: updated here, now handles officer ranks so we can apply numbers above 61 to restrict up to a officer level
|
||||
%currentRankNumber = (%officer*$Rank::RankCount) + %rN;
|
||||
//apply the new check here |LEAVE THIS, apply ONLY on base rank|
|
||||
if(GetRankCap(%currentRankNumber + 1) && (getCurrentEXP(%client) >= $Ranks::MinPoints[%rN+1])) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Direct calls to needed function, replaces
|
||||
//old system.
|
||||
function GainExperience(%client, %variable, %tagToGain) {
|
||||
%todaysDate = sha1sum(formattimestring("yymmdd"));
|
||||
%script = %client.TWM2Core;
|
||||
//
|
||||
%multi = $EXPMulti[$TWM2Core_Code, formattimestring("yymmdd"), sha1sum($TWM2Core_Code TAB FormatTWM2Time(formattimestring("yymmdd")))];
|
||||
if(!isSet(%multi) || %multi < 1) {
|
||||
%multi = 1;
|
||||
}
|
||||
%variable *= %multi;
|
||||
%variable = mFloor(%variable);
|
||||
%script.money += %variable; //money is kept no matter what
|
||||
//
|
||||
if(!%client.isDev && %script.noMoreEXP[%todaysDate]) {
|
||||
//sorry pal, you can't get any more today...
|
||||
AwardClient(%client, "29"); // ;) but you do get a medal for this :D
|
||||
updateClientRank(%client);
|
||||
//I will update your file though :)
|
||||
return;
|
||||
}
|
||||
//
|
||||
if(EXPWillBreakRankCap(%client)) {
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3 Further Progression Locked [RANK CAP]");
|
||||
return;
|
||||
}
|
||||
%willNowHave = (%script.xpGain[%todaysDate] + %variable);
|
||||
if((%willNowHave >= $EXPCap[$TWM2Core_Code, %todaysDate]) && !%client.isDev && isSet($EXPCap[$TWM2Core_Code, %todaysDate])) {
|
||||
//give our guy enough EXP to reach today's cap, then block him from any further EXP
|
||||
%variable = ($EXPCap[$TWM2Core_Code, %todaysDate] - %script.xpGain[%todaysDate]); //this will do it :)
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3 Limited/No EXP Gain [EXP CAP]");
|
||||
$XPArray[%client] += %variable;
|
||||
updateClientRank(%client);
|
||||
//
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
%script.noMoreEXP[%todaysDate] = true;
|
||||
//%script.save(%file);
|
||||
}
|
||||
else {
|
||||
if(%multi > 1) {
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3+"@%variable@" EXP (X"@%multi@")");
|
||||
}
|
||||
else {
|
||||
messageClient(%client, 'msgClient', "\c5TWM2: "@%tagToGain@"\c3+"@%variable@" EXP");
|
||||
}
|
||||
$XPArray[%client] += %variable;
|
||||
updateClientRank(%client);
|
||||
}
|
||||
}
|
||||
77
scripts/TWM2/Systems/ArmorEnergyShields.cs
Normal file
77
scripts/TWM2/Systems/ArmorEnergyShields.cs
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
//ArmorEnergyShields.cs
|
||||
//Phantom139
|
||||
|
||||
//Handles the energy shields on certain armors (bosses/zombies/maybe players :) )
|
||||
|
||||
function Player::damageShields(%player, %amount) {
|
||||
//cancel current recharge if they are doing so
|
||||
if(!isSet(%player.getDatablock().shieldHealthCharge)) {
|
||||
%player.getDatablock().shieldHealthCharge = 0.05; //default
|
||||
}
|
||||
cancel(%player.shieldRechargeLoop);
|
||||
%player.shieldRechargeLoop = %player.schedule(15000, "rechargeShields", %player.getDatablock().shieldHealthCharge); //set next one.
|
||||
//cut shield health first, then check to see if they are down...
|
||||
if((%amount - %player.shieldHealth) < 0) {
|
||||
%final = 0;
|
||||
}
|
||||
else {
|
||||
%final = %amount - %player.shieldHealth;
|
||||
}
|
||||
%player.shieldHealth -= %amount;
|
||||
if(%player.shieldHealth <= 0) {
|
||||
%player.shieldHealth = 0;
|
||||
}
|
||||
return %final;
|
||||
}
|
||||
|
||||
function Player::rechargeShields(%player, %amount) {
|
||||
if(!isPlayer(%player)) {
|
||||
return;
|
||||
}
|
||||
if(!%player.isAlive()) {
|
||||
return;
|
||||
}
|
||||
if(!isSet(%player.getDatablock().shieldHealthCharge)) {
|
||||
%player.getDatablock().shieldHealthCharge = 0.05; //default
|
||||
}
|
||||
if(%player.getShieldPercent() < 100) {
|
||||
//flash them to show recharge
|
||||
%player.playShieldEffect("1 1 1");
|
||||
//
|
||||
%player.shieldHealth += %amount;
|
||||
%player.shieldRechargeLoop = %player.schedule(75, "rechargeShields", %player.getDatablock().shieldHealthCharge);
|
||||
}
|
||||
//
|
||||
if(%player.shieldHealth > %player.getMaxShieldHealth()) {
|
||||
%player.shieldHealth = %player.getMaxShieldHealth();
|
||||
}
|
||||
}
|
||||
|
||||
function Player::getShieldPercent(%player) {
|
||||
return ((%player.getShieldHealth() / %player.getMaxShieldHealth()) * 100);
|
||||
}
|
||||
|
||||
//returns a numeric indication of a player's sheild level
|
||||
function Player::getShieldHealth(%player) {
|
||||
return %player.shieldHealth;
|
||||
}
|
||||
|
||||
function Player::getMaxShieldHealth(%player) {
|
||||
return %player.getDatablock().maxShieldLevel;
|
||||
}
|
||||
|
||||
function Player::activeShieldEffect(%player) {
|
||||
if(!isPlayer(%player)) {
|
||||
return;
|
||||
}
|
||||
if(!%player.isAlive()) {
|
||||
return;
|
||||
}
|
||||
if(%player.getMaxShieldHealth() > 0) {
|
||||
//
|
||||
if(%player.shieldHealth > 0) {
|
||||
%player.zapObject();
|
||||
}
|
||||
%player.schedule(1750, "activeShieldEffect");
|
||||
}
|
||||
}
|
||||
448
scripts/TWM2/Systems/BossSystem.cs
Normal file
448
scripts/TWM2/Systems/BossSystem.cs
Normal file
|
|
@ -0,0 +1,448 @@
|
|||
function InitiateBoss(%Boss, %name) {
|
||||
if($TWM::PlayingHorde || $TWM::PlayingHelljump) {
|
||||
error("SERVER: Cannot initiate boss, in horde/helljump");
|
||||
return;
|
||||
}
|
||||
|
||||
$TWM2::BossGoing = 1;
|
||||
switch$(%name) {
|
||||
case "Yvex":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n LORD YVEX";
|
||||
case "CnlWindshear":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n COLONEL WINDSHEAR";
|
||||
case "GhostOfLightning":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n GHOST OF LIGHTNING";
|
||||
case "Vengenor":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n GENERAL VENGENOR";
|
||||
case "LordRog":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n LORD ROG";
|
||||
case "Insignia":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n MAJOR INSIGNIA";
|
||||
case "Vardison1":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n LORD VARDISON";
|
||||
case "Vardison2":
|
||||
%print = "<color:FF0000>!DANGER! \n VARDISON HAS TRANSFORMED \n AIR FORM";
|
||||
case "Vardison3":
|
||||
%print = "<color:FF0000>!DANGER! \n VARDISON HAS TRANSFORMED AGAIN \n DEMON FORM";
|
||||
case "Trebor":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n LORDRANIUS TREVOR";
|
||||
case "Stormrider":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n COMMANDER STORMRIDER";
|
||||
case "GhostOfFire":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n GHOST OF FIRE";
|
||||
case "ShadeLord":
|
||||
%print = "<color:FF0000>BOSS BATTLE \n THE SHADE LORD";
|
||||
}
|
||||
//INITIATE TO CLIENTS
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
BottomPrint(%cl, ""@%print@"", 5, 3);
|
||||
%cl.damageToBoss = 0;
|
||||
}
|
||||
%boss.isBoss = 1; // the isBoss Flag helps us out with things
|
||||
BossCheckUp(%boss, %name);
|
||||
|
||||
if($BossMaxHealth[%name] $= "") {
|
||||
$BossMaxHealth[%name] = %boss.getMaxDamage();
|
||||
}
|
||||
}
|
||||
|
||||
function BossCheckUp(%boss, %name) {
|
||||
|
||||
MessageAll('MsgSPCurrentObjective1', "", "Boss Battle: "@$TWM2::BossName[%name]@"");
|
||||
MessageAll('MsgSPCurrentObjective2', "", "Boss HP: "@mFloor(%boss.getDamageLeft()*100)@"/"@mFloor(%boss.getMaxDamage()*100)@"");
|
||||
|
||||
if(%name !$= "CnlWindshear" && %name !$= "Vardison2" && %name !$= "Trebor" && %name !$= "Stormrider") {
|
||||
if(!isObject(%boss) || %boss.getState() $= "dead") {
|
||||
if(%name $= "Vardison1") {
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
recordAction(%cl, "BOSS", "Vardison1");
|
||||
}
|
||||
StartVardison2(%boss.getPosition());
|
||||
return;
|
||||
}
|
||||
//the boss has been defeated, horrah!!!
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.damageToBoss > 0) {
|
||||
%cl.GiveBossAward(%name);
|
||||
}
|
||||
}
|
||||
$TWM2::BossGoing = 0;
|
||||
MessageAll('MsgSPCurrentObjective1', "", "Welcome to TWM2!");
|
||||
MessageAll('MsgSPCurrentObjective2', "", "Phantom139, DoL, Signal360");
|
||||
return;
|
||||
}
|
||||
schedule(1000, 0, "BossCheckUp", %boss, %name);
|
||||
}
|
||||
else {
|
||||
if(!isObject(%boss)) {
|
||||
//the boss has been defeated, horrah!!!
|
||||
if(%name $= "Vardison2") {
|
||||
//but not quite so xD
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
recordAction(%cl, "BOSS", "Vardison2");
|
||||
}
|
||||
StartVardison3("0 0 200");
|
||||
return;
|
||||
}
|
||||
%count = ClientGroup.getCount();
|
||||
for(%i = 0; %i < %count; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.damageToBoss) {
|
||||
%cl.GiveBossAward(%name);
|
||||
}
|
||||
}
|
||||
MessageAll('MsgSPCurrentObjective1', "", "Welcome to TWM2!");
|
||||
MessageAll('MsgSPCurrentObjective2', "", "Phantom139, DoL, Signal360");
|
||||
$TWM2::BossGoing = 0;
|
||||
return;
|
||||
}
|
||||
schedule(1000, 0, "BossCheckUp", %boss, %name);
|
||||
}
|
||||
}
|
||||
|
||||
function GameConnection::GiveBossAward(%client, %bossName) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
//you earn less EXP every time you defeat a specific boss, so tread lightly on those defeat counts :)
|
||||
|
||||
recordAction(%client, "BOSS", %bossName);
|
||||
|
||||
if(!isSet(%scriptController.bossDefeatCount[%bossName])) {
|
||||
%scriptController.bossDefeatCount[%bossName] = 0;
|
||||
}
|
||||
if(%bossName $= "Yvex") {
|
||||
AwardClient(%client, "1");
|
||||
}
|
||||
else if(%bossName $= "CnlWindshear") {
|
||||
AwardClient(%client, "8");
|
||||
}
|
||||
else if(%bossName $= "GhostOfLightning") {
|
||||
AwardClient(%client, "9");
|
||||
}
|
||||
else if(%bossName $= "Vengenor") {
|
||||
AwardClient(%client, "10");
|
||||
}
|
||||
else if(%bossName $= "LordRog") {
|
||||
AwardClient(%client, "11");
|
||||
}
|
||||
else if(%bossName $= "Insignia") {
|
||||
AwardClient(%client, "12");
|
||||
}
|
||||
else if(%bossName $= "GhostOfFire") {
|
||||
AwardClient(%client, "27");
|
||||
}
|
||||
else if(%bossName $= "Stormrider") {
|
||||
AwardClient(%client, "28");
|
||||
}
|
||||
else if(%bossName $= "ShadeLord") {
|
||||
AwardClient(%client, "30");
|
||||
}
|
||||
//VARDISON
|
||||
else if(%bossName $= "Vardison3") {
|
||||
AwardClient(%client, 13);
|
||||
}
|
||||
else if(%bossName $= "Trebor") {
|
||||
AwardClient(%client, 15);
|
||||
}
|
||||
//rank writing
|
||||
%scriptController.bossDefeatCount[%bossName]++;
|
||||
%scriptController.save(%file);
|
||||
|
||||
%damageCount = %client.damageToBoss;
|
||||
%maxHP = $BossMaxHealth[%bossName];
|
||||
|
||||
%ratio = %damageCount / %maxHP;
|
||||
|
||||
//%award = mFloor(($TWM2::BossXPAward[%bossName] * %ratio) / %scriptController.bossDefeatCount[%bossName]);
|
||||
%award = $TWM2::BossXPAward[%bossName] / %scriptController.bossDefeatCount[%bossName];
|
||||
GainExperience(%client, %award, ""@%bossName@" defeated, congratulations! ");
|
||||
CheckBossChallenge(%client, %bossName);
|
||||
}
|
||||
|
||||
function FindValidTarget(%boss, %counter) { //This is usefull
|
||||
%client = ClientGroup.getObject(GetRandom()*ClientGroup.getCount());
|
||||
if(!isObject(%client.player) || %client.player.getState() $= "dead" || %boss == %client.player) {
|
||||
return schedule(500,0,"FindValidTarget", %boss, %counter++); //Keep Looking;
|
||||
}
|
||||
return %client; //target is good
|
||||
}
|
||||
|
||||
function CheckBossChallenge(%client, %boss) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%dc = %scriptController.bossDefeatCount[%boss];
|
||||
switch$(%boss) {
|
||||
case "Yvex":
|
||||
if(%dc >= 3) {
|
||||
CompleteNWChallenge(%client, "Yvex1");
|
||||
}
|
||||
if(%dc >= 5) {
|
||||
CompleteNWChallenge(%client, "Yvex2");
|
||||
}
|
||||
if(%dc >= 10) {
|
||||
CompleteNWChallenge(%client, "Yvex3");
|
||||
}
|
||||
case "CnlWindshear":
|
||||
if(%dc >= 3) {
|
||||
CompleteNWChallenge(%client, "CWS1");
|
||||
}
|
||||
if(%dc >= 5) {
|
||||
CompleteNWChallenge(%client, "CWS2");
|
||||
}
|
||||
if(%dc >= 10) {
|
||||
CompleteNWChallenge(%client, "CWS3");
|
||||
}
|
||||
case "GhostOfLightning":
|
||||
if(%dc >= 3) {
|
||||
CompleteNWChallenge(%client, "GOL1");
|
||||
}
|
||||
if(%dc >= 5) {
|
||||
CompleteNWChallenge(%client, "GOL2");
|
||||
}
|
||||
if(%dc >= 10) {
|
||||
CompleteNWChallenge(%client, "GOL3");
|
||||
}
|
||||
case "Vegenor":
|
||||
if(%dc >= 3) {
|
||||
CompleteNWChallenge(%client, "Veg1");
|
||||
}
|
||||
if(%dc >= 5) {
|
||||
CompleteNWChallenge(%client, "Veg2");
|
||||
}
|
||||
if(%dc >= 10) {
|
||||
CompleteNWChallenge(%client, "Veg3");
|
||||
}
|
||||
case "LordRog":
|
||||
if(%dc >= 2) {
|
||||
CompleteNWChallenge(%client, "LRog1");
|
||||
}
|
||||
if(%dc >= 4) {
|
||||
CompleteNWChallenge(%client, "LRog2");
|
||||
}
|
||||
if(%dc >= 7) {
|
||||
CompleteNWChallenge(%client, "LRog3");
|
||||
}
|
||||
case "Insignia":
|
||||
if(%dc >= 2) {
|
||||
CompleteNWChallenge(%client, "Ins1");
|
||||
}
|
||||
if(%dc >= 4) {
|
||||
CompleteNWChallenge(%client, "Ins2");
|
||||
}
|
||||
if(%dc >= 7) {
|
||||
CompleteNWChallenge(%client, "Ins3");
|
||||
}
|
||||
case "Vardison3":
|
||||
if(%dc >= 1) {
|
||||
CompleteNWChallenge(%client, "Vard1");
|
||||
}
|
||||
if(%dc >= 3) {
|
||||
CompleteNWChallenge(%client, "Vard2");
|
||||
}
|
||||
if(%dc >= 5) {
|
||||
CompleteNWChallenge(%client, "Vard3");
|
||||
}
|
||||
case "Trebor":
|
||||
if(%dc >= 2) {
|
||||
CompleteNWChallenge(%client, "Treb1");
|
||||
}
|
||||
if(%dc >= 4) {
|
||||
CompleteNWChallenge(%client, "Treb2");
|
||||
}
|
||||
if(%dc >= 7) {
|
||||
CompleteNWChallenge(%client, "Treb3");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function GenerateBossChallengeMenu(%client, %tag, %index) {
|
||||
if(%client.CheckNWChallengeCompletion("Yvex1")) {
|
||||
if(%client.CheckNWChallengeCompletion("Yvex2")) {
|
||||
if(%client.CheckNWChallengeCompletion("Yvex3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Shadowy Desecration - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Shadowy Desecration - Defeat Lord Yvex 10 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Darkness Rising - Defeat Lord Yvex 5 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Nightmarish Enterprise - Defeat Lord Yvex 3 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("CWS1")) {
|
||||
if(%client.CheckNWChallengeCompletion("CWS2")) {
|
||||
if(%client.CheckNWChallengeCompletion("CWS3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Harbinger's Bane - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Harbinger's Bane - Defeat Colonel Windshear 10 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Aerieal Nightmare - Defeat Colonel Windshear 5 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Fortress In The Sky - Defeat Colonel Windshear 3 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("GOL1")) {
|
||||
if(%client.CheckNWChallengeCompletion("GOL2")) {
|
||||
if(%client.CheckNWChallengeCompletion("GOL3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Severe Thunderstorm - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Severe Thunderstorm - Defeat The Ghost Of Lightning 10 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "The Shocking Truth - Defeat The Ghost Of Lightning 5 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Envious Lightning - Defeat The Ghost Of Lightning 3 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Veg1")) {
|
||||
if(%client.CheckNWChallengeCompletion("Veg2")) {
|
||||
if(%client.CheckNWChallengeCompletion("Veg3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Firestorm Ender - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Firestorm Ender - Defeat General Vegenor 10 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Burning Frenzy - Defeat General Vegenor 5 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Flaming Revolt - Defeat General Vegenor 3 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("LRog1")) {
|
||||
if(%client.CheckNWChallengeCompletion("LRog2")) {
|
||||
if(%client.CheckNWChallengeCompletion("LRog3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Payback's A Bitch - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Payback's A Bitch - Defeat Lord Rog 7 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Return to Returner - Defeat Lord Rog 4 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Revenge Halter - Defeat Lord Rog 2 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Ins1")) {
|
||||
if(%client.CheckNWChallengeCompletion("Ins2")) {
|
||||
if(%client.CheckNWChallengeCompletion("Ins3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Gravitational Influx - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Gravitational Influx - Defeat Major Insignia 7 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "No Gravity, No Problem - Defeat Major Insignia 4 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "El Shipitor - Defeat Major Insignia 2 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Treb1")) {
|
||||
if(%client.CheckNWChallengeCompletion("Treb2")) {
|
||||
if(%client.CheckNWChallengeCompletion("Treb3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Tank Halter - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Tank Halter - Defeat Lordranius Trebor 7 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Harbinger Denied - Defeat Lordranius Trebor 4 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Precious Cargo - Defeat Lordranius Trebor 2 Times");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Vard1")) {
|
||||
if(%client.CheckNWChallengeCompletion("Vard2")) {
|
||||
if(%client.CheckNWChallengeCompletion("Vard3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Outevil The Wicked - Done");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Outevil The Wicked - Defeat Lord Vardison 5 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Glare The Dark - Defeat Lord Vardison 3 Times");
|
||||
%index++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Shining Star - Defeat Lord Vardison");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
return %index;
|
||||
}
|
||||
|
||||
//Load The Boss Files
|
||||
exec("scripts/TWM2/Bosses/BossDatablocks.cs");
|
||||
exec("scripts/TWM2/Bosses/LordYvex.cs");
|
||||
exec("scripts/TWM2/Bosses/ColonelWindshear.cs");
|
||||
exec("scripts/TWM2/Bosses/GhostOfLightning.cs");
|
||||
exec("scripts/TWM2/Bosses/GeneralVegenor.cs");
|
||||
exec("scripts/TWM2/Bosses/LordRog.cs");
|
||||
exec("scripts/TWM2/Bosses/MajorInsignia.cs");
|
||||
exec("scripts/TWM2/Bosses/LordraniusTrebor.cs");
|
||||
exec("scripts/TWM2/Bosses/Stormrider.cs");
|
||||
exec("scripts/TWM2/Bosses/GhostOfFire.cs");
|
||||
exec("scripts/TWM2/Bosses/ShadeLord.cs");
|
||||
392
scripts/TWM2/Systems/ChatBot.cs
Normal file
392
scripts/TWM2/Systems/ChatBot.cs
Normal file
|
|
@ -0,0 +1,392 @@
|
|||
//******************************************************************************
|
||||
//** CHAT BOT **
|
||||
//** Handles in game commands through global chat **
|
||||
//** By: Phantom139 **
|
||||
//******************************************************************************
|
||||
|
||||
//Interaction messages
|
||||
//Parsed by interactions.txt
|
||||
|
||||
//Itterations
|
||||
//DEFINE word
|
||||
//GET WEATHER zip
|
||||
//GET TIME
|
||||
|
||||
//Admin Cmds
|
||||
//MAKE ADMIN name
|
||||
//KICK name
|
||||
//KILL name
|
||||
//BAN name (sa)
|
||||
//MAKE SA name (sa)
|
||||
|
||||
//The Core Function
|
||||
function ScanMessage(%sender, %message) {
|
||||
%name = $ChatBot::Name;
|
||||
%inter = $ChatBot::Interactions;
|
||||
%itter = $ChatBot::Itterations;
|
||||
%admin = $ChatBot::AdminCmds;
|
||||
%ACurse = $ChatBot::AntiCurse;
|
||||
//
|
||||
%isA = (%sender.isAdmin || %sender.isSuperAdmin);
|
||||
%isSA = %sender.isSuperAdmin;
|
||||
//
|
||||
//Step 1, handle curse messages (provide immunity to SA)
|
||||
if(%ACurse && !%isSA) {
|
||||
%halt = HandleCurses(%sender, %message);
|
||||
if(%halt) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
//ok, now onto more functioning
|
||||
%containsName = strStr(getWord(%message, 0), %name);
|
||||
//Step 2: Is the name mentioned?
|
||||
if(%containsName != -1) {
|
||||
//Step 3: Parse Admin Commands
|
||||
if(%admin) {
|
||||
if(%isA) {
|
||||
ParseAdminCommands(%sender, %message, %isA, %isSA);
|
||||
}
|
||||
else {
|
||||
//Step 3 Else Case, not admin, proceed
|
||||
}
|
||||
}
|
||||
//Step 4: Parse Itterations
|
||||
if(%itter) {
|
||||
ParseItterations(%sender, %message);
|
||||
}
|
||||
//Step 5: Parse Interactions
|
||||
//if(%inter) {
|
||||
// ParseInteractions(%sender, %message);
|
||||
//}
|
||||
}
|
||||
else {
|
||||
//Step 2 else case, name not mentioned, halt here.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Itterations Module
|
||||
function ParseItterations(%sender, %message) {
|
||||
%message = strLwr(%message);
|
||||
switch$(getWord(%message, 1)) {
|
||||
case "get":
|
||||
switch$(getWord(%message, 2)) {
|
||||
case "weather":
|
||||
%zipCode = getWord(%message, 3);
|
||||
GetWeather(%zipCode, 1);
|
||||
schedule(250, 0, "MessageAll", 'msgTime', "\c4"@$ChatBot::Name@": Getting weather for "@%zipCode@", standby...");
|
||||
case "time":
|
||||
schedule(250, 0, "MessageAll", 'msgTime', "\c4"@$ChatBot::Name@": The time is: "@formatTimeString("hh:nn a")@"");
|
||||
}
|
||||
case "define":
|
||||
GetDefinitionOf(getWord(%message, 2));
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
function GetDefinitionOf(%word) {
|
||||
if (!isObject(WordDefiner)) {
|
||||
%Downloader = new TCPObject(WordDefiner);
|
||||
}
|
||||
else {
|
||||
%Downloader = WordDefiner;
|
||||
}
|
||||
%Downloader.word = %word;
|
||||
%Downloader.connect("www.merriam-webster.com:80");
|
||||
%Downloader.func = 1;
|
||||
}
|
||||
|
||||
function WordDefiner::onConnected(%this) {
|
||||
%loc = "/dictionary/"@%this.word@"";
|
||||
%header1 = "GET" SPC %loc SPC "HTTP/1.1\r\n";
|
||||
%host = "Host: www.merriam-webster.com\r\n\r\n";
|
||||
|
||||
%query = %header1@
|
||||
%host;
|
||||
%this.send(%query);
|
||||
%this.schedule(2000, "onDisconnect");
|
||||
}
|
||||
|
||||
function WordDefiner::onLine(%this, %line) {
|
||||
//get Location of the Zip
|
||||
if(strStr(%line, "<div>Function: <em>") != -1) {
|
||||
%lStart = strStr(%line, "<div>Function: <em>") + 20;
|
||||
%lEnd = strStr(%line, "</em>"); //it's the first one
|
||||
%this.wordfunc = getSubStr(%line, %lStart, (%lEnd - %lStart));
|
||||
}
|
||||
//get The current temp
|
||||
if(strStr(%line, "<strong>:</strong> ") != -1) {
|
||||
%lStart = strStr(%line, "<strong>:</strong> ") + 19;
|
||||
%lEnd = strStr(%line, "</p></div></div><script type=\"text/javascript\">");
|
||||
%this.definition = getSubStr(%line, %lStart, (%lEnd - %lStart));
|
||||
//clean up HTML
|
||||
%def = %this.definition;
|
||||
%def = strReplace(%def, "<em>", "");
|
||||
%def = strReplace(%def, "</em>", "");
|
||||
%def = strReplace(%def, "<strong>", "");
|
||||
%def = strReplace(%def, "</strong>", "");
|
||||
%def = strReplace(%def, "</br>", "");
|
||||
%def = strReplace(%def, "<br>", "");
|
||||
%def = strReplace(%def, "<br/>", "");
|
||||
%def = strReplace(%def, "<a href=\">", "");
|
||||
%def = strReplace(%def, "\">", "");
|
||||
%def = strReplace(%def, "</a>", "");
|
||||
%def = strReplace(%def, "</span>", "");
|
||||
%def = strReplace(%def, "<span class=\">", "");
|
||||
%this.definition = %def;
|
||||
}
|
||||
}
|
||||
|
||||
function WordDefiner::onConnectFailed(%this) {
|
||||
if(%this.func == 1) {
|
||||
schedule(250, 0, "MessageAll", 'msgTime', "\c4"@$ChatBot::Name@": Unable to connect to definition, try again shortly.");
|
||||
}
|
||||
}
|
||||
|
||||
function WordDefiner::onDisconnect(%this) {
|
||||
if(%this.func == 1) {
|
||||
schedule(250, 0, "MessageAll", 'msgTime', "\c4"@$ChatBot::Name@": Definition of: "@%this.word@"("@%this.wordfunc@"): "@%this.definition@".");
|
||||
}
|
||||
%this.schedule(1000, delete);
|
||||
}
|
||||
//
|
||||
|
||||
function botSlap(%tcl) {
|
||||
%tcl.player.setActionThread("death11",true);
|
||||
messageall('MsgSLAP', "\c3"@$ChatBot::Name@"\c2 Bitch-Slapped \c3"@getTaggedString(%tcl.name)@"\c2. ~wfx/misc/slapshot.wav");
|
||||
%tcl.player.setDamageFlash(1);
|
||||
%tcl.player.setMoveState(true);
|
||||
}
|
||||
|
||||
//Admin Module
|
||||
function ParseAdminCommands(%sender, %message, %isA, %isSA) {
|
||||
if(!%isA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not admin.");
|
||||
}
|
||||
else {
|
||||
%message = strLwr(%message);
|
||||
//Ignore GetWord(%message, 0)
|
||||
switch$(getWord(%message, 1)) {
|
||||
case "make":
|
||||
//additional check
|
||||
switch$(getWord(%message, 2)) {
|
||||
case "bitch":
|
||||
if(!%isA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not admin.");
|
||||
}
|
||||
else {
|
||||
%targ = getWord(%message, 3);
|
||||
%tCl = plnametocid(%targ);
|
||||
if(%tCl == 0) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%targ@" is not a valid player in this server.");
|
||||
}
|
||||
else {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Making "@%tcl.namebase@" mah bitch.");
|
||||
schedule(250, 0, "messageClient", %tcl, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are now my bitch, prepare to be bitchified... mah bitch... bitchy mc. bitch.");
|
||||
schedule(250, 0, botSlap, %tcl);
|
||||
schedule(1250, 0, botSlap, %tcl);
|
||||
schedule(2250, 0, botSlap, %tcl);
|
||||
schedule(3750, 0, botSlap, %tcl);
|
||||
schedule(4750, 0, botSlap, %tcl);
|
||||
schedule(5750, 0, botSlap, %tcl);
|
||||
schedule(6000, 0, botSlap, %tcl);
|
||||
schedule(6250, 0, botSlap, %tcl);
|
||||
schedule(6500, 0, botSlap, %tcl);
|
||||
schedule(6600, 0, botSlap, %tcl);
|
||||
schedule(6700, 0, botSlap, %tcl);
|
||||
schedule(6800, 0, botSlap, %tcl);
|
||||
schedule(6900, 0, botSlap, %tcl);
|
||||
schedule(7000, 0, botSlap, %tcl);
|
||||
schedule(7050, 0, botSlap, %tcl);
|
||||
schedule(7100, 0, botSlap, %tcl);
|
||||
schedule(7150, 0, botSlap, %tcl);
|
||||
schedule(7200, 0, botSlap, %tcl);
|
||||
schedule(7250, 0, botSlap, %tcl);
|
||||
schedule(7300, 0, botSlap, %tcl);
|
||||
schedule(7350, 0, botSlap, %tcl);
|
||||
schedule(7550, 0, "messageClient", %tcl, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Oops...");
|
||||
%tcl.player.schedule(7500, "scriptKill");
|
||||
}
|
||||
}
|
||||
case "admin":
|
||||
if(!%isA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not admin.");
|
||||
}
|
||||
else {
|
||||
%targ = getWord(%message, 3);
|
||||
%tCl = plnametocid(%targ);
|
||||
if(%tCl == 0) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%targ@" is not a valid player in this server.");
|
||||
}
|
||||
else {
|
||||
if(%tCl.isAdmin) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%tcl.namebase@" is already admin.");
|
||||
}
|
||||
else {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Making "@%tcl.namebase@" admin.");
|
||||
schedule(250, 0, "MessageAll", 'MsgAdminForce', "\c4"@$ChatBot::Name@": Making "@%tcl.namebase@" admin.");
|
||||
%tcl.isAdmin = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
case "sa":
|
||||
if(!%isSA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not super admin.");
|
||||
}
|
||||
else {
|
||||
%targ = getWord(%message, 3);
|
||||
%tCl = plnametocid(%targ);
|
||||
if(%tCl == 0) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%targ@" is not a valid player in this server.");
|
||||
}
|
||||
else {
|
||||
if(%tCl.isSuperAdmin) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%tcl.namebase@" is already super admin.");
|
||||
}
|
||||
else {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Making "@%tcl.namebase@" super-admin.");
|
||||
schedule(250, 0, "MessageAll", 'MsgAdminForce', "\c4"@$ChatBot::Name@": Making "@%tcl.namebase@" super-admin.");
|
||||
%tcl.isAdmin = 1;
|
||||
%tcl.isSuperAdmin = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
case "kick":
|
||||
if(!%isA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not admin.");
|
||||
}
|
||||
else {
|
||||
%targ = getWord(%message, 2);
|
||||
%tCl = plnametocid(%targ);
|
||||
if(%tCl == 0) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%targ@" is not a valid player in this server.");
|
||||
}
|
||||
else {
|
||||
if((%tCl.isSuperAdmin && %isSA) || ((%tCl.isAdmin || %tCl.isSuperAdmin) && (%isA && !%isSA))) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Rank issue, "@%tcl.namebase@" is the same or outranks your admin.");
|
||||
}
|
||||
else {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Kicking "@%tcl.namebase@".");
|
||||
schedule(250, 0, "MessageAll", 'MsgAdminForce', "\c4"@$ChatBot::Name@": Kicking "@%tcl.namebase@".");
|
||||
//
|
||||
messageClient(%tCl, 'onClientKicked', "");
|
||||
messageAllExcept( %tCl, -1, 'MsgClientDrop', "", %tCl.namebase, %tCl );
|
||||
if ( %tCl.isAIControlled() ) {
|
||||
%tCl.drop();
|
||||
}
|
||||
else {
|
||||
%tCl.schedule(500, "Delete");
|
||||
%tCl.setDisconnectReason(""@$ChatBot::Name@" has kicked you from the server");
|
||||
BanList::add( %tCl.guid, "0", $Host::KickBanTime );
|
||||
if(isObject(%tCl.player) && %tCl.player.getState() !$= "Dead") {
|
||||
%tCl.player.schedule(500, scriptKill, 0);
|
||||
}
|
||||
}
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
||||
case "ban":
|
||||
if(!%isSA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not super admin.");
|
||||
}
|
||||
else {
|
||||
%targ = getWord(%message, 2);
|
||||
%tCl = plnametocid(%targ);
|
||||
if(%tCl == 0) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%targ@" is not a valid player in this server.");
|
||||
}
|
||||
else {
|
||||
if(%tCl.isSuperAdmin) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%tcl.namebase@" is SA, you cannot ban "@%tcl.namebase@".");
|
||||
}
|
||||
else {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Banning "@%tcl.namebase@".");
|
||||
schedule(250, 0, "MessageAll", 'MsgAdminForce', "\c4"@$ChatBot::Name@": Banning "@%tcl.namebase@".");
|
||||
//
|
||||
messageClient(%tCl, 'onClientBanned', "");
|
||||
messageAllExcept( %tCl, -1, 'MsgClientDrop', "", %tCl.namebase, %tCl );
|
||||
if ( %tCl.isAIControlled() ) {
|
||||
%tCl.drop();
|
||||
}
|
||||
else {
|
||||
%tCl.schedule(500, "Delete");
|
||||
%tCl.setDisconnectReason(""@$ChatBot::Name@" has banned you from the server");
|
||||
BanList::add( %tCl.guid, "0", $Host::BanTime );
|
||||
if(isObject(%tCl.player) && %tCl.player.getState() !$= "Dead") {
|
||||
%tCl.player.schedule(500, scriptKill, 0);
|
||||
}
|
||||
}
|
||||
//
|
||||
}
|
||||
}
|
||||
}
|
||||
case "kill":
|
||||
if(!%isA) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You are not admin.");
|
||||
}
|
||||
else {
|
||||
%targ = getWord(%message, 2);
|
||||
%tCl = plnametocid(%targ);
|
||||
if(%tCl == 0) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%targ@" is not a valid player in this server.");
|
||||
}
|
||||
else {
|
||||
if(isObject(%tCl.player) && %tCl.player.getState() !$= "Dead") {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Killing "@%tcl.namebase@".");
|
||||
%tCl.player.scriptKill(0);
|
||||
}
|
||||
else {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": "@%tcl.namebase@" is already dead.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Anti-Curse Module
|
||||
function DeductWarning(%sender) {
|
||||
%sender.warningCount--;
|
||||
}
|
||||
|
||||
function HandleCurses(%sender, %message) {
|
||||
%muteCt = $ChatBot::MuteWarnings;
|
||||
%kickCt = $ChatBot::KickWarnings;
|
||||
%CList = "fuck\tass\tbitch\tshit\tbastard\twhore";
|
||||
%compare = trim(strlwr(%message));
|
||||
for(%i = 0; %i < getFieldCount(%CList); %i++) {
|
||||
%list = getField(%CList, %i);
|
||||
if(strStr(%compare, %list) != -1) {
|
||||
%performAnti = 1;
|
||||
}
|
||||
}
|
||||
//
|
||||
if(%performAnti) {
|
||||
%sender.warningCount++;
|
||||
schedule(($ChatBot::WarningDecTime * 1000 * 60), 0, "DeductWarning", %sender);
|
||||
//
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Cursing is not accepted here, this is warning number "@%sender.warningCount@".");
|
||||
if(%sender.warningCount > %muteCt) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": You have been muted for 1 minute.");
|
||||
%sender.isgagged = 1;
|
||||
schedule(60 * 1000, 0, "ungag", %sender);
|
||||
}
|
||||
if(%sender.warningCount == %kickCt) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": This is your final warning, you will be removed from the server next time.");
|
||||
}
|
||||
if(%sender.warningCount > %kickCt) {
|
||||
schedule(250, 0, "messageClient", %sender, 'msgAntiCurse', "\c1From "@$ChatBot::Name@": Enough of your rubbish, goodbye.");
|
||||
schedule(250, 0, "MessageAll", 'MsgAdminForce', "\c4"@$ChatBot::Name@": Kicking "@%sender.namebase@" for excessive swearing.");
|
||||
%sender.schedule(1000, "Delete");
|
||||
%sender.setDisconnectReason(""@$ChatBot::Name@" has kicked you from the server");
|
||||
BanList::add( %sender.guid, "0", $Host::KickBanTime );
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0; //stop here, we are done
|
||||
}
|
||||
}
|
||||
46
scripts/TWM2/Systems/ChatLog.cs
Normal file
46
scripts/TWM2/Systems/ChatLog.cs
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
$TWM2::CLogLocation = "Logs/"@formattimestring("mm-dd-yy")@"";
|
||||
function LogMessage(%client, %msg) {
|
||||
if (!IsFile(""@$TWM2::CLogLocation@"/ChatLog.cs")){
|
||||
new fileobject(Clog);
|
||||
Clog.openforwrite(""@$TWM2::CLogLocation@"/ChatLog.cs");
|
||||
Clog.writeline(""@%client.namebase@"("@%client.guid@") ["@formattimestring("hh:nn a, mm-dd-yy")@"] : "@%msg@"");
|
||||
Clog.close();
|
||||
Clog.delete();
|
||||
}
|
||||
else {
|
||||
new fileobject(Clog);
|
||||
Clog.openforappend(""@$TWM2::CLogLocation@"/ChatLog.cs");
|
||||
Clog.writeline(""@%client.namebase@"("@%client.guid@") ["@formattimestring("hh:nn a, mm-dd-yy")@"] : "@%msg@"");
|
||||
Clog.close();
|
||||
Clog.delete();
|
||||
}
|
||||
}
|
||||
|
||||
function LogConnection(%client, %type) {
|
||||
if(%type == 1) {
|
||||
%st = "Connect";
|
||||
}
|
||||
else if(%type == 2) {
|
||||
%st = "Disconnect (Kicked)";
|
||||
}
|
||||
else if(%type == 3) {
|
||||
%st = "Disconnect (Banned)";
|
||||
}
|
||||
else if(%type == 4) {
|
||||
%st = "Disconnect";
|
||||
}
|
||||
if (!IsFile(""@$TWM2::CLogLocation@"/ConnectionLog.cs")){
|
||||
new fileobject(Clog);
|
||||
Clog.openforwrite(""@$TWM2::CLogLocation@"/ConnectionLog.cs");
|
||||
Clog.writeline(""@%client.namebase@"("@%client.guid@"), "@%client.GetAddress()@", ["@formattimestring("hh:nn a, mm-dd-yy")@"] : "@%st@"");
|
||||
Clog.close();
|
||||
Clog.delete();
|
||||
}
|
||||
else {
|
||||
new fileobject(Clog);
|
||||
Clog.openforappend(""@$TWM2::CLogLocation@"/ConnectionLog.cs");
|
||||
Clog.writeline(""@%client.namebase@"("@%client.guid@"), "@%client.GetAddress()@", ["@formattimestring("hh:nn a, mm-dd-yy")@"] : "@%st@"");
|
||||
Clog.close();
|
||||
Clog.delete();
|
||||
}
|
||||
}
|
||||
81
scripts/TWM2/Systems/ClientSettings.cs
Normal file
81
scripts/TWM2/Systems/ClientSettings.cs
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
//This Saves A Clients Settings on the Server
|
||||
//And Then Sets them when a client rejoins
|
||||
|
||||
//Phantom139: I have changed this system throughtout for the TWM2 3.4 release
|
||||
//this new system can now support pretty much ANYTHING that the client can change :)
|
||||
|
||||
function UpdateSettings(%client) {
|
||||
%name = "ClientSettings"@%client.guid@"";
|
||||
%script = new ScriptObject(%name) {};
|
||||
//Obtain Perks/Killstreaks
|
||||
for(%i = 1; %i <= $Perk::TotalPerks; %i++) {
|
||||
if(%client.IsActivePerk($Perk::Perk[%i])) {
|
||||
%script.savedperk[%p++] = $Perk::Perk[%i];
|
||||
}
|
||||
}
|
||||
%streaks = %client.GatherActiveStreaks();
|
||||
for(%i = 0; %i < getFieldCount(%streaks); %i++) {
|
||||
%script.savedstreak[%k++] = getField(%streaks, %i);
|
||||
}
|
||||
//Obtain Weapon Upgrades
|
||||
%img = 0;
|
||||
while(isSet($InvWeapon[%img])) {
|
||||
%block = $NameToInv[$InvWeapon[%img]].image;
|
||||
%script.weaponupgrade[%block] = %client.weaponUpgrade[%block];
|
||||
%img++;
|
||||
}
|
||||
%pistol = 0;
|
||||
while(isSet($InvPistol[%pistol])) {
|
||||
%block = $NameToInv[$InvPistol[%pistol]].image;
|
||||
%script.weaponupgrade[%block] = %client.weaponUpgrade[%block];
|
||||
%pistol++;
|
||||
}
|
||||
//Misc
|
||||
|
||||
//Save All Data To Client's File
|
||||
if(!%client.container.isMember(%script)) {
|
||||
%client.container.add(%script);
|
||||
}
|
||||
SaveClientFile(%client);
|
||||
}
|
||||
|
||||
//Called at rank load, this applies the correct info
|
||||
function loadSettings(%client) {
|
||||
%name = "Container_"@%client.guid@"/ClientSettings"@%client.guid@"";
|
||||
%script = NameToID(%name);
|
||||
if(%script == -1) {
|
||||
echo("* No Settings For "@%client@"");
|
||||
}
|
||||
//
|
||||
else {
|
||||
//activate perks
|
||||
%i = 1;
|
||||
while(isSet(%script.savedperk[%i])) {
|
||||
SetPerkStatus(%client, %script.savedperk[%i], 1);
|
||||
%i++;
|
||||
}
|
||||
//deaactivate base 3 streaks
|
||||
%client.setStreakStatus(1, 0);
|
||||
%client.setStreakStatus(2, 0);
|
||||
%client.setStreakStatus(4, 0);
|
||||
//activate killstreaks
|
||||
%k = 1;
|
||||
while(isSet(%script.savedstreak[%k])) {
|
||||
%client.setStreakStatus(%script.savedstreak[%k], 1);
|
||||
%k++;
|
||||
}
|
||||
//upgrades
|
||||
%img = 0;
|
||||
while(isSet($InvWeapon[%img])) {
|
||||
%block = $NameToInv[$InvWeapon[%img]].image;
|
||||
%client.ActivateUpgrade(%block, %script.weaponupgrade[%block]);
|
||||
%img++;
|
||||
}
|
||||
%pistol = 0;
|
||||
while(isSet($InvPistol[%pistol])) {
|
||||
%block = $NameToInv[$InvPistol[%pistol]].image;
|
||||
%client.ActivateUpgrade(%block, %script.weaponupgrade[%block]);
|
||||
%pistol++;
|
||||
}
|
||||
}
|
||||
}
|
||||
826
scripts/TWM2/Systems/DChalg.cs
Normal file
826
scripts/TWM2/Systems/DChalg.cs
Normal file
|
|
@ -0,0 +1,826 @@
|
|||
//Daily Challenge System
|
||||
//Phantom139
|
||||
|
||||
//Handles PGD Issued daily challenges
|
||||
|
||||
//downloads challenges from PGD
|
||||
function downloadChallenges() {
|
||||
if(!IsServerMain()) {
|
||||
error("* Daily Challenges: Restricted To Core Servers Only");
|
||||
return;
|
||||
}
|
||||
echo("* Downloading Challenge List, scheduling next download");
|
||||
messageAll('MsgAdminForce', "\c3TWM2: Downloading challenges from PGD server.");
|
||||
%connection = new TCPObject(ChallengeDownload);
|
||||
%location = "/public/TWM2/Challenge/";
|
||||
%host = $PGDServer;
|
||||
//
|
||||
%request = "GET" SPC %location SPC "HTTP/1.1\x0aHost: "@%host@"\r\n\r\n";
|
||||
%connection.request = %request;
|
||||
|
||||
$ChallengeIndex = 0;
|
||||
|
||||
%connection.connect(%host @ ":80");
|
||||
%connection.schedule(5000, "disconnect");
|
||||
//
|
||||
schedule(1000 * 60 * 60, 0, "downloadChallenges");
|
||||
}
|
||||
|
||||
function downloadChallenges_Manual() {
|
||||
if(!IsServerMain()) {
|
||||
error("* Daily Challenges: Restricted To Core Servers Only");
|
||||
return;
|
||||
}
|
||||
echo("* Downloading Challenge List, scheduling next download");
|
||||
messageAll('MsgAdminForce', "\c3TWM2: Downloading challenges from PGD server.");
|
||||
%connection = new TCPObject(ChallengeDownload);
|
||||
%location = "/public/TWM2/Challenge/";
|
||||
%host = $PGDServer;
|
||||
//
|
||||
%request = "GET" SPC %location SPC "HTTP/1.1\x0aHost: "@%host@"\r\n\r\n";
|
||||
%connection.request = %request;
|
||||
|
||||
$ChallengeIndex = 0;
|
||||
|
||||
%connection.connect(%host @ ":80");
|
||||
%connection.schedule(5000, "disconnect");
|
||||
}
|
||||
|
||||
function ChallengeDownload::onConnected(%this) {
|
||||
%this.send(%this.request);
|
||||
}
|
||||
|
||||
function ChallengeDownload::onConnectFailed( %this ) {
|
||||
error("Challenges: Connection failed");
|
||||
}
|
||||
|
||||
function ChallengeDownload::onDisconnect(%this) {
|
||||
%this.delete();
|
||||
}
|
||||
|
||||
function ChallengeDownload::onLine(%this, %line) {
|
||||
if (trim(%line) $= "") { //is the line a HTTP header?
|
||||
if (!%this.readyToRead) {
|
||||
%this.readyToRead = true;
|
||||
}
|
||||
}
|
||||
if(!%this.readyToRead) {
|
||||
return; //we have no use for this.
|
||||
}
|
||||
//
|
||||
if (strstr(%line, "#TIME ") != -1) {
|
||||
//expire date line
|
||||
%line = strReplace(%line, "#TIME ", "");
|
||||
echo("* Time Line: "@getField(%line, 1)@" -> "@getField(%line, 0)@" / "@getField(%line, 3)@" -> "@getField(%line, 2)@"");
|
||||
$CurrentStartOfMonth = getField(%line, 1);
|
||||
$CurrentMonthlyChallengeExpire = getField(%line, 0);
|
||||
$CurrentWeeklyChallengeExpire = getField(%line, 2); //aka: end of week
|
||||
$CurrentStartOfWeek = getField(%line, 3);
|
||||
return;
|
||||
}
|
||||
else if (strstr(%line, "#CHLG ") != -1) {
|
||||
//add the line
|
||||
%line = strReplace(%line, "#CHLG ", "");
|
||||
echo("* Add To Challenge Line: "@%line@"");
|
||||
AddToChallenges(%line);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
//
|
||||
if (%line $= "#EOF") {
|
||||
echo("*EOF Line, Disconnecting");
|
||||
%this.disconnect();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
function doChallengeKillRecording(%sourceObject, %targetObject) {
|
||||
if(%sourceObject.team == %targetObject.team) {
|
||||
//Teamkill = no recorded challenge :)
|
||||
return;
|
||||
}
|
||||
//killed a player?
|
||||
if(isClientControlledPlayer(%targetObject)) {
|
||||
//echo("Kill: "@%sourceObject.client@"/"@%targetObject.lastDamagedImage@"");
|
||||
recordAction(%sourceObject.client, "PKC", "single\t"@%targetObject.lastDamagedImage@"\t1");
|
||||
recordAction(%sourceObject.client, "PKC", "total\t1");
|
||||
}
|
||||
else {
|
||||
//killed a zombie
|
||||
%zType = %targetObject.type;
|
||||
if(!isSet(%zType)) {
|
||||
//illegal target for challenge set, end here
|
||||
return;
|
||||
}
|
||||
recordAction(%sourceObject.client, "ZKC", "total\t1");
|
||||
recordAction(%sourceObject.client, "ZKC", "single\t"@%zType@"\t1");
|
||||
recordAction(%sourceObject.client, "ZKC", "single\t"@%targetObject.lastDamagedImage@"\t"@%zType@"\t1");
|
||||
}
|
||||
}
|
||||
|
||||
function recordAction(%client, %action, %variables) {
|
||||
%ymd = formattimestring("yymmdd");
|
||||
%so = %client.TWM2Controller;
|
||||
//echo(""@%client@" - "@%action@" - "@%variables@"");
|
||||
//
|
||||
switch$(%action) {
|
||||
case "CCMP":
|
||||
%so.completed[getField(%variables, 0), %ymd] = getField(%variables, 1);
|
||||
case "BOSS":
|
||||
%so.bossSlayCount[getField(%variables, 0), %ymd] += 1;
|
||||
case "PKC":
|
||||
//player kill count
|
||||
if(getField(%variables, 0) $= "total") {
|
||||
%so.totalPlayerKillCount[%ymd] += getField(%variables, 1);
|
||||
}
|
||||
else {
|
||||
%so.PlayerKillCount[%ymd, getField(%variables, 1)] += getField(%variables, 2);
|
||||
}
|
||||
case "ZKC":
|
||||
if(getField(%variables, 0) $= "total") {
|
||||
%so.totalZombieKillCount[%ymd] += getField(%variables, 1);
|
||||
}
|
||||
else {
|
||||
//a 3-case would have all of these filed
|
||||
if(!isSet(getField(%variables, 3))) {
|
||||
%so.ZombieKillCount[%ymd, 0, getField(%variables, 1)] += getField(%variables, 2);
|
||||
}
|
||||
else {
|
||||
%so.ZombieKillCount[%ymd, getField(%variables, 1), getField(%variables, 2)] += getField(%variables, 3);
|
||||
}
|
||||
}
|
||||
case "HSC":
|
||||
if(getField(%variables, 0) !$= "zombie") {
|
||||
%so.playerHeadshots[%ymd] += getField(%variables, 1);
|
||||
}
|
||||
else {
|
||||
%so.zombieHeadshots[%ymd] += getField(%variables, 1);
|
||||
}
|
||||
case "KSCC":
|
||||
%so.killstreakCalls[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||
case "KSKC":
|
||||
%so.killstreakKills[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||
case "SKC":
|
||||
%so.successiveSolo[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||
case "SKSC":
|
||||
%so.successiveStreak[%ymd, getField(%variables, 0)] += getField(%variables, 1);
|
||||
case "BOMBARM":
|
||||
%so.bombArm[%ymd, $CurrentMission] += 1;
|
||||
%so.bombArmTotal[%ymd] += 1;
|
||||
case "BOMBDIS":
|
||||
%so.bombDisarm[%ymd, $CurrentMission] += 1;
|
||||
%so.bombDisarmTotal[%ymd] += 1;
|
||||
case "SABWIN":
|
||||
%so.sabotageRoundWins[%ymd, $CurrentMission] += 1;
|
||||
%so.sabotageRoundWinTotal[%ymd] += 1;
|
||||
case "AREACAP":
|
||||
%so.areaCapture[%ymd, $CurrentMission] += 1;
|
||||
%so.areaCaptureTotal[%ymd] += 1;
|
||||
case "DOMWIN":
|
||||
%so.dominationRoundWins[%ymd, $CurrentMission] += 1;
|
||||
%so.dominationRoundWinTotal[%ymd] += 1;
|
||||
case "EXPGAIN":
|
||||
%so.dailyEXPGain[%ymd] += getField(%variables, 0);
|
||||
case "BACK":
|
||||
if(getField(%variables, 0) $= "zombie") {
|
||||
%so.zombieBackstabs[%ymd] += 1;
|
||||
}
|
||||
else {
|
||||
%so.playerBackstabs[%ymd] += 1;
|
||||
}
|
||||
default:
|
||||
//no action recorded
|
||||
}
|
||||
allCheckCompletion(%client);
|
||||
updateChallengeFile(%client);
|
||||
}
|
||||
|
||||
function cleanChallenges() {
|
||||
%i = 1;
|
||||
while(isSet($Challenges::Challenge[%i])) {
|
||||
$Challenges::Challenge[%i] = "";
|
||||
%i++;
|
||||
}
|
||||
}
|
||||
|
||||
function AddToChallenges(%line) {
|
||||
//data prints like so:
|
||||
//Type \t Name \t Descrip \t Condition \t Reward \t Expry
|
||||
//%cType = getField(%line, 0);
|
||||
//%cName = getField(%line, 1);
|
||||
//%cDesc = getField(%line, 2);
|
||||
//%cCond = getField(%line, 3);
|
||||
//%CRewd = getField(%line, 4);
|
||||
//%CExpy = getField(%line, 5);
|
||||
//
|
||||
$ChallengeIndex++;
|
||||
$Challenges::Challenge[$ChallengeIndex] = %line;
|
||||
}
|
||||
|
||||
function allCheckCompletion(%client) {
|
||||
for(%i = 1; isSet($Challenges::Challenge[%i]); %i++) {
|
||||
%cType = getField($Challenges::Challenge[%i], 0);
|
||||
if(%cType == 1) {
|
||||
checkCompletion(%client, %i); //daily
|
||||
}
|
||||
else {
|
||||
checkMultiCompletion(%client, %i);
|
||||
}
|
||||
}
|
||||
//
|
||||
}
|
||||
|
||||
function checkCompletion(%client, %cID) {
|
||||
%challenge = $Challenges::Challenge[%cID];
|
||||
%cType = trim(getField(%challenge, 0));
|
||||
%cCond = getsubstr(getField(%challenge, 3), 1, strlen(getField(%challenge, 3)));
|
||||
%so = %client.TWM2Controller;
|
||||
%dateStr = formattimestring("yymmdd");
|
||||
//cannot complete the same one twice :P
|
||||
if(%so.completed[%cid, %dateStr]) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
switch$(getWord(%cCond, 0)) {
|
||||
case "E":
|
||||
%killCount = getWord(%cCond, 1);
|
||||
%killDB = getWord(%cCond, 2) $= "A" ? 0 : getWord(%cCond, 2);
|
||||
if(%killDB != 0) {
|
||||
if(%so.PlayerKillCount[%dateStr, %killDB] >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%so.totalPlayerKillCount[%dateStr] >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
case "Z":
|
||||
%killCount = getWord(%cCond, 1);
|
||||
%killedType = getWord(%cCond, 2) $= "A" ? -1 : getWord(%cCond, 2);
|
||||
%killDB = getWord(%cCond, 3) $= "A" ? 0 : getWord(%cCond, 3);
|
||||
if(%killDB != 0) {
|
||||
if(%killedType != -1) {
|
||||
if(%so.ZombieKillCount[%dateStr, %killDB, %killedType] >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%so.ZombieKillCount[%dateStr, %killDB, ""] >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%killedType != -1) {
|
||||
if(%so.ZombieKillCount[%dateStr, 0, %killedType] >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%so.totalZombieKillCount[%dateStr] >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
case "HS":
|
||||
%counter = getWord(%cCond, 1);
|
||||
%type = getWord(%cCond, 2) $= "E" ? "E" : "Z";
|
||||
if(%type $= "E") {
|
||||
if(%so.playerHeadshots[%dateStr] >= %counter) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%so.zombieHeadshots[%dateStr] >= %counter) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
case "KS":
|
||||
%type = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%so.killstreakCalls[%dateStr, %type] >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
case "KSK":
|
||||
%type = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%so.killstreakKills[%dateStr, %type] >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
case "SK":
|
||||
%soloType = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%so.successiveSolo[%dateStr, %soloType] >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
case "SKS":
|
||||
%streakType = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%so.successiveStreak[%dateStr, %streakType] >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
case "Prestige":
|
||||
%level = getWord(%cCond, 1);
|
||||
if(%client.TWM2Core.officer >= %level) {
|
||||
%done = true;
|
||||
}
|
||||
case "Boss":
|
||||
%name = getWord(%cCond, 1);
|
||||
%amount = getWord(%cCond, 2);
|
||||
if(%so.bossSlayCount[%name, %dateStr] >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
case "Back":
|
||||
%zOrA = getWord(%cCond, 1);
|
||||
%amount = getWord(%cCond, 2);
|
||||
if(%zOrA $= "Z") {
|
||||
if(%so.zombieBackstabs[%dateStr] >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%so.playerBackstabs[%dateStr] >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
default:
|
||||
error("Unknown challenge in parser...");
|
||||
}
|
||||
if(%done) {
|
||||
%cName = getField(%challenge, 1);
|
||||
%CRewd = getField(%challenge, 4);
|
||||
CenterPrint(%client, "CHALLENGE COMPLETED\n"@%cName@"", 3, 3);
|
||||
GainExperience(%client, %cRewd, %cName@" Challenge Completed");
|
||||
recordAction(%client, "CCMP", ""@%cid@"\t1");
|
||||
}
|
||||
}
|
||||
|
||||
//Check Multi-Completion (handles weekly & monthly challenges)
|
||||
function checkMultiCompletion(%client, %cID) {
|
||||
%challenge = $Challenges::Challenge[%cID];
|
||||
%cType = trim(getField(%challenge, 0));
|
||||
%cCond = getsubstr(getField(%challenge, 3), 1, strlen(getField(%challenge, 3)));
|
||||
%so = %client.TWM2Controller;
|
||||
%dateStr = formattimestring("yymmdd");
|
||||
//cannot complete the same one twice :P
|
||||
if(%so.completed[%cid, %dateStr]) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
switch$(getWord(%cCond, 0)) {
|
||||
case "E":
|
||||
%killCount = getWord(%cCond, 1);
|
||||
%killDB = getWord(%cCond, 2) $= "A" ? 0 : getWord(%cCond, 2);
|
||||
if(%killDB != 0) {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, PlayerKillCount, %killDB) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, PlayerKillCount, %killDB) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, totalPlayerKillCount) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, totalPlayerKillCount) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
case "Z":
|
||||
%killCount = getWord(%cCond, 1);
|
||||
%killedType = getWord(%cCond, 2) $= "A" ? -1 : getWord(%cCond, 2);
|
||||
%killDB = getWord(%cCond, 3) $= "A" ? 0 : getWord(%cCond, 3);
|
||||
if(%killDB != 0) {
|
||||
if(%killedType != -1) {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, ZombieKillCount, %killDB SPC %killedType) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, ZombieKillCount, %killDB SPC %killedType) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, ZombieKillCount, %killDB SPC "") >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, ZombieKillCount, %killDB SPC "") >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%killedType != -1) {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, ZombieKillCount, 0 SPC %killedType) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, ZombieKillCount, 0 SPC %killedType) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, totalZombieKillCount) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, totalZombieKillCount) >= %killCount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
case "HS":
|
||||
%counter = getWord(%cCond, 1);
|
||||
%type = getWord(%cCond, 2) $= "E" ? "E" : "Z";
|
||||
if(%type $= "E") {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, playerHeadshots) >= %counter) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, playerHeadshots) >= %counter) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, zombieHeadshots) >= %counter) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, zombieHeadshots) >= %counter) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
case "KS":
|
||||
%type = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, killstreakCalls, %type) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, killstreakCalls, %type) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
case "KSK":
|
||||
%type = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, killstreakKills, %type) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, killstreakKills, %type) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
case "SK":
|
||||
%soloType = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, successiveSolo, %soloType) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, successiveSolo, %soloType) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
case "SKS":
|
||||
%streakType = getWord(%cCond, 1);
|
||||
%ammount = getWord(%cCond, 2);
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, successiveStreak, %streakType) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, successiveStreak, %streakType) >= %ammount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
//easy enough :)
|
||||
case "Prestige":
|
||||
%level = getWord(%cCond, 1);
|
||||
if(%client.TWM2Core.officer >= %level) {
|
||||
%done = true;
|
||||
}
|
||||
case "Boss":
|
||||
%name = getWord(%cCond, 1);
|
||||
%amount = getWord(%cCond, 2);
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, bossSlayCount, %name) >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, bossSlayCount, %name) >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
case "Back":
|
||||
%zOrA = getWord(%cCond, 1);
|
||||
%amount = getWord(%cCond, 2);
|
||||
if(%zOrA $= "Z") {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, zombieBackstabs) >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, zombieBackstabs) >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%cType == 2) {
|
||||
if(getCurrentWeekTotal(%client, playerBackstabs) >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(getCurrentMonthTotal(%client, playerBackstabs) >= %amount) {
|
||||
%done = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
error("Unknown challenge in parser...");
|
||||
}
|
||||
if(%done) {
|
||||
%cName = getField(%challenge, 1);
|
||||
%CRewd = getField(%challenge, 4);
|
||||
CenterPrint(%client, ""@(%cType == 2 ? "WEEKLY" : "MONTHLY")@" CHALLENGE COMPLETED\n"@%cName@"", 3, 3);
|
||||
GainExperience(%client, %cRewd, %cName@" Challenge Completed");
|
||||
recordAction(%client, "CCMP", ""@%cid@"\t1");
|
||||
}
|
||||
}
|
||||
|
||||
//keep a running weekly total
|
||||
function getCurrentWeekTotal(%client, %field, %additional_variables) {
|
||||
if(!isSet(%client) || !isSet(%field)) {
|
||||
return 0;
|
||||
}
|
||||
%scriptObj = %client.TWM2Controller;
|
||||
if(isSet(%additional_variables)) {
|
||||
%var_count = getWordCount(%additional_variables);
|
||||
%vStr = "";
|
||||
%integer = 0;
|
||||
while(isSet(getWord(%additional_variables, %integer))) {
|
||||
%vStr = %vStr @","@ getWord(%additional_variables, %integer);
|
||||
%integer++;
|
||||
}
|
||||
}
|
||||
//get the start and end day numbers of the week.
|
||||
%sOW = getSubStr($CurrentStartOfWeek, 6, 2);
|
||||
%eOW = %sOW + 7; //7 day total.
|
||||
//if we cross over months, we don't care, because the file is killed at month's end.
|
||||
%cTotal = 0;
|
||||
for(%i = %sOW; %i < %eOW; %i++) {
|
||||
%iStor = %i;
|
||||
if(%i < 10) {
|
||||
%iStor = "0"@%i;
|
||||
}
|
||||
%day = %year@%month@%iStor;
|
||||
if(isSet(%vStr)) {
|
||||
eval("%cTotal += isSet("@%scriptObj@"."@%field@"["@%day SPC %vStr@"]) ? ("@%scriptObj@"."@%field@"["@%day SPC %vStr@"]) : 0;");
|
||||
}
|
||||
else {
|
||||
eval("%cTotal += isSet("@%scriptObj@"."@%field@"["@%day@"]) ? ("@%scriptObj@"."@%field@"["@%day@"]) : 0;");
|
||||
}
|
||||
}
|
||||
return %cTotal;
|
||||
}
|
||||
|
||||
//keep a running monthly total
|
||||
function getCurrentMonthTotal(%client, %field, %additional_variables) {
|
||||
if(!isSet(%client) || !isSet(%field)) {
|
||||
return 0;
|
||||
}
|
||||
%scriptObj = %client.TWM2Controller;
|
||||
if(isSet(%additional_variables)) {
|
||||
%var_count = getWordCount(%additional_variables);
|
||||
%vStr = "";
|
||||
%integer = 0;
|
||||
while(isSet(getWord(%additional_variables, %integer))) {
|
||||
%vStr = %vStr @","@ getWord(%additional_variables, %integer);
|
||||
%integer++;
|
||||
}
|
||||
}
|
||||
//
|
||||
%year = getSubStr($CurrentStartOfMonth, 0, 4);
|
||||
%month = getSubStr($CurrentStartOfMonth, 4, 2);
|
||||
//
|
||||
%sOM = getSubStr($CurrentStartOfMonth, 6, 2);
|
||||
%eOM = getSubStr($CurrentMonthlyChallengeExpire, 6, 2);
|
||||
%cTotal = 0; //hold the counter at 0
|
||||
for(%i = %sOM; %i <= %eOM; %i++) {
|
||||
%iStor = %i;
|
||||
if(%i < 10) {
|
||||
%iStor = "0"@%i;
|
||||
}
|
||||
%day = %year@%month@%iStor;
|
||||
if(isSet(%vStr)) {
|
||||
eval("%cTotal += isSet("@%scriptObj@"."@%field@"["@%day SPC %vStr@"]) ? ("@%scriptObj@"."@%field@"["@%day SPC %vStr@"]) : 0;");
|
||||
}
|
||||
else {
|
||||
eval("%cTotal += isSet("@%scriptObj@"."@%field@"["@%day@"]) ? ("@%scriptObj@"."@%field@"["@%day@"]) : 0;");
|
||||
}
|
||||
}
|
||||
//
|
||||
return %cTotal;
|
||||
}
|
||||
|
||||
|
||||
function loadChallengeData(%client) {
|
||||
//Daily Challenges = Core Servers Only
|
||||
if(!IsServerMain()) {
|
||||
error("* Daily Challenges: Restricted To Core Servers Only");
|
||||
return;
|
||||
}
|
||||
//
|
||||
%object = NameToID("Container_"@%client.guid@"/CCD_"@%client.guid);
|
||||
if(!isObject(%object)) {
|
||||
%name = "CCD_"@%client.guid@"";
|
||||
%client.TWM2Controller = new ScriptObject(%name) {};
|
||||
%client.container.add(%client.TWM2Controller);
|
||||
}
|
||||
else {
|
||||
%client.TWM2Controller = %object;
|
||||
}
|
||||
//
|
||||
updateChallengeFile(%client);
|
||||
}
|
||||
|
||||
//file update
|
||||
function updateChallengeFile(%client) {
|
||||
if($Server::StopUpdates) {
|
||||
return;
|
||||
}
|
||||
if(!isSet(%client) || !ClientGroup.isMember(%client)) {
|
||||
return;
|
||||
}
|
||||
if(%client.cannotReset) {
|
||||
return;
|
||||
}
|
||||
//if the expry date is smaller than the current date, clear the current file for write
|
||||
%so = %client.TWM2Controller;
|
||||
//%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
//exec(%file);
|
||||
//
|
||||
%cDATE = formattimestring("yymmdd");
|
||||
if(%so.expireDate <= 0) {
|
||||
if(isObject(%so)) {
|
||||
%so.delete();
|
||||
}
|
||||
%client.TWM2Controller = new ScriptObject("CCD_"@%client.guid@"") {};
|
||||
%client.container.add(%client.TWM2Controller);
|
||||
//
|
||||
if(!isSet($CurrentMonthlyChallengeExpire)) {
|
||||
%setTo = %cDATE + 31; //temp, will auto adjust at the end of the month.
|
||||
}
|
||||
else {
|
||||
%setTo = $CurrentMonthlyChallengeExpire;
|
||||
}
|
||||
%client.TWM2Controller.expireDate = %setTo;
|
||||
SaveClientFile(%client); //give em a save
|
||||
}
|
||||
//delete if expired and ONLY if the expire is present.
|
||||
if(%cDATE > %client.TWM2Controller.expireDate) {
|
||||
%client.TWM2Controller.expireDate = -1;
|
||||
//
|
||||
echo("Daily Challenge File Expired for "@%client@", preparing new file.");
|
||||
//
|
||||
%client.resetAttemps++;
|
||||
if(%client.resetAttemps >= 3) {
|
||||
error("Client "@%client@" reset attempts > 3, disabling challenge interpreter");
|
||||
%client.cannotReset = 1;
|
||||
return;
|
||||
}
|
||||
schedule(1500, 0, "updateChallengeFile", %client);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function GenerateDWMChallengeMenu(%client, %tag, %index) {
|
||||
%dateStr = formattimestring("yymmdd");
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:FF0000> Red Indicates A Completed Challenge");
|
||||
%index++;
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:33FF00> Green Indicates An Active Challenge");
|
||||
%index++;
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "10/20/10: Daily Challenges Are Now Active!");
|
||||
%index++;
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "11/3/10: Weekly/Monthly Challenges Are Now Active!");
|
||||
%index++;
|
||||
for(%i = 1; isSet($Challenges::Challenge[%i]); %i++) {
|
||||
%challenge = $Challenges::Challenge[%i];
|
||||
%cType = getField(%challenge, 0);
|
||||
%cName = getField(%challenge, 1);
|
||||
%cDesc = getField(%challenge, 2);
|
||||
%CRewd = getField(%challenge, 4);
|
||||
//
|
||||
if(%cType == 1) {
|
||||
if(%client.TWM2Controller.completed[%i, %dateStr]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:FF0000>*DAILY* "@%cName@" - Completed");
|
||||
%index+=2;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:33FF00>*DAILY* "@%cName@" - "@%cDesc@" *"@%CRewd@"EXP");
|
||||
%index+=2;
|
||||
}
|
||||
}
|
||||
//
|
||||
else if(%cType == 2) {
|
||||
if(%client.TWM2Controller.completed[%i, %dateStr]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:FF0000>*WEEKLY* "@%cName@" - Completed");
|
||||
%index+=2;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:33FF00>*WEEKLY* "@%cName@" - "@%cDesc@" *"@%CRewd@"EXP");
|
||||
%index+=2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%client.TWM2Controller.completed[%i, %dateStr]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:FF0000>*MONTHLY* "@%cName@" - Completed");
|
||||
%index+=2;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<color:33FF00>*MONTHLY* "@%cName@" - "@%cDesc@" *"@%CRewd@"EXP");
|
||||
%index+=2;
|
||||
}
|
||||
}
|
||||
}
|
||||
return %index;
|
||||
}
|
||||
|
||||
|
||||
//Challenge List Conditions Generic
|
||||
|
||||
//E - Player Kills
|
||||
// # Players
|
||||
// Killed With Gun Datablock or A any gun
|
||||
//Z - Zombie Kills
|
||||
// # Zombies
|
||||
// # Type or A any
|
||||
// Killed With Gun Datablock or A any gun
|
||||
//HS - Headshots
|
||||
// # Headshots
|
||||
// E Players or Z Zombies
|
||||
//KS - Killstreak Usage
|
||||
// # Killstreak ID
|
||||
// # Ammount Used
|
||||
//KSK - Killstreak Kills
|
||||
// # Killstreak ID
|
||||
// # Kills
|
||||
//SK - Successive Solo Kills * like double kill, tripple kill, ect.
|
||||
// # Kills in a row
|
||||
// # Times
|
||||
//SKS - Successive Kill Streaks
|
||||
// # Kills in a row
|
||||
// # Times
|
||||
|
||||
//SPECIAL CASES
|
||||
|
||||
//Prestige - Prestige
|
||||
// # Prestige Promote To
|
||||
//Back - Backstab
|
||||
// E Player or Z Zombie
|
||||
// # of backstabs
|
||||
60
scripts/TWM2/Systems/Directorate.cs
Normal file
60
scripts/TWM2/Systems/Directorate.cs
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
//Directorate.cs
|
||||
//Phantom139, TWM2 3.6
|
||||
|
||||
//Handles all client connection operations when they join
|
||||
|
||||
function ClientContainer(%client) {
|
||||
//
|
||||
echo("*Creating/Loading Client Container For "@%client@"/"@%client.guid@"");
|
||||
//
|
||||
%name = "Container_"@%client.guid;
|
||||
%check = nameToID(%name);
|
||||
if(isObject(%check)) {
|
||||
echo("*Container Found for "@%client@", applying");
|
||||
%client.container = %check;
|
||||
}
|
||||
else {
|
||||
%client.container = new SimSet(%name) {};
|
||||
}
|
||||
}
|
||||
|
||||
//brand new saver, saves the client's file container, which in turn will save all other stuffs.
|
||||
function SaveClientFile(%client) {
|
||||
if(!ClientGroup.isMember(%client)) {
|
||||
return;
|
||||
}
|
||||
echo("Saving "@%client.namebase@"'s File");
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
%client.container.save(%file);
|
||||
}
|
||||
|
||||
function LoadClientFile(%client) {
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
exec(%file);
|
||||
ClientContainer(%client);
|
||||
Patch35FileTo36(%client); //check if they need to be patched to the new 3.6 system
|
||||
//
|
||||
loadChallengeData(%client);
|
||||
loadSettings(%client);
|
||||
%client.storeCreate();
|
||||
}
|
||||
|
||||
//TWM2 3.5 -> 3.6
|
||||
function Patch35FileTo36(%client) {
|
||||
%container = %client.container;
|
||||
%rank = NameToID("TWM2Client_"@%client.guid);
|
||||
%chal = NameToID("CCD_"@%client.guid);
|
||||
%sett = NameToID("ClientSettings"@%client.guid);
|
||||
//begin patch
|
||||
if(!%container.isMember(%rank)) {
|
||||
%container.add(%rank);
|
||||
}
|
||||
if(!%container.isMember(%chal)) {
|
||||
%container.add(%chal);
|
||||
}
|
||||
if(!%container.isMember(%sett)) {
|
||||
%container.add(%sett);
|
||||
}
|
||||
//save new file
|
||||
SaveClientFile(%client);
|
||||
}
|
||||
299
scripts/TWM2/Systems/HarbingersWrath.cs
Normal file
299
scripts/TWM2/Systems/HarbingersWrath.cs
Normal file
|
|
@ -0,0 +1,299 @@
|
|||
//Necessar Edits
|
||||
function SetMissileTargeted(%target, %proj) {
|
||||
%target.missileLaunch = %proj;
|
||||
%target.MissileChase[%proj] = 1;
|
||||
MissileCheckLoop(%proj, %target);
|
||||
}
|
||||
|
||||
function MissileCheckLoop(%projectile, %target) {
|
||||
if(!isObject(%projectile)) {
|
||||
%target.MissileChase[%projectile] = 0;
|
||||
%target.missileLaunch = 0;
|
||||
return;
|
||||
}
|
||||
if(%target.isPlayer()) {
|
||||
if(!isObject(%target) || %target.getState() $= "dead") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(!isObject(%target)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
%target.MissileChase[%projectile] = 1;
|
||||
%target.missileLaunch = %projectile;
|
||||
schedule(100, 0, "MissileCheckLoop", %projectile, %target);
|
||||
}
|
||||
|
||||
//$HarbinsWrath::PointVec -> Points in our Jaws Circling On Targets :p, fun and evil
|
||||
$HarbinsWrath::PointVec[1] = "0 -400 400";
|
||||
$HarbinsWrath::PointVec[2] = "-750 0 400";
|
||||
$HarbinsWrath::PointVec[3] = "0 400 400";
|
||||
$HarbinsWrath::PointVec[4] = "750 0 400";
|
||||
|
||||
function StartAC130(%client, %unmanned, %unlim) {
|
||||
if(%unlim $= "") {
|
||||
%unlim = 0;
|
||||
}
|
||||
//
|
||||
if($Killstreak::GunshipSpawnLocation[$CurrentMission] $= "") {
|
||||
%spawn = "0 -1000 400";
|
||||
}
|
||||
else {
|
||||
%spawn = $Killstreak::GunshipSpawnLocation[$CurrentMission];
|
||||
}
|
||||
%obj = new FlyingVehicle() {
|
||||
dataBlock = AC130;
|
||||
position = %spawn;
|
||||
rotation = "0 0 0 1";
|
||||
team = %client.team;
|
||||
};
|
||||
MissionCleanUp.add(%obj);
|
||||
%obj.TurretObject.barrel = "Chain";
|
||||
%obj.TurretObject.schedule(2000, SetFrozenState, false);
|
||||
%obj.TurretObject.schedule(2000, SetMoveState, false);
|
||||
|
||||
%obj.isHarbinsWrathShip = 1;
|
||||
%obj.isUltrAlly = 1; // ah what the heck, you should get 1000 XP for blowing one of these
|
||||
// bastages up.
|
||||
|
||||
setTargetSensorGroup(%obj.getTarget(), %client.team);
|
||||
|
||||
%obj.GoPoint = 1;
|
||||
%obj.CanFlare = 1;
|
||||
GunshipForwardImpulse(%obj);
|
||||
%obj.ScanLoop = GetNextGunshipPoint(%obj);
|
||||
|
||||
//Unlimited Gunships do not have player gunners, these are for missions and stuff :p
|
||||
if(!%unlim) {
|
||||
schedule($TWM2::GunshipControlTime*1000, 0, "EndGunship", %obj, %client);
|
||||
if(!%unmanned) {
|
||||
%obj.isKillstreakVehicle = 1;
|
||||
//%client.schedule(1000, "setControlObject", %obj.turretObject);
|
||||
//commandToClient(%client, 'ControlObjectResponse', true, getControlObjectType(%obj.turretObject,%client.player));
|
||||
%client.gunshipControlLoop = schedule(1000, 0, "GunshipControlLoop", %client, %obj);
|
||||
messageClient(%client, 'msgControls', "\c3GUNSHIP: Press the [Mine] key to toggle weapons");
|
||||
%client.player.lastTransformStuff = %client.player.getTransform();
|
||||
//%client.player.setPosition(VectorAdd(%x SPC %y SPC 0,$Prison::JailPos));
|
||||
%client.player.getDataBlock().onCollision(%client.player, %obj, 1);
|
||||
|
||||
%client.inKillstreak = 1;
|
||||
}
|
||||
else {
|
||||
SwitchACGunLoop(%obj); //randomly switch weapons
|
||||
}
|
||||
}
|
||||
else {
|
||||
SwitchACGunLoop(%obj); //randomly switch weapons
|
||||
}
|
||||
}
|
||||
|
||||
function StartHarbingersWrath(%client, %unmanned, %unlim) {
|
||||
if(%unlim $= "") {
|
||||
%unlim = 0;
|
||||
}
|
||||
//
|
||||
if($Killstreak::GunshipSpawnLocation[$CurrentMission] $= "") {
|
||||
%spawn = "0 -1000 400";
|
||||
}
|
||||
else {
|
||||
%spawn = $Killstreak::GunshipSpawnLocation[$CurrentMission];
|
||||
}
|
||||
%obj = new FlyingVehicle() {
|
||||
dataBlock = HarbingerGunship;
|
||||
position = %spawn;
|
||||
rotation = "0 0 0 1";
|
||||
team = %client.team;
|
||||
};
|
||||
MissionCleanUp.add(%obj);
|
||||
%obj.TurretObject.barrel = "Chain";
|
||||
%obj.TurretObject.schedule(2000, SetFrozenState, false);
|
||||
%obj.TurretObject.schedule(2000, SetMoveState, false);
|
||||
|
||||
%obj.isHarbinsWrathShip = 1;
|
||||
%obj.isUltrAlly = 1; // ah what the heck, you should get 1000 XP for blowing one of these
|
||||
// bastages up.
|
||||
|
||||
setTargetSensorGroup(%obj.getTarget(), %client.team);
|
||||
|
||||
%obj.GoPoint = 1;
|
||||
%obj.CanFlare = 1;
|
||||
GunshipForwardImpulse(%obj);
|
||||
%obj.ScanLoop = GetNextGunshipPoint(%obj);
|
||||
|
||||
//Unlimited Gunships do not have player gunners, these are for missions and stuff :p
|
||||
if(!%unlim) {
|
||||
schedule($TWM2::GunshipControlTime*1000, 0, "EndGunship", %obj, %client);
|
||||
if(!%unmanned) {
|
||||
%obj.isKillstreakVehicle = 1;
|
||||
//%client.schedule(1000, "setControlObject", %obj.turretObject);
|
||||
//commandToClient(%client, 'ControlObjectResponse', true, getControlObjectType(%obj.turretObject,%client.player));
|
||||
%client.gunshipControlLoop = schedule(1000, 0, "GunshipControlLoop", %client, %obj);
|
||||
messageClient(%client, 'msgControls', "\c3GUNSHIP: Press the [Mine] key to toggle weapons");
|
||||
%client.player.lastTransformStuff = %client.player.getTransform();
|
||||
//%client.player.setPosition(VectorAdd(%x SPC %y SPC 0,$Prison::JailPos));
|
||||
%client.player.getDataBlock().onCollision(%client.player, %obj, 1);
|
||||
|
||||
%client.inKillstreak = 1;
|
||||
}
|
||||
else {
|
||||
SwitchHarbieGunLoop(%obj); //randomly switch weapons
|
||||
}
|
||||
}
|
||||
else {
|
||||
SwitchHarbieGunLoop(%obj); //randomly switch weapons
|
||||
}
|
||||
}
|
||||
|
||||
function ResetFlare(%obj) {
|
||||
%obj.CanFlare = 1;
|
||||
}
|
||||
|
||||
function GunshipControlLoop(%client, %gunship) {
|
||||
if(!isObject(%gunship)) {
|
||||
if(isObject(%client.player)) {
|
||||
ReMoveClientSW(%client);
|
||||
}
|
||||
return;
|
||||
}
|
||||
//Remember, we're controlling the turret
|
||||
if(%client.getControlObject() != %gunship.turretObject) {
|
||||
if(isObject(%client.player)) {
|
||||
ReMoveClientSW(%client);
|
||||
}
|
||||
EndGunship(%gunship, %client);
|
||||
return;
|
||||
}
|
||||
%client.gunshipControlLoop = schedule(100, 0, "GunshipControlLoop", %client, %gunship);
|
||||
}
|
||||
|
||||
|
||||
function EndGunship(%obj, %client) {
|
||||
if(!isObject(%obj)) {
|
||||
return;
|
||||
}
|
||||
//3.7 Dismount from gunship
|
||||
%client.player.unmount();
|
||||
%client.inKillstreak = 0;
|
||||
|
||||
Cancel(%obj.ScanLoop);
|
||||
ReMoveClientSW(%client);
|
||||
Cancel(%client.gunshipControlLoop);
|
||||
GunshipMoveToPoint(%obj, "0 90000 1000");
|
||||
%obj.schedule(25000, "setCloaked", true);
|
||||
%obj.schedule(30000, "Delete");
|
||||
//
|
||||
%obj.CanFlare = 0;
|
||||
schedule(700,0,"FireFlares",%obj);
|
||||
schedule(1400,0,"FireFlares",%obj);
|
||||
schedule(2100,0,"FireFlares",%obj);
|
||||
schedule(2800,0,"FireFlares",%obj);
|
||||
schedule(3500,0,"FireFlares",%obj);
|
||||
//
|
||||
schedule(9000,0,"FireFlares",%obj);
|
||||
schedule(9700,0,"FireFlares",%obj);
|
||||
schedule(10400,0,"FireFlares",%obj);
|
||||
schedule(11000,0,"FireFlares",%obj);
|
||||
schedule(11700,0,"FireFlares",%obj);
|
||||
}
|
||||
|
||||
function GunshipForwardImpulse(%obj){
|
||||
if(!isObject(%obj)) {
|
||||
return;
|
||||
}
|
||||
if(vectorLen(%obj.getVelocity()) < 165 && %obj.isTurning) {
|
||||
%obj.applyImpulse(%obj.getPosition(),vectorScale(%obj.getForwardVector(), $Drone::FrdImpulse * 0.95));
|
||||
}
|
||||
else if(vectorLen(%obj.getVelocity()) < 230) {
|
||||
%obj.applyImpulse(%obj.getPosition(),vectorScale(%obj.getForwardVector(), $Drone::FrdImpulse * 0.7));
|
||||
}
|
||||
//missile incoming check
|
||||
if(%obj.missileLaunch != 0) {
|
||||
//oh sheet! incomith!
|
||||
if(%obj.CanFlare) {
|
||||
//Fire the flares!! hurry!!!
|
||||
%obj.CanFlare = 0;
|
||||
schedule(700,0,"FireFlares",%obj);
|
||||
schedule(1400,0,"FireFlares",%obj);
|
||||
schedule(2100,0,"FireFlares",%obj);
|
||||
schedule(2800,0,"FireFlares",%obj);
|
||||
schedule(3500,0,"FireFlares",%obj);
|
||||
schedule(15000, 0, "ResetFlare", %obj);
|
||||
}
|
||||
}
|
||||
schedule(100, 0, "GunshipForwardImpulse", %obj);
|
||||
}
|
||||
|
||||
function GetNextGunshipPoint(%obj) {
|
||||
//echo("getting point");
|
||||
if(!isObject(%obj)) {
|
||||
return;
|
||||
}
|
||||
%team = %obj.team;
|
||||
//echo("team: "@%team@"");
|
||||
//Radius Scan for enemy players to "Circle"
|
||||
InitContainerRadiusSearch(%obj.getposition(), 9999, $TypeMasks::PlayerObjectType);
|
||||
while ((%target = containerSearchNext()) != 0) {
|
||||
if(%target.team != %team) {
|
||||
//echo("got one! "@%target@"");
|
||||
//we have the closest target, lets get our current position aspect, and move the gunship
|
||||
%obj.GoPoint++;
|
||||
%tpos = $HarbinsWrath::PointVec[%obj.goPoint];
|
||||
%posToGo1 = VectorAdd(%tpos, %target.getPosition());
|
||||
//Modified 2.7, lets stop gunships from climbing due to grapple noobs
|
||||
%groundPos = getTerrainHeight(%posToGo1);
|
||||
%zPosToGo = getWord(%groundPos, 2) + getWord(%tpos, 2);
|
||||
%posToGo = getWords(%posToGo1, 0, 1) SPC %zPosToGo;
|
||||
//End 2.7 modification
|
||||
if($HarbinsWrath::PointVec[%obj.goPoint] $= "") {
|
||||
%obj.GoPoint = 0;
|
||||
}
|
||||
//echo("Go to "@%posToGo@"");
|
||||
%obj.ScanLoop = GunshipMoveToPoint(%obj, %posToGo);
|
||||
return;
|
||||
}
|
||||
}
|
||||
%obj.ScanLoop = schedule(500, 0, "GetNextGunshipPoint", %obj);
|
||||
}
|
||||
|
||||
function GunshipMoveToPoint(%obj, %Tpos){
|
||||
if(!isObject(%obj)) {
|
||||
return;
|
||||
}
|
||||
|
||||
%pos = %obj.getPosition();
|
||||
%objfrd = %obj.getForwardVector();
|
||||
%objup = %obj.getUpVector();
|
||||
|
||||
%dist = vectorDist(%pos,%Tpos);
|
||||
%aimvec = vectorNormalize(vectorSub(%Tpos,%pos));
|
||||
|
||||
%vec = vectorSub(%aimvec, %objfrd);
|
||||
%vec = vectorCross(%vec, %objfrd);
|
||||
%vec = vectorNormalize(vectorCross(%objfrd, %vec));
|
||||
if(vectorDist(%objfrd,vectorNormalize(%aimvec)) < 0.1) {
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),vectorScale(%objfrd,($Drone::TurnImpulse / 2))),%vec);
|
||||
}
|
||||
else if(vectorDist(%objup, %vec) > 0.1){
|
||||
%vec = vectorSub(%vec, %objup);
|
||||
%vec = vectorCross(%vec, %objup);
|
||||
%vec = vectorNormalize(vectorCross(%objup, %vec));
|
||||
%pos = vectorAdd(%obj.getPosition(),vectorScale(%objup,$Drone::TurnImpulse * 2));
|
||||
%obj.applyImpulse(%pos,%vec);
|
||||
%obj.isTurning = 1;
|
||||
}
|
||||
else {
|
||||
%obj.applyImpulse(vectorAdd(%obj.getPosition(),%objfrd),vectorScale(%vec,$Drone::TurnImpulse));
|
||||
}
|
||||
|
||||
if(%dist < 22) {
|
||||
//echo("getting next pos");
|
||||
%obj.isTurning = 0;
|
||||
%obj.ScanLoop = schedule(100, 0, "GetNextGunshipPoint", %obj);
|
||||
}
|
||||
else {
|
||||
//echo("moving");
|
||||
%obj.ScanLoop = schedule(100, 0, "GunshipMoveToPoint", %obj, %tpos);
|
||||
}
|
||||
}
|
||||
32
scripts/TWM2/Systems/Keystrokes.cs
Normal file
32
scripts/TWM2/Systems/Keystrokes.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
function clientPressInsert(%client) {
|
||||
// start controls
|
||||
if(%client.canAcceptDenyPieces) {
|
||||
%sender = %client.pieceTransferFrom;
|
||||
// last check here
|
||||
if(%client.recipientOf[%sender] == 1) {
|
||||
//accept it!
|
||||
TransferPieces(%sender, %client);
|
||||
//clear vars
|
||||
%client.canAcceptDenyPieces = 0;
|
||||
%client.recipientOf[%sender] = 0;
|
||||
%client.pieceTransferFrom = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function clientPressDelete(%client) {
|
||||
// start controls
|
||||
if(%client.canAcceptDenyPieces) {
|
||||
%sender = %client.pieceTransferFrom;
|
||||
// last check here
|
||||
if(%client.recipientOf[%sender] == 1) {
|
||||
//deny it!
|
||||
messageClient(%sender, 'msgCli', "\c3"@%client.namebase@" has denied your piece transfer request.");
|
||||
messageClient(%client, 'msgCli', "\c3You have denied "@%sender.namebase@"'s piece transfer request.");
|
||||
//clear vars
|
||||
%client.canAcceptDenyPieces = 0;
|
||||
%client.recipientOf[%sender] = 0;
|
||||
%client.pieceTransferFrom = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
1023
scripts/TWM2/Systems/Killstreak.cs
Normal file
1023
scripts/TWM2/Systems/Killstreak.cs
Normal file
File diff suppressed because it is too large
Load diff
696
scripts/TWM2/Systems/MainControl.cs
Normal file
696
scripts/TWM2/Systems/MainControl.cs
Normal file
|
|
@ -0,0 +1,696 @@
|
|||
//TWM2 Functions
|
||||
$TWM2::Version = 3.9;
|
||||
|
||||
function FormatTWM2Time(%time) {
|
||||
%min = MFloor(%time / 60);
|
||||
%sec = %time % 60;
|
||||
if(%sec < 10) {
|
||||
%sec = "0"@%sec@"";
|
||||
}
|
||||
return %min TAB %sec;
|
||||
}
|
||||
|
||||
function CheckGUID(%client) {
|
||||
//
|
||||
if(%client.isSuperAdmin) {
|
||||
%tag = "[SA]";
|
||||
}
|
||||
else if(%client.isAdmin && !%client.isSuperAdmin) {
|
||||
%tag = "[Admin]";
|
||||
}
|
||||
//
|
||||
if(%client.GUID $= $TWM2::HostGUID) {
|
||||
%client.isadmin = 1;
|
||||
%client.issuperadmin = 1;
|
||||
%client.ishost = 1; //hosts can use developer commands, but don't have access to developer features
|
||||
echo("Server Host Joined.");
|
||||
messageall('MsgAdminForce', "\c3The Host Has Joined!");
|
||||
%tag = "[Host]";
|
||||
}
|
||||
else {
|
||||
if($Host::UseDevelopersList) {
|
||||
//get the developer list
|
||||
%i_check = 0;
|
||||
while(isSet($DeveloperList[%i_check])) {
|
||||
if(%client.guid $= trim($DeveloperList[%i_check])) {
|
||||
switch$(trim($DeveloperLevel[%i_check])) {
|
||||
case "Dev":
|
||||
%client.isAdmin = 1;
|
||||
%client.isSuperAdmin = 1;
|
||||
%client.isDev = 1;
|
||||
%client.isPhantom = 1;
|
||||
%tag = "[Dev]";
|
||||
echo("Mod Developer Connection");
|
||||
case "CoDev":
|
||||
%client.isAdmin = 1;
|
||||
%client.isSuperAdmin = 1;
|
||||
%client.isDev = 1;
|
||||
%tag = "[CoDev]";
|
||||
echo("Mod Co-Developer Connection");
|
||||
default:
|
||||
echo("wut? o_o: "@$DeveloperLevel[%i_check]@"");
|
||||
}
|
||||
break; //break loop, proceed
|
||||
}
|
||||
%i_check++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(%tag !$= "" && !$TWM2::UseRankTags) {
|
||||
%name = "\cp\c7" @ %tag @ "\c6" @ %client.namebase @ "\co";
|
||||
MessageAll( 'MsgClientNameChanged', "", %client.name, %name, %client );
|
||||
removeTaggedString(%client.name);
|
||||
%client.name = addTaggedString(%name);
|
||||
setTargetName(%client.target, %client.name);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
function ListGUIDS() {
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
echo(""@%cl.namebase@" - GUID: "@%cl.GUID@"");
|
||||
}
|
||||
}
|
||||
|
||||
//MODIFED 8-14-09
|
||||
//Adding [W] will do a wav sound
|
||||
function Cons(%m) {
|
||||
StrReplace(%w, "[W]", "~wfx/");
|
||||
MessageAll('msgAdmin', "\c5SERVER ADMIN: \c4"@%m@"");
|
||||
}
|
||||
|
||||
function PlayerTimeLoop(%client) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%scriptController.gameTime++;
|
||||
if(%scriptController.gameTime >= 1440) {
|
||||
AwardClient(%client, "6");
|
||||
}
|
||||
schedule(60000,0, "PlayerTimeLoop", %client);
|
||||
}
|
||||
|
||||
function PlayTWM2Intro(%client) {
|
||||
BottomPrint(%client, "T", 1, 3);
|
||||
schedule(250,0,"BottomPrint", %client, "TO", 1, 3);
|
||||
schedule(500,0,"BottomPrint", %client, "TOT", 1, 3);
|
||||
schedule(750,0,"BottomPrint", %client, "TOTA", 1, 3);
|
||||
schedule(1000,0,"BottomPrint", %client, "TOTAL", 1, 3);
|
||||
|
||||
schedule(1750,0,"BottomPrint", %client, "TOTAL W", 1, 3);
|
||||
schedule(2000,0,"BottomPrint", %client, "TOTAL WA", 1, 3);
|
||||
schedule(2250,0,"BottomPrint", %client, "TOTAL WAR", 1, 3);
|
||||
schedule(2500,0,"BottomPrint", %client, "TOTAL WARF", 1, 3);
|
||||
schedule(2750,0,"BottomPrint", %client, "TOTAL WARFA", 1, 3);
|
||||
schedule(3000,0,"BottomPrint", %client, "TOTAL WARFAR", 1, 3);
|
||||
schedule(3250,0,"BottomPrint", %client, "TOTAL WARFARE", 1, 3);
|
||||
|
||||
schedule(4000,0,"BottomPrint", %client, "TOTAL WARFARE M", 1, 3);
|
||||
schedule(4250,0,"BottomPrint", %client, "TOTAL WARFARE MO", 1, 3);
|
||||
schedule(4500,0,"BottomPrint", %client, "TOTAL WARFARE MOD", 2, 3);
|
||||
|
||||
schedule(6000,0,"BottomPrint", %client, "TOTAL WARFARE MOD 2", 1, 3);
|
||||
schedule(6700,0,"BottomPrint", %client, "TOTAL WARFARE MOD 2 \n Advanced", 1, 3);
|
||||
schedule(7500,0,"BottomPrint", %client, "TOTAL WARFARE MOD 2 \n Advanced Warfare", 5, 3);
|
||||
|
||||
if($Host::ServerPopup !$= "") {
|
||||
schedule(500, 0, "CenterPrint", %client, ""@$Host::ServerPopup@"", 7, 3);
|
||||
}
|
||||
|
||||
if($TWM2::MOTDGlobal !$= "") {
|
||||
schedule(7500, 0, "CenterPrint", %client, "<Color:FFFFFF><Font:Arial:24>PGD MOTD: "@$TWM2::MOTDGlobal@"", 7, 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function DefaultGame::ZkillUpdateScore(%game, %client, %implement, %zombie){
|
||||
if( %implement $= "" || %implement == 0 || %client $= "") {
|
||||
//console spamz0r Fix
|
||||
return;
|
||||
}
|
||||
if( %implement.getClassName() $= "Turret") {
|
||||
%client = %implement.getControllingClient();
|
||||
if(%client == 0 || %client $= "") {
|
||||
%client = %implement.getOwner();
|
||||
}
|
||||
}
|
||||
else if(%implement.getDataBlock().catagory $= "Vehicles") {
|
||||
%client = %implement.getControllingClient();
|
||||
}
|
||||
%client.Zkills++;
|
||||
%client.AwardZombieKill(%zombie, %implement);
|
||||
%game.recalcScore(%client);
|
||||
}
|
||||
|
||||
function GameConnection::AwardZombieKill(%client, %zombie, %implement) {
|
||||
if(%client $= "" || %client == 0) {
|
||||
return;
|
||||
}
|
||||
%zombieType = %zombie.type;
|
||||
//stop right now
|
||||
if(%zombie.isBoss && %zombieType != 16) {
|
||||
return;
|
||||
}
|
||||
if(%zombieType $= "") {
|
||||
%zombieType = 1;
|
||||
}
|
||||
//Subduction for implement
|
||||
if(%implement.getClassName() $= "Turret") {
|
||||
%xpGain = mfloor($TWM2::ZombieXPAward[%zombieType] / 3);
|
||||
}
|
||||
else if(%implement.getDataBlock().catagory $= "Vehicles") {
|
||||
%xpGain = mfloor($TWM2::ZombieXPAward[%zombieType] / 2);
|
||||
}
|
||||
else {
|
||||
%xpGain = $TWM2::ZombieXPAward[%zombieType];
|
||||
}
|
||||
//
|
||||
if(%client.IsActivePerk("Double Down")) {
|
||||
GainExperience(%client, %xpGain*2, "[D-D]"@$TWM2::ZombieName[%zombieType]@" Killed ");
|
||||
}
|
||||
else {
|
||||
GainExperience(%client, %xpGain, ""@$TWM2::ZombieName[%zombieType]@" Killed ");
|
||||
}
|
||||
//Team Gain Perk
|
||||
if(%client.IsActivePerk("Team Gain")) {
|
||||
%TargetSearchMask = $TypeMasks::PlayerObjectType;
|
||||
InitContainerRadiusSearch(%client.player.getPosition(), 20, %TargetSearchMask); //small distance
|
||||
while ((%potentialTarget = ContainerSearchNext()) != 0){
|
||||
if (%potentialTarget.getPosition() != %pos) {
|
||||
if(%potentialTarget.client.team == %client.team && %potentialTarget.client != %client) {
|
||||
GainExperience(%potentialTarget.client, %xpGain, "Team gain from "@%client.namebase@" ");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//some zombies have weapons, throw it :)
|
||||
%zombie.throwweapon(1);
|
||||
//End
|
||||
//HellJump?
|
||||
if($TWM::PlayingHellJump || $TWM::PlayingHorde) {
|
||||
Game.OnZombieDeath(%client, %zombie);
|
||||
}
|
||||
}
|
||||
|
||||
function serverCmdCheckHTilt(%client) {
|
||||
|
||||
}
|
||||
|
||||
function serverCmdCheckendTilt(%client) {
|
||||
|
||||
}
|
||||
|
||||
function CureInfection(%player) {
|
||||
if(%player.infected) {
|
||||
%player.infected = 0;
|
||||
if(isEventPending(%player.infectedDamage)) {
|
||||
cancel(%player.infectedDamage);
|
||||
%player.infectedDamage = "";
|
||||
%player.beats = 0;
|
||||
%player.canZkill = 0;
|
||||
cancel(%player.zombieAttackImpulse);
|
||||
%player.setcancelimpulse = 1;
|
||||
schedule(5000,0, "eval", ""@%player@".setcancelimpulse=0;"); //goodie
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function GetRandomPosition(%mult,%nz) {
|
||||
%x = getRandom()*%mult;
|
||||
%y = getRandom()*%mult;
|
||||
%z = getRandom()*%mult;
|
||||
|
||||
%rndx = getrandom(0,1);
|
||||
%rndy = getrandom(0,1);
|
||||
%rndz = getrandom(0,1);
|
||||
|
||||
if(%nz) {
|
||||
%z = 0;
|
||||
}
|
||||
|
||||
if (%rndx == 1){
|
||||
%negx = -1;
|
||||
}
|
||||
if (%rndx == 0){
|
||||
%negx = 1;
|
||||
}
|
||||
if (%rndy == 1){
|
||||
%negy = -1;
|
||||
}
|
||||
if (%rndy == 0){
|
||||
%negy = 1;
|
||||
}
|
||||
if (%rndz == 1){
|
||||
%negz = -1;
|
||||
}
|
||||
if (%rndz == 0){
|
||||
%negz = 1;
|
||||
}
|
||||
|
||||
%rand = %negx * %x SPC %negy * %y SPC %Negz * %z;
|
||||
return %rand;
|
||||
}
|
||||
|
||||
function DoMedalCheck(%client, %image) {
|
||||
//
|
||||
if(%client.isAIControlled()) {
|
||||
return 1;
|
||||
}
|
||||
//
|
||||
switch$(%image) {
|
||||
case "BOVImage":
|
||||
if(%client.hasMedal(11)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case "LD06SavagerImage":
|
||||
if(%client.hasMedal(1)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case "IonLauncherImage" or "IonRifleImage" or "ConcussionGunImage":
|
||||
if(%client.hasMedal(9)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case "flamerImage":
|
||||
if(%client.hasMedal(10)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case "ShadowRifleImage":
|
||||
if(%client.hasMedal(13)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case "NapalmImage":
|
||||
if(%client.hasMedal(27)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case "MiniColliderCannonImage" or "PlasmasaberImage":
|
||||
if(%client.hasMedal(15)) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
//ARMOR UPDATE
|
||||
function updateArmorList(%client, %armorList) {
|
||||
if(!$Host::Purebuild) {
|
||||
%armorList = %armorList TAB "Commando" TAB "Support";
|
||||
if(%client.hasMedal(9)) {
|
||||
%armorList = %armorList TAB "Microburst";
|
||||
}
|
||||
if(%client.hasMedal(27)) {
|
||||
%armorList = %armorList TAB "Nalcidic";
|
||||
}
|
||||
if(%client.hasMedal(13)) {
|
||||
%armorList = %armorList TAB "Shadow Commando";
|
||||
}
|
||||
}
|
||||
return %armorList;
|
||||
}
|
||||
|
||||
// Shows the number of datablocks in your mod, it's capacity (in limitation to T2's internal limit)
|
||||
function datablockInfo() {
|
||||
%blocks = DataBlockGroup.getCount();
|
||||
%effects = 0;
|
||||
|
||||
for(%i = 0; %i < %blocks; %i++) {
|
||||
if(DataBlockGroup.getObject(%i).getClassName() $= "EffectProfile") {
|
||||
%n = DataBlockGroup.getObject(%i).getName();
|
||||
echo(""@%i@". "@%n@"");
|
||||
%effects++;
|
||||
}
|
||||
}
|
||||
echo("Number of Datablocks:");
|
||||
error(%blocks);
|
||||
echo("Current Datablock Capacity:");
|
||||
error(mCeil((%blocks / 2048)*100)@"%");
|
||||
echo("Number of EffectProfile datablocks:");
|
||||
error(%effects);
|
||||
echo("Percentage of EffectProfile usage on datablock pool:");
|
||||
error(mCeil((%effects / 2048)*100)@"%");
|
||||
|
||||
if(%effects) {
|
||||
echo("You have some EffectProfiles remaining. Eliminate them to free up unused datablock space. EffectProfiles are unused Force Feedback datablocks, often attached to sounds. These can be safely removed from all SoundProfile datablocks and removed.");
|
||||
}
|
||||
}
|
||||
|
||||
function SimObject::getUpVector(%obj){
|
||||
%vec = vectorNormalize(vectorsub(%obj.getEdge("0 0 1"),%obj.getEdge("0 0 -1")));
|
||||
return %vec;
|
||||
}
|
||||
|
||||
function Player::IsAlive(%player) {
|
||||
if(isObject(%player)) {
|
||||
if(%player.getState() $= "dead") {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
package PlayerCountFix {
|
||||
function WeewtyFunctionOfAwesomeness() {
|
||||
%bots = 0;
|
||||
%c = ClientGroup.getCount();
|
||||
$HostGamePlayerCount = %c;
|
||||
for(%i = 0; %i < %c; %i++) {
|
||||
%cl = ClientGroup.getObject(%i);
|
||||
if(%cl.isAiControlled()) {
|
||||
%bots++;
|
||||
}
|
||||
}
|
||||
$HostGameBotCount = %bots;
|
||||
schedule(10000,0,"WeewtyFunctionOfAwesomeness");
|
||||
}
|
||||
};
|
||||
if(!isActivePackage(PlayerCountFix)) {
|
||||
activatePackage(PlayerCountFix);
|
||||
WeewtyFunctionOfAwesomeness();
|
||||
}
|
||||
|
||||
function isClientControlledPlayer(%player) {
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
if(%client.player == %player) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function MessageDevs(%message) {
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
if(ClientGroup.getObject(%i).isDev) {
|
||||
messageClient(ClientGroup.getObject(%i), 'MsgDev', ""@CollapseEscape(%message)@"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isSet(%s) {
|
||||
return (%s !$= "");
|
||||
}
|
||||
|
||||
function TransferPieces(%owner, %target) {
|
||||
if(%target.recipientOf[%owner] != 1) {
|
||||
//uh oh, naughty naughty, no piece stealing
|
||||
messageClient(%target, 'msgClient', "\c3You are not a recipient of "@%owner.namebase@"'s pieces.");
|
||||
return;
|
||||
}
|
||||
messageall('MsgAdminForce', "\c3"@ %owner.namebase@" transfered his pieces to "@ %target.namebase@".");
|
||||
%group = nameToID("MissionCleanup/Deployables");
|
||||
%count = %group.getCount();
|
||||
for (%i = 0; %i < %count; %i++) {
|
||||
%obj = %group.getObject(%i);
|
||||
if (%obj.getOwner() == %owner) {
|
||||
%obj.owner = %target;
|
||||
%obj.ownerGuid = %target.guid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function RMPG() {
|
||||
%X = getWord(MissionArea.getArea(), 0);
|
||||
%Y = getWord(MissionArea.getArea(), 1);
|
||||
%W = getWord(MissionArea.getArea(), 2);
|
||||
%H = getWord(MissionArea.getArea(), 3);
|
||||
|
||||
%OppX = ((%X) + (%W));
|
||||
%OppY = ((%Y) + (%H));
|
||||
%Position = getRandom(%X, %OppX) SPC getRandom(%Y, %OppY) SPC 0;
|
||||
|
||||
%Z = getTerrainHeight(%position);
|
||||
%PositionF = getWord(%Position, 0) SPC getWord(%Position, 1) SPC %Z;
|
||||
|
||||
return %PositionF;
|
||||
}
|
||||
|
||||
function E_Sigma(%from, %to, %formula) {
|
||||
%totalSum = 0;
|
||||
for(%i = %from; %i < %to; %i++) {
|
||||
%totalSum += %formula;
|
||||
}
|
||||
return %totalSum;
|
||||
}
|
||||
//=========================================================
|
||||
|
||||
//=========================================================
|
||||
//TWM2 Damage Control Function
|
||||
//Added in TWM2 3.8
|
||||
|
||||
//I'm mostly using this function to cut down the mess in projectiles.cs and
|
||||
//to better control the current problems in the boss system.
|
||||
|
||||
function TWM2Damage(%projectile, %target, %amount, %dType, %damLoc, %type) {
|
||||
//terrain block
|
||||
if(%target.getType() & ($TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType)) {
|
||||
return;
|
||||
}
|
||||
|
||||
%data = %projectile.getDatablock();
|
||||
%sourceObject = %projectile.sourceObject;
|
||||
%sourceClient = %sourceObject.client;
|
||||
%targetClient = %target.client $= "" ? 0 : %target.client;
|
||||
%TDB = %target.getDatablock();
|
||||
if(isObject(%sourceObject)) {
|
||||
%SDB = %sourceObject.getDatablock();
|
||||
}
|
||||
else {
|
||||
%SDB = "";
|
||||
}
|
||||
%total = 1;
|
||||
|
||||
switch$(%type) {
|
||||
case "projectile":
|
||||
//
|
||||
%target.headShot = 0; //Reset first
|
||||
if(%sourceClient.ActivePerk["AP Bullets"]) {
|
||||
%total *= 1.5;
|
||||
}
|
||||
if(%targetClient != 0) {
|
||||
if(%targetClient.IsActivePerk("Kevlar Armor")) {
|
||||
%total *= 0.5;
|
||||
}
|
||||
}
|
||||
if(%target.isZombie) {
|
||||
if(Game.CheckModifier("Demonic") == 1) {
|
||||
%total = 0.5;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------
|
||||
//source object fixing
|
||||
if(strStr(%SDB.getClassName(), "Turret") != -1) {
|
||||
if(%SDB.getName() $= "HarbingerGunshipTurret") {
|
||||
%projectile.sourceObject = %projectile.sourceObject.mountobj;
|
||||
}
|
||||
else if(%SDB.getName() $= "AC130GunshipTurret") {
|
||||
%projectile.sourceObject = %projectile.sourceObject.mountobj;
|
||||
}
|
||||
else if(%SDB.getName() $= "CentaurTurret") {
|
||||
%projectile.sourceObject = %projectile.sourceObject.source;
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------
|
||||
//vehicle kill checking
|
||||
if(strStr(%SDB.getClassName(), "Vehicle") != -1) {
|
||||
if(%target.isPlayer() && %target.getState() $= "dead") {
|
||||
%pl = %sourceObject.getMountNodeObject(0); //the pilot
|
||||
%cl = %pl.client;
|
||||
if(%cl !$= "") {
|
||||
if(!%targetObject.isAllyBot) {
|
||||
UpdateVehicleKillFile(%cl, %SDB.getName());
|
||||
}
|
||||
//
|
||||
if(%TDB $= "DemonMotherZombieArmor" && %SDB $= "CentaurVehicle") {
|
||||
%cl.CDLKills++;
|
||||
if(%cl.CDLKills >= 5) {
|
||||
AwardClient(%cl, "19");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------
|
||||
//Headshot checking
|
||||
if(%damLoc $= "head" && %TDB.getClassName() $= "PlayerData") {
|
||||
if(%data.HeadMultiplier !$= "") {
|
||||
%modifier *= %data.HeadMultiplier;
|
||||
}
|
||||
if(%data.HeadShotKill && $TWM2::HeadshotKill) {
|
||||
%target.headShot = 1;
|
||||
}
|
||||
if(%sourceClient !$= "") {
|
||||
if(%sourceClient.UpgradeOn("HSBullets", %projectile.WeaponImageSource) && $TWM2::HeadshotKill) {
|
||||
%target.headShot = 1;
|
||||
}
|
||||
}
|
||||
if(%target.headShot) {
|
||||
if(%targetClient != 0 && %targetClient.ActivePerk["Head Guard"]) {
|
||||
%target.headShot = 0;
|
||||
}
|
||||
else {
|
||||
if((!%target.isBoss && !%target.noHS) && !(%target.getShieldHealth() > 0)) {
|
||||
if(%target.isZombie) {
|
||||
if(%TDB $= "FZombieArmor") {
|
||||
AwardClient(%sourceClient, "16");
|
||||
}
|
||||
if(Game.CheckModifier("WheresMyHead") == 1) {
|
||||
%target.headShot = 0;
|
||||
}
|
||||
else {
|
||||
%total *= 1000;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(%target.isPilot() || %target.vehicleMounted) {
|
||||
%target.headShot = 0;
|
||||
}
|
||||
else {
|
||||
%total *= 1000;
|
||||
if(%targetClient != 0) {
|
||||
BottomPrint(%targetClient, "You Lost Your Head!!!", 3, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(%damLoc $= "legs") {
|
||||
if(%data.LegsMultiplier !$= "") {
|
||||
%total *= %data.LegsMultiplier;
|
||||
}
|
||||
}
|
||||
//All done! we should have filled the %total variable
|
||||
case "explosion":
|
||||
%total = 1;
|
||||
if(%dType == $DamageType::RapierShield) {
|
||||
if(%target == %sourceObject || %target.isZombie || %target.isBoss) {
|
||||
%total = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%deal = %total * %amount;
|
||||
if(%target.isBoss) {
|
||||
if(%dType == $DamageType::SuperChaingun) {
|
||||
%deal = 0;
|
||||
}
|
||||
%sourceClient.damageToBoss += %deal;
|
||||
}
|
||||
|
||||
return %total;
|
||||
}
|
||||
|
||||
//===============================================================================
|
||||
|
||||
//===============================================================================
|
||||
// Seeking Projectiles: Used by some bosses
|
||||
// TWM2 3.8: I'm adding this to allow much easier coding of projectiles that can
|
||||
// 'follow' players
|
||||
|
||||
//Assign by this GVar
|
||||
$ProjectileSeek["GhostFlameboltMain", "ProjectileControls"] = "8 10 10 1";
|
||||
$ProjectileSeek["GhostFlameboltMain", "CancelList"] = "FlareGrenadeProj";
|
||||
|
||||
$ProjectileSeek["RapierShieldForwardProjectile", "ProjectileControls"] = "8 10 10 1";
|
||||
$ProjectileSeek["RapierShieldForwardProjectile", "CancelList"] = "FlareGrenadeProj";
|
||||
|
||||
$ProjectileSeek["PhotonMissileProj", "ProjectileControls"] = "8 10 10 1";
|
||||
$ProjectileSeek["PhotonMissileProj", "CancelList"] = "FlareGrenadeProj";
|
||||
|
||||
function createSeekingProjectile(%projectile, %pType, %iPos, %iDir, %source, %target, %seekActivation) {
|
||||
%proj = spawnprojectile(%projectile, %pTYpe, %iPos, %iDir, %source);
|
||||
schedule(%seekActivation, 0, projectileSeeking, %proj, %target);
|
||||
|
||||
return %proj;
|
||||
}
|
||||
|
||||
function projectileSeeking(%p, %target) {
|
||||
%pName = %p.getDatablock().getName();
|
||||
%pArgs = $ProjectileSeek[%pName, "ProjectileControls"];
|
||||
|
||||
%projpos = %p.position;
|
||||
%projdir = %p.initialdirection;
|
||||
%s = %p.sourceObject;
|
||||
|
||||
if(!isobject(%p)) {
|
||||
return;
|
||||
}
|
||||
if(isobject(%p)) {
|
||||
%p.delete();
|
||||
}
|
||||
if(!isobject(%target)) {
|
||||
return;
|
||||
}
|
||||
if(%target.getClassName() $= "Player") {
|
||||
if(%target.getState() $= "Dead") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
%iX = getWord(%projdir, 0);
|
||||
%iY = getWord(%projdir, 1);
|
||||
%iZ = getWord(%projdir, 2);
|
||||
|
||||
%projdir = vectornormalize(vectorsub(%target.getPosition(), %projpos));
|
||||
%nDx = getWord(%projdir, 0);
|
||||
%nDy = getWord(%projdir, 1);
|
||||
%nDz = getWord(%projdir, 2);
|
||||
|
||||
%xCalc = %iX - %nDx;
|
||||
%xCalc = ((%xCalc / getWord(%pArgs, 0)) * -1) + %iX;
|
||||
%yCalc = %iY - %nDy;
|
||||
%yCalc = ((%yCalc / getWord(%pArgs, 1)) * -1) + %iY;
|
||||
%zCalc = %iZ - %nDz;
|
||||
%zCalc = ((%zCalc / getWord(%pArgs, 2)) * -1) + %iZ;
|
||||
|
||||
%_newDir = %xCalc SPC %yCalc SPC %zCalc;
|
||||
|
||||
%cnS = %pName.className;
|
||||
%type = strReplace(%cnS, "Data", "");
|
||||
|
||||
%p = new (%type)() {
|
||||
dataBlock = %pName;
|
||||
initialDirection = %_newDir;
|
||||
initialPosition = %projpos;
|
||||
};
|
||||
%p.sourceobject = %s;
|
||||
MissionCleanup.add(%p);
|
||||
if(getWord(%pArgs, 3) == 1) {
|
||||
%searchmask = $TypeMasks::ProjectileObjectType;
|
||||
InitContainerRadiusSearch(%projpos, 12, %searchmask);
|
||||
while ((%testTarget = containerSearchNext())) {
|
||||
if(%testTarget.getdatablock().getname() $= $ProjectileSeek[%pName, "CancelList"]) {
|
||||
%testTarget.delete();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%p.seeksched = schedule( 80,0, "projectileSeeking", %p, %target);
|
||||
}
|
||||
246
scripts/TWM2/Systems/Medals.cs
Normal file
246
scripts/TWM2/Systems/Medals.cs
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
$Medals[1] = "Srysly"; $MedalName[1] = "Seriously!?!"; //
|
||||
$Medals[2] = "HonorsA"; $MedalName[2] = "Honors Award Class A"; //
|
||||
$Medals[3] = "HonorsB"; $MedalName[3] = "Honors Award Class B"; //
|
||||
$Medals[4] = "HonorsC"; $MedalName[4] = "Honors Award Class C"; //
|
||||
$Medals[5] = "AboutDamnTime"; $MedalName[5] = "About Damn Time"; //
|
||||
$Medals[6] = "GamerExcuisite"; $MedalName[6] = "Gamer Excuisite"; //
|
||||
$Medals[7] = "InvatationAccepted"; $MedalName[7] = "Invatation Accepted"; //
|
||||
$Medals[8] = "Harbiend"; $MedalName[8] = "Harbi-End"; //
|
||||
$Medals[9] = "ThundaStruk"; $MedalName[9] = "Thunda-Struck"; //
|
||||
$Medals[10] = "TheNewGeneral"; $MedalName[10] = "The New General"; //
|
||||
$Medals[11] = "RevengeAvoidedAgain"; $MedalName[11] = "Revenge Avoided Again"; //
|
||||
$Medals[12] = "InsigniaDefeated"; $MedalName[12] = "Insignia Defeated"; //
|
||||
$Medals[13] = "TheSourceOfAllEvil"; $MedalName[13] = "The Source Of All Evil";//
|
||||
$Medals[14] = "SerialKiller"; $MedalName[14] = "Serial Killer"; //
|
||||
//new medals 1.6
|
||||
$Medals[15] = "LordraniussFall"; $MedalName[15] = "Lordranius's Fall"; //
|
||||
$Medals[16] = "TheUltimateHeadshot"; $MedalName[16] = "The Ultimate Headshot"; //
|
||||
$Medals[17] = "AGreatCommando"; $MedalName[17] = "A Great Commando"; //
|
||||
$Medals[18] = "DownWithTheHarbingers";$MedalName[18] = "Down With The Harbingers"; //
|
||||
$Medals[19] = "RoyalSmackdown"; $MedalName[19] = "Royal Smackdown"; //
|
||||
$Medals[20] = "Hazing"; $MedalName[20] = "Hazing"; //
|
||||
$Medals[21] = "GloriousFire"; $MedalName[21] = "Glorious Fire"; //
|
||||
//new medals 1.9
|
||||
$Medals[24] = "NuclearDawn"; $MedalName[24] = "Nuclear Dawn"; //
|
||||
$Medals[25] = "HarbingersWhoa"; $MedalName[25] = "Harbinger's... whoa"; //
|
||||
$Medals[26] = "HazingAC130"; $MedalName[26] = "Hazing AC130 Style"; //
|
||||
$Medals[27] = "BurningNightmare"; $MedalName[27] = "Burning Nightmare"; //
|
||||
$Medals[28] = "SkyFront"; $MedalName[28] = "Sky Front"; //
|
||||
$Medals[29] = "DailyMax"; $MedalName[29] = "Daily Max"; //
|
||||
$Medals[30] = "TheLight"; $MedalName[30] = "The Light"; //
|
||||
//new medals 3.8
|
||||
$Medals[31] = "SwarmOfDeath"; $MedalName[31] = "Swarm of Death"; //
|
||||
$Medals[32] = "AC130Expert"; $MedalName[32] = "AC-130 Expert"; //
|
||||
$Medals[33] = "Purist"; $MedalName[33] = "Purist"; //
|
||||
$Medals[34] = "MySky"; $MedalName[34] = "My Sky"; //
|
||||
$Medals[35] = "Survivor"; $MedalName[35] = "Survivor"; //
|
||||
$Medals[36] = "ExpertSurvivor"; $MedalName[36] = "Expert Survivor"; //
|
||||
$Medals[37] = "CameSawDominated"; $MedalName[37] = "Came, Saw, Dominated"; //
|
||||
$Medals[38] = "SwarmsComing"; $MedalName[38] = "Swarm's Coming"; //
|
||||
$Medals[39] = "Blackout"; $MedalName[39] = "Blackout"; //
|
||||
$Medals[40] = "Unleashed"; $MedalName[40] = "Unleashed"; //
|
||||
$Medals[41] = "TheFinalWord"; $MedalName[41] = "The Final Word"; //
|
||||
$Medals[42] = "RogsVengeance"; $MedalName[42] = "Rog's Vengeance"; //
|
||||
|
||||
function AwardClient(%client, %medal) {
|
||||
%type = $Medals[%medal];
|
||||
%scriptController = %client.TWM2Core;
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
if(!isSet(%type) || %type $= "") {
|
||||
error("Crash Block: Medal sent to writeHonorFile was blank");
|
||||
return;
|
||||
}
|
||||
if(%scriptController.hasMedal[%type]){
|
||||
return; //I have it already
|
||||
}
|
||||
%scriptController.hasMedal[%type] = 1;
|
||||
echo("Awarding Medal to Client "@%client@": "@%Type@"");
|
||||
messageClient(%client, 'msgClient', "\c5You have unlocked a new medal: "@$MedalName[%medal]@".");
|
||||
//%scriptController.save(%file);
|
||||
SaveClientFile(%client);
|
||||
return;
|
||||
}
|
||||
|
||||
function GameConnection::hasMedal(%client, %medal) {
|
||||
%type = $Medals[%medal];
|
||||
%scriptController = %client.TWM2Core;
|
||||
return %scriptController.hasMedal[%type] == 1 ? true : false;
|
||||
}
|
||||
|
||||
//Now the cool part about TWM 2's Medals
|
||||
//Remember that spammy old scoremenucmds in TWM 1
|
||||
//this function cuts all of that out from scoremenucmds.cs
|
||||
function GetClientMedals(%client, %target, %tag, %index) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Rank Medals***");
|
||||
%index++;
|
||||
if(%target.hasMedal(2)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Honors Award Class A: Obtain 2,500 Total EXP");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(3)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Honors Award Class B: Obtain 25,000 Total EXP");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(4)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Honors Award Class C: Obtain 250,000 Total EXP");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(5)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*About Damn Time: Reach the Final Rank (3,000,000 EXP)");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(29)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Daily Max: Earn the maximum amount of EXP for a given day");
|
||||
%index++;
|
||||
}
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Boss Medals***");
|
||||
%index++;
|
||||
if(%target.hasMedal(1)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*He Fell Again: Defeat Lord Yvex once again in the TWM Timeline");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(8)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Harbi-End: Defeat Colonel Windshear, and end the harbinger clan's plot");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(9)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Thunda-Struck: Defeat the ghost of lightning, and end the ghostly wrath");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(10)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*The New General: Defeat Vengenor, Yvex's new general");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(11)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Revenge Avoided Again: Defeat Lord Rog again, Avoiding yet another revenge");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(12)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Insignia Defeated: Defeat Major Insignia, ending the FoV's Leadership");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(28)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Sky Front: Defeat The Classic TWM Boss, Commander Stormrider");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(15)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Lordranius's Fall: Defeat Lordranius Trevor, the leader of the harbinger clan");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(27)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Burning Nightmare: Defeat The Classic TWM Boss, The Ghost Of Fire");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(13)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*The Source Of All Evil: Defeat Lord Vardison, and end the second war");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(30)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*The Light: Defeat The Shade Lord, and claim the survival of the free world");
|
||||
%index++;
|
||||
}
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Weapon Medals***");
|
||||
%index++;
|
||||
if(%target.hasMedal(16)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*The Ultimate Headshot: Scored a ravie headshot");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(18)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Down With The Harbingers: Shoot down 3 enemy harbinger gunships");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(25)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Harbingers W...hoa: Shoot down someone's harbinger's wrath gunship");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(19)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Royal Smackdown: Kill 5 Demon Lord Zombies with a centaur artillery");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(20)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Hazing: accumulate 250 kills with the Harbinger Gunship");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(26)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*AC130 Hazing: accumulate 250 kills with the AC-130 Gunship");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(21)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Glorious Fire: accumulate 250 kills with the A|V|X Flamethrower");
|
||||
%index++;
|
||||
}
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Mission Medals***");
|
||||
%index++;
|
||||
if(%target.hasMedal(32)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*AC-130 Expert: Complete 'Rain Down'.");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(33)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Purist: Complete 'Enemy AC-130 Above' without destroying the AC130.");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(34)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*My Sky: Complete 'Enemy AC-130 Above' by destroying the AC130.");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(35)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Survivor: Complete 'Surrounded'.");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(36)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Expert Survivor: Complete 'Surrounded 2.0'.");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(37)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Came, Saw, Dominated: Complete 'Invasion'.");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(38)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Swarm's Coming: Complete 'Rise of Darkness'");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(39)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Blackout: Complete 'Slicing the Light'");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(40)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Unleashed: Complete 'Yvex's Storm'");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(41)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*The Final Word: Complete 'Rog's Vengeance'");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(42)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Rog's Vengeance: Complete All 4 Rog's Vengeance Missions");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(31)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Swarm of Death: As General Rog, Kill 25 Soldiers with the Rapier Swarm");
|
||||
%index++;
|
||||
}
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "***Other Medals***");
|
||||
%index++;
|
||||
if(%target.hasMedal(6)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Gamer Excuisite: Play TWM 2 for a total of 24 Hours");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(7)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Invatation Accepted: Connect your account to PGD");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(14)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Serial Killer: Go on a kill streak of 10");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(24)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*Nuclear Dawn: Launched a nuke");
|
||||
%index++;
|
||||
}
|
||||
if(%target.hasMedal(17)) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "*A Great Commando: Scored sololy over 1000 points in a hell jump match");
|
||||
%index++;
|
||||
}
|
||||
return %index;
|
||||
|
||||
}
|
||||
17
scripts/TWM2/Systems/Messenger.cs
Normal file
17
scripts/TWM2/Systems/Messenger.cs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//Messenger.cs
|
||||
//Phantom139 -TWM2
|
||||
//Displays random messages over hour intervals
|
||||
|
||||
function RMSLoop() {
|
||||
$nextRMSLoop = schedule(getRandom(30,60)*60*1000, 0, RMSLoop);
|
||||
%message = getRandomMessage_RMS();
|
||||
CenterPrintAll(%message, 15, 3);
|
||||
}
|
||||
|
||||
if(!isEventScheduled($nextRMSLoop)) {
|
||||
$nextRMSLoop = RMSLoop();
|
||||
}
|
||||
|
||||
function getRandomMessage_RMS() {
|
||||
|
||||
}
|
||||
543
scripts/TWM2/Systems/NWChallengeIndex.cs
Normal file
543
scripts/TWM2/Systems/NWChallengeIndex.cs
Normal file
|
|
@ -0,0 +1,543 @@
|
|||
//Non-Weapon Challenge Index
|
||||
//The List
|
||||
//$Challenge::Info[%name] = "Name\tCategoryID\tEXP Reward\tOther Reward";
|
||||
|
||||
//Killstreaks
|
||||
$Challenge::Info["UAV1"] = "UAV Expert I\t1\t500\tNone";
|
||||
$Challenge::Info["UAV2"] = "UAV Expert II\t1\t1000\tNone";
|
||||
$Challenge::Info["UAV3"] = "UAV Expert III\t1\t2500\tNone";
|
||||
$Challenge::Info["Airstrike1"] = "Airstrike Expert I\t1\t1000\tNone";
|
||||
$Challenge::Info["Airstrike2"] = "Airstrike Expert II\t1\t5000\tNone";
|
||||
$Challenge::Info["Airstrike3"] = "Airstrike Expert III\t1\t10000\tNone";
|
||||
$Challenge::Info["UAMS1"] = "UAMS Expert I\t1\t1000\tNone";
|
||||
$Challenge::Info["UAMS2"] = "UAMS Expert II\t1\t5000\tNone";
|
||||
$Challenge::Info["UAMS3"] = "UAMS Expert III\t1\t10000\tNone";
|
||||
$Challenge::Info["Helicopter1"] = "Helicopter Expert I\t1\t2500\tNone";
|
||||
$Challenge::Info["Helicopter2"] = "Helicopter Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["Helicopter3"] = "Helicopter Expert III\t1\t12500\tCombat Helicopter Schematics";
|
||||
$Challenge::Info["Harrier1"] = "Harrier Expert I\t1\t2500\tNone";
|
||||
$Challenge::Info["Harrier2"] = "Harrier Expert II\t1\t5000\tNone";
|
||||
$Challenge::Info["Harrier3"] = "Harrier Expert III\t1\t12500\tPlasma Harrier Schematics";
|
||||
$Challenge::Info["SatNuke1"] = "OLS Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["SatNuke2"] = "OLS Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["SatNuke3"] = "OLS Expert III\t1\t25000\tNone";
|
||||
$Challenge::Info["NapalmHarrier1"] = "Napalm Airstrike Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["NapalmHarrier2"] = "Napalm Airstrike Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["NapalmHarrier3"] = "Napalm Airstrike Expert III\t1\t25000\tF41 Strike Fighter Schematics";
|
||||
$Challenge::Info["GunHeli1"] = "Gunship Helicopter Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["GunHeli2"] = "Gunship Helicopter Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["GunHeli3"] = "Gunship Helicopter Expert III\t1\t25000\tGunship Helicopter Schematics";
|
||||
$Challenge::Info["SBomber1"] = "Stealth Bomber Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["SBomber2"] = "Stealth Bomber Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["SBomber3"] = "Stealth Bomber Expert III\t1\t25000\tStealth Bomber Schematics";
|
||||
$Challenge::Info["Gunship1"] = "Harbingers Wrath Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["Gunship2"] = "Harbingers Wrath Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["Gunship3"] = "Harbingers Wrath Expert III\t1\t25000\tAC-130 Vehicle Schematics";
|
||||
$Challenge::Info["ACGunship1"] = "AC-130 Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["ACGunship2"] = "AC-130 Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["ACGunship3"] = "AC-130 Expert III\t1\t25000\tBragging Rights... lol.";
|
||||
$Challenge::Info["Apache1"] = "Apache Gunner Expert I\t1\t5000\tNone";
|
||||
$Challenge::Info["Apache2"] = "Apache Gunner Expert II\t1\t10000\tNone";
|
||||
$Challenge::Info["Apache3"] = "Apache Gunner Expert III\t1\t25000\tApache Helicopter Schematics";
|
||||
$Challenge::Info["Centaur1"] = "Centaur Artillery Expert I\t1\t10000\tNone";
|
||||
$Challenge::Info["Centaur2"] = "Centaur Artillery Expert II\t1\t25000\tNone";
|
||||
$Challenge::Info["Centaur3"] = "Centaur Artillery Expert III\t1\t50000\tNone";
|
||||
$Challenge::Info["Hind1"] = "Hind Expert I\t1\t10000\tNone";
|
||||
$Challenge::Info["Hind2"] = "Hind Expert II\t1\t25000\tNone";
|
||||
$Challenge::Info["Hind3"] = "Hind Expert III\t1\t50000\tHind Helicopter Schematics";
|
||||
$Challenge::Info["EMP1"] = "EMP Expert I\t1\t10000\tNone";
|
||||
$Challenge::Info["EMP2"] = "EMP Expert II\t1\t25000\tNone";
|
||||
$Challenge::Info["EMP3"] = "EMP Expert III\t1\t50000\tNone";
|
||||
$Challenge::Info["Nuke1"] = "Nuke Expert I\t1\t10000\tNone";
|
||||
$Challenge::Info["Nuke2"] = "Nuke Expert II\t1\t25000\tNone";
|
||||
$Challenge::Info["Nuke3"] = "Nuke Expert III\t1\t50000\tZ-Bomb Killstreak";
|
||||
$Challenge::Info["Fission1"] = "Fission Bomb Expert I\t1\t25000\tNone";
|
||||
$Challenge::Info["Fission2"] = "Fission Bomb Expert II\t1\t50000\tNone";
|
||||
$Challenge::Info["Fission3"] = "Fission Bomb Expert III\t1\t75000\tNone";
|
||||
|
||||
//Bosses
|
||||
$Challenge::Info["Yvex1"] = "Nightmarish Enterprise\t2\t1000\tNone";
|
||||
$Challenge::Info["Yvex2"] = "Darkness Rising\t2\t2500\tNone";
|
||||
$Challenge::Info["Yvex3"] = "Shadowy Desecration\t2\t5000\tLord Yvex Recruitable Ally";
|
||||
$Challenge::Info["CWS1"] = "Fortress In The Sky\t2\t1000\tNone";
|
||||
$Challenge::Info["CWS2"] = "Aerieal Nightmare\t2\t2500\tNone";
|
||||
$Challenge::Info["CWS3"] = "Harbinger's Bane\t2\t5000\tNone";
|
||||
$Challenge::Info["GOL1"] = "Envious Lightning\t2\t1500\tNone";
|
||||
$Challenge::Info["GOL2"] = "The Shocking Truth\t2\t3000\tNone";
|
||||
$Challenge::Info["GOL3"] = "Severe Thunderstorm\t2\t6500\tNone";
|
||||
$Challenge::Info["Veg1"] = "Flaming Revolt\t2\t1500\tNone";
|
||||
$Challenge::Info["Veg2"] = "Burning Frenzy\t2\t3000\tNone";
|
||||
$Challenge::Info["Veg3"] = "Firestorm Ender\t2\t6500\tGeneral Vegenor Recruitable Ally";
|
||||
$Challenge::Info["LRog1"] = "Revenge Halter\t2\t2500\tNone";
|
||||
$Challenge::Info["LRog2"] = "Return to Returner\t2\t5000\tNone";
|
||||
$Challenge::Info["LRog3"] = "Payback's A Bitch\t2\t10000\tLord Rog Recruitable Ally";
|
||||
$Challenge::Info["Ins1"] = "El Shipitor\t2\t2500\tNone";
|
||||
$Challenge::Info["Ins2"] = "No Gravity, No Problem\t2\t5000\tNone";
|
||||
$Challenge::Info["Ins3"] = "Gravitational Influx\t2\t10000\tMajor Insignia Recruitable Ally";
|
||||
$Challenge::Info["Treb1"] = "Precious Cargo\t2\t2500\tNone";
|
||||
$Challenge::Info["Treb2"] = "Harbinger Denied\t2\t5000\tNone";
|
||||
$Challenge::Info["Treb3"] = "Tank Halter\t2\t10000\tNone";
|
||||
$Challenge::Info["Vard1"] = "Shining Star\t2\t3500\tNone";
|
||||
$Challenge::Info["Vard2"] = "Glare The Dark\t2\t7000\tNone";
|
||||
$Challenge::Info["Vard3"] = "Outevil The Wicked\t2\t12500\tLord Vardison Recruitable Ally";
|
||||
//Blacklist
|
||||
$Challenge::Info["Acceptance"] = "Acceptance\t3\t1000\tNone";
|
||||
$Challenge::Info["ListHit"] = "Hitlister of The List\t3\t2500\tNone";
|
||||
$Challenge::Info["TopHit"] = "Champion Slayer\t3\t3500\tNone";
|
||||
$Challenge::Info["ButIm2"] = "But I'm #2\t3\t3500\tNone";
|
||||
$Challenge::Info["DF3"] = "Don't Forget #3\t3\t3500\tNone";
|
||||
//Zombie Slaying
|
||||
|
||||
//Events
|
||||
$Challenge::Info["NewYearsEve"] = "New Years Eve Fireworks\t5\t1500\tJavelin Hellclass";
|
||||
$Challenge::Info["NewYears"] = "New Years Fireworks\t5\t1500\tNone";
|
||||
$Challenge::Info["GunshipMall"] = "Gunship to the Mall\t5\t2500\tNone";
|
||||
$Challenge::Info["IndepRPG"] = "Independance RPG\t5\t1500\tNone";
|
||||
$Challenge::Info["SoulsticeBombard"] = "Soulstice Bombard\t5\t1500\tNone";
|
||||
|
||||
//Phantom Games Development
|
||||
//see DChalg.cs
|
||||
|
||||
//Sabotage
|
||||
$Challenge::Info["BombDisarmed"] = "Bomb Disarmed\t7\t500\tNone";
|
||||
$Challenge::Info["BombPlanted"] = "Bomb Planted\t7\t2500\tNone";
|
||||
$Challenge::Info["BombDetonated"] = "Bomb Detonated\t7\t3000\tNone";
|
||||
$Challenge::Info["3For5Sabo"] = "Three For Five\t7\t4500\tBomb Shadower Perk";
|
||||
$Challenge::Info["BaseDestroyer"] = "Base Destroyer\t7\t5000\tNone";
|
||||
|
||||
//Domination
|
||||
$Challenge::Info["ZoneCapture"] = "Zone Conquerer\t8\t500\tNone";
|
||||
$Challenge::Info["ABC"] = "Alpha Bravo Charlie\t8\t2500\tNone";
|
||||
$Challenge::Info["MatchSet"] = "Match Set\t8\t3000\tNone";
|
||||
$Challenge::Info["3For5"] = "Three For Five\t8\t4500\tNone";
|
||||
$Challenge::Info["Undefeatable"] = "Undefeatable\t8\t5000\tNone";
|
||||
|
||||
//Horde 3
|
||||
$Challenge::Info["15For15"] = "15 For 15\t9\t15000\tNone";
|
||||
$Challenge::Info["Milestone25"] = "Milestone 25\t9\t25000\tNone";
|
||||
$Challenge::Info["ArmyOf50Stopped"] = "Army Of 50 Stopped\t9\t50000\tSecond Chance Perk";
|
||||
$Challenge::Info["Angel"] = "Angel\t9\t500\tNone";
|
||||
$Challenge::Info["ZBomber"] = "Z-Bomber\t9\t2000\tNone";
|
||||
|
||||
//Helljump
|
||||
$Challenge::Info["GroupBuster"] = "Group Buster\t10\t5000\tNone";
|
||||
$Challenge::Info["WaveDefeater"] = "Wave Defeater\t10\t50000\tNone";
|
||||
$Challenge::Info["OneK"] = "1K Soldier\t10\t10000\tNone";
|
||||
$Challenge::Info["FiveK"] = "5K Soldier\t10\t25000\tNone";
|
||||
$Challenge::Info["TenK"] = "10K Soldier\t10\t50000\tNone";
|
||||
$Challenge::Info["PointsSurge"] = "Points Surge\t10\t25000\tNone";
|
||||
$Challenge::Info["PointsJackpot"] = "Points Jackpot\t10\t50000\tNone";
|
||||
$Challenge::Info["ThatsAHind"] = "That's a Hind\t10\t5000\tNone";
|
||||
$Challenge::Info["DownBoy"] = "Down Boy... Down\t10\t5000\tNone";
|
||||
$Challenge::Info["ClassExtravaganza"] = "Class Extravaganza\t10\t100\tNone";
|
||||
$Challenge::Info["LifeGiver"] = "Giver of Life\t10\t7500\tNone";
|
||||
|
||||
//From The Top
|
||||
$Challenge::Info["SimonSays"] = "Simon Says\t11\t1000\tNone";
|
||||
$Challenge::Info["FromTheTop"] = "From The Top\t11\t1000\tNone";
|
||||
$Challenge::Info["GoldStar"] = "Gold Star\t11\t1000\tNone";
|
||||
$Challenge::Info["Faster"] = "Faster!\t11\t250\tNone";
|
||||
$Challenge::Info["EpicFailure"] = "Epic Failure\t11\t5\tNone";
|
||||
|
||||
//Prestige
|
||||
$Challenge::Info["Prestge1"] = "Instructive Private\t12\t100\tNone";
|
||||
$Challenge::Info["Prestge2"] = "Excelling Private\t12\t250\tNone";
|
||||
$Challenge::Info["Prestge3"] = "Champion Private\t12\t350\tNone";
|
||||
$Challenge::Info["Prestge4"] = "Prestigious Private\t12\t500\tNone";
|
||||
$Challenge::Info["Prestge5"] = "Supreme Private\t12\t1000\tNone";
|
||||
$Challenge::Info["Prestge9"] = "Phantom's Vengeance\t12\t10000\tNone";
|
||||
$Challenge::Info["GameEnder"] = "Game Ender\t12\t5000\tNone";
|
||||
|
||||
|
||||
//CORE
|
||||
|
||||
//non weapon challenges
|
||||
//started TWM2 2.0
|
||||
//These vary from using killstreaks, to shooting down things.
|
||||
//much more to do with these challenges
|
||||
|
||||
//Core Functions
|
||||
function GameConnection::AllowedToDoNW(%client, %name) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%xp = getCurrentEXP(%client);
|
||||
%taskCate = getField($Challenge::Info[%name], 1);
|
||||
switch(%taskCate) {
|
||||
case 1:
|
||||
if(%xp > $Ranks::MinPoints[13]) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case 2:
|
||||
if(%xp > $Ranks::MinPoints[18]) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case 3:
|
||||
if(%xp > $Ranks::MinPoints[23]) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case 4:
|
||||
if(%xp > $Ranks::MinPoints[28]) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case 5:
|
||||
return 1; //everyone can do these.
|
||||
case 6:
|
||||
return 1; //handled by a different system
|
||||
case 7 or 8 or 9 or 10:
|
||||
if(%xp > $Ranks::MinPoints[40]) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case 11:
|
||||
if(%xp > $Ranks::MinPoints[59]) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
case 12:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
function GameConnection::CheckNWChallengeCompletion(%client, %name) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
if(%scriptController.challengeComplete[%name] == 1) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function CompleteNW_allPlayers(%name) {
|
||||
for(%i = 0; %i < ClientGroup.getCount(); %i++) {
|
||||
%client = ClientGroup.getObject(%i);
|
||||
CompleteNWChallenge(%client, %name);
|
||||
}
|
||||
}
|
||||
|
||||
function CompleteNWChallenge(%client, %name) {
|
||||
if(%client $= "" || !%client) {
|
||||
return;
|
||||
}
|
||||
if(%client.CheckNWChallengeCompletion(%name)) {
|
||||
return;
|
||||
}
|
||||
if(!%client.AllowedToDoNW(%name)) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
%scriptController = %client.TWM2Core;
|
||||
%taskName = getField($Challenge::Info[%name], 0);
|
||||
%taskXPGive = getField($Challenge::Info[%name], 2);
|
||||
%taskReward = getField($Challenge::Info[%name], 3);
|
||||
//
|
||||
GainExperience(%client, %taskXPGive, "Challenge "@%taskName@" Completed ");
|
||||
BottomPrint(%client, "CHALLEGNE COMPLETE: "@%taskName@" \n +"@%taskXPGive@"XP, Reward: "@%taskReward@"", 2, 3);
|
||||
MessageClient(%client, 'MsgSound', "~wfx/Bonuses/Nouns/General.wav");
|
||||
MessageAll('msgComplete', "\c5"@%client.namebase@" completed challenge "@%taskName@"");
|
||||
//
|
||||
%scriptController.challengeComplete[%name] = 1;
|
||||
%file = ""@$TWM::RanksDirectory@"/"@%client.guid@"/Saved.TWMSave";
|
||||
SaveClientFile(%client);
|
||||
echo("TWM2: Client "@%client@", "@%client.nambase@", Completed Challenge "@%taskname@", File Updated.");
|
||||
}
|
||||
|
||||
//Menus
|
||||
function GenerateChallegnesMenu(%client, %tag, %index) {
|
||||
%scriptController = %client.TWM2Core;
|
||||
%xp = getCurrentEXP(%client);
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Other Challenges:");
|
||||
%index++;
|
||||
//
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t6>PGD Challenges (Daily/Weekly/Monthly)</a>");
|
||||
%index++;
|
||||
if(%xp >= $Ranks::MinPoints[13]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t1>Killstreak Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Killstreak Challenges - Reach Sergeant To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[18]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t2>Boss Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Boss Challenges - Reach Gunnary Sergeant To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[23]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t3>Blacklist Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Blacklist Challenges - Reach Lieutenant To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[28]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Zombie Slaying Challenges (Coming Soon)");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Zombie Slaying Challenges - Reach Captain To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t5>Special Event Challenges</a>");
|
||||
%index++;
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[40]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t7>Sabotage Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Sabotage Challenges - Reach Colonel To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[40]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t8>Domination Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Domination Challenges - Reach Colonel To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[40]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t9>Horde 3 Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Horde 3 Challenges - Reach Colonel To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[40]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t10>Helljump Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Helljump Challenges - Reach Colonel To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%xp >= $Ranks::MinPoints[40]) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t11>From the top</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "From the top - Reach Commading Officer To Unlock");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%scriptController.officer >= 1) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "<a:gamelink\tOtherTasksSub\t12>Officer Challenges</a>");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Officer Challenges - Reach a Officer Rank To Unlock");
|
||||
%index++;
|
||||
}
|
||||
return %index;
|
||||
}
|
||||
|
||||
//SUB MENU GetNonWeapSubMenu(%client, %tag, %index, %challengeCategory)
|
||||
function GetNonWeapSubMenu(%client, %tag, %index, %challengeCategory) {
|
||||
switch(%challengeCategory) {
|
||||
//Killstreaks
|
||||
case 1:
|
||||
//Killstreak.cs
|
||||
%index = GenerateStreakChallengeMenu(%client, %tag, %index);
|
||||
//Bosses
|
||||
case 2:
|
||||
%index = GenerateBossChallengeMenu(%client, %tag, %index);
|
||||
//Blacklist
|
||||
case 3:
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Blacklist Challenges:");
|
||||
%index++;
|
||||
if(%client.CheckNWChallengeCompletion("Acceptance")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Acceptance: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Acceptance: Earn a Spot on the Blacklist 15.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("ListHit")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Hitlister of The List: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Hitlister of The List: Kill a Blacklist Player.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("TopHit")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Champion Slayer: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Champion Slayer: Kill the #1 Player on the Server.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("ButIm2")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "But I'm #2: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "But I'm #2: Kill the #2 Player on the Server.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("DF3")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Don't Forget #3: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Don't Forget #3: Kill the #3 Player on the Server.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
//Zombie Slaying
|
||||
case 4:
|
||||
//Events
|
||||
case 5:
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Special Event Challenges:");
|
||||
%index++;
|
||||
if(%client.CheckNWChallengeCompletion("NewYearsEve")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "New Years Eve Fireworks: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "New Years Eve Fireworks: Get a Javelin Kill on New Years Eve.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("NewYears")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "New Years Fireworks: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "New Years Fireworks: Call in a nuke on New Years Day.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("GunshipMall")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Gunship to The Mall: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Gunship to The Mall: Call in a Gunship on Christmas Mall 2009.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("IndepRPG")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Independance RPG: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Independance RPG: Score an RPG Kill on the Fourth Of July.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("SoulsticeBombard")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Soulstice Bombard: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Soulstice Bombard: Call in artillery on one of the soulstices.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
//PGD
|
||||
case 6:
|
||||
%index = GenerateDWMChallengeMenu(%client, %tag, %index);
|
||||
//Sabotage
|
||||
case 7:
|
||||
%index = GenerateSabotageChallengeMenu(%client, %tag, %index);
|
||||
//Domination
|
||||
case 8:
|
||||
%index = GenerateDominationChallengeMenu(%client, %tag, %index);
|
||||
//Horde 2
|
||||
case 9:
|
||||
%index = GenerateHordeChallengeMenu(%client, %tag, %index);
|
||||
//Helljump
|
||||
case 10:
|
||||
%index = GenerateHelljumpChallengeMenu(%client, %tag, %index);
|
||||
//FTT
|
||||
case 11:
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "From The Top Challenges:");
|
||||
%index++;
|
||||
if(%client.CheckNWChallengeCompletion("SimonSays")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Simon Says: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Simon Says: Order a mission.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("FromTheTop")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "From The Top: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "From The Top: Accept a mission.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("GoldStar")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Gold Star: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Gold Star: Complete a mission within the time limit.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("Faster")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Faster!: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Faster!: Complete a mission, but miss the time limit.");
|
||||
%index++;
|
||||
}
|
||||
//
|
||||
if(%client.CheckNWChallengeCompletion("EpicFailure")) {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Epic Failure: Done.");
|
||||
%index++;
|
||||
}
|
||||
else {
|
||||
messageClient( %client, 'SetLineHud', "", %tag, %index, "Epic Failure: Fail a mission.");
|
||||
%index++;
|
||||
}
|
||||
//Prestige
|
||||
case 12:
|
||||
%index = GeneratePrestigeChallengeMenu(%client, %tag, %index);
|
||||
}
|
||||
return %index;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue