From 3a3257fa37e78afc717d00f3f4ccc8f2a6941f5f Mon Sep 17 00:00:00 2001 From: wxhn1225 <45218021+wxhn1225@users.noreply.github.com> Date: Mon, 6 Oct 2025 18:27:00 +0800 Subject: [PATCH] init --- Client Config.json | 33 + .../0/H.Cache.bin!D_---------------------w | Bin 0 -> 570 bytes .../H.Cache.bin!D_---------------------w.bak | Bin 0 -> 570 bytes Download Latest DLL.ps1 | 65 ++ Hotkeys.json | 28 + Label Replacements.cat.txt | 1 + Metadata Patches/Untitled.txt | 13 + Reference Manual.html | 149 ++++ Script API Reference.pluto | 797 ++++++++++++++++++ .../samples/Auto Teleport to Waypoint.pluto | 9 + Scripts/samples/Become The Stalker.pluto | 9 + Scripts/samples/Chat Commands.pluto | 140 +++ .../samples/Complete Wave or Mission.pluto | 6 + Scripts/samples/Cycle Camera.pluto | 13 + Scripts/samples/Detailed Enemy HP.pluto | 26 + Scripts/samples/Enter Simulacrum.pluto | 8 + Scripts/samples/First Person View.pluto | 22 + .../samples/Freecam Teleport on Disable.pluto | 17 + Scripts/samples/Freecam Up Down.pluto | 19 + Scripts/samples/Godmode.pluto | 15 + Scripts/samples/Increase Damage.pluto | 9 + Scripts/samples/Kill All Enemies.pluto | 9 + Scripts/samples/Loot Party.pluto | 8 + Scripts/samples/No Ability Cooldowns.pluto | 10 + Scripts/samples/Noclip.pluto | 27 + Scripts/samples/Settings.pluto | 59 ++ Scripts/samples/Speedometer.pluto | 7 + Scripts/samples/Wallhack.pluto | 11 + Scripts/samples/Watermark.pluto | 5 + sideloadify-cli.cache | Bin 0 -> 237056 bytes 30 files changed, 1515 insertions(+) create mode 100644 Client Config.json create mode 100644 Content/0/H.Cache.bin!D_---------------------w create mode 100644 Content/0/H.Cache.bin!D_---------------------w.bak create mode 100644 Download Latest DLL.ps1 create mode 100644 Hotkeys.json create mode 100644 Label Replacements.cat.txt create mode 100644 Metadata Patches/Untitled.txt create mode 100644 Reference Manual.html create mode 100644 Script API Reference.pluto create mode 100644 Scripts/samples/Auto Teleport to Waypoint.pluto create mode 100644 Scripts/samples/Become The Stalker.pluto create mode 100644 Scripts/samples/Chat Commands.pluto create mode 100644 Scripts/samples/Complete Wave or Mission.pluto create mode 100644 Scripts/samples/Cycle Camera.pluto create mode 100644 Scripts/samples/Detailed Enemy HP.pluto create mode 100644 Scripts/samples/Enter Simulacrum.pluto create mode 100644 Scripts/samples/First Person View.pluto create mode 100644 Scripts/samples/Freecam Teleport on Disable.pluto create mode 100644 Scripts/samples/Freecam Up Down.pluto create mode 100644 Scripts/samples/Godmode.pluto create mode 100644 Scripts/samples/Increase Damage.pluto create mode 100644 Scripts/samples/Kill All Enemies.pluto create mode 100644 Scripts/samples/Loot Party.pluto create mode 100644 Scripts/samples/No Ability Cooldowns.pluto create mode 100644 Scripts/samples/Noclip.pluto create mode 100644 Scripts/samples/Settings.pluto create mode 100644 Scripts/samples/Speedometer.pluto create mode 100644 Scripts/samples/Wallhack.pluto create mode 100644 Scripts/samples/Watermark.pluto create mode 100644 sideloadify-cli.cache diff --git a/Client Config.json b/Client Config.json new file mode 100644 index 0000000..c81e595 --- /dev/null +++ b/Client Config.json @@ -0,0 +1,33 @@ +{ + "fallback_language": "zh", + "fallback_languageVO": "", + "fallback_graphicsDriver": "dx12", + "fallback_cluster": "public", + "server_host": "127.0.0.1", + "http_port": 80, + "https_port": 443, + "autologin": false, + "autologin_email": "", + "autologin_password": "", + "high_damage_numbers_patch": true, + "simulacrum_blacklisted": false, + "simulacrum_whitelisted": true, + "pause_always_stops_time": false, + "disable_nrs_connection": true, + "ee_log_in_console": false, + "skip_mission_start_timer": false, + "logout_on_request_failure": true, + "fov_override": 0.0, + "forced_profile_dir": "", + "auto_start_scripts": [ + "samples/Chat Commands.pluto" + ], + "alternative_loading": false, + "dont_resolve_labels": false, + "save_all_metadata": false, + "write_all_metadata_reads_to_console": false, + "write_all_metadata_reads_to_ee_log": false, + "write_patched_metadata_reads_to_console": false, + "write_patched_metadata_reads_to_ee_log": false, + "client_http_port": 6155 +} \ No newline at end of file diff --git a/Content/0/H.Cache.bin!D_---------------------w b/Content/0/H.Cache.bin!D_---------------------w new file mode 100644 index 0000000000000000000000000000000000000000..8eb3c130ce7823bf6f6ded80234aa5f2b676f773 GIT binary patch literal 570 zcmWIcaCVkwU|?YCVrF0vVq#!uVBpYTU?_C#VPjxo>0n}N<@dX2Ap5X^fpPAmZ~JF6 z&r+Yy3sesR!h-rvdd`W-8L4_M6^4d-Ntt%5o!jOYm;dyRux7*g{r?jPnddXtzG_}u?UhJLP{ic0bM>jp_PywZQ)tIeCB zDOj~Sh$XGagD0p~y=8NKu=6~D-r7xbLNZG_4oJ zXvvw9$5wYOo4%cW`?R=e>x892MWx~=LVAiHT0Hl0S(Lg!Z|UXWlH}(CnT2gfq)ZLt z!>3*TVPT$>kyNy6lbBft*VjECeHXF0vxgQ%UwrIxb?M_L7mPa}*a^9m2A5{vV@oad z`llhEvmn8nG0x#lNJYhuyPG(lJXy15&5G#>{GX({cFyIl%E*bcn$ds7X+hlQ9dnXa z&pyDf!l1ywpw7rbnXiPXI|On literal 0 HcmV?d00001 diff --git a/Content/0/H.Cache.bin!D_---------------------w.bak b/Content/0/H.Cache.bin!D_---------------------w.bak new file mode 100644 index 0000000000000000000000000000000000000000..8eb3c130ce7823bf6f6ded80234aa5f2b676f773 GIT binary patch literal 570 zcmWIcaCVkwU|?YCVrF0vVq#!uVBpYTU?_C#VPjxo>0n}N<@dX2Ap5X^fpPAmZ~JF6 z&r+Yy3sesR!h-rvdd`W-8L4_M6^4d-Ntt%5o!jOYm;dyRux7*g{r?jPnddXtzG_}u?UhJLP{ic0bM>jp_PywZQ)tIeCB zDOj~Sh$XGagD0p~y=8NKu=6~D-r7xbLNZG_4oJ zXvvw9$5wYOo4%cW`?R=e>x892MWx~=LVAiHT0Hl0S(Lg!Z|UXWlH}(CnT2gfq)ZLt z!>3*TVPT$>kyNy6lbBft*VjECeHXF0vxgQ%UwrIxb?M_L7mPa}*a^9m2A5{vV@oad z`llhEvmn8nG0x#lNJYhuyPG(lJXy15&5G#>{GX({cFyIl%E*bcn$ds7X+hlQ9dnXa z&pyDf!l1ywpw7rbnXiPXI|On literal 0 HcmV?d00001 diff --git a/Download Latest DLL.ps1 b/Download Latest DLL.ps1 new file mode 100644 index 0000000..b4191e3 --- /dev/null +++ b/Download Latest DLL.ps1 @@ -0,0 +1,65 @@ +Write-Host "Fetching latest version..." +$latest = Invoke-RestMethod -Uri "https://openwf.io/supplementals/client%20drop-in/meta" -Method Get + +$dll_path = "../wtsapi32.dll" +if (Test-Path "../dwmapi.dll") { + $dll_path = "../dwmapi.dll" +} +if (Test-Path "../version.dll") { + $dll_path = "../version.dll" +} + +$sha256 = "" +if (Test-Path $dll_path) { + $sha256 = (Get-FileHash $dll_path -Algorithm SHA256).Hash.ToLower() +} +$hotfix_sha256 = "" +if (Test-Path "Hotfix.owf") { + $hotfix_sha256 = (Get-FileHash "Hotfix.owf" -Algorithm SHA256).Hash.ToLower() +} + +$sideloadify_sha256 = "" +if (Test-Path "sideloadify-cli.cache") { + $sideloadify_sha256 = (Get-FileHash "sideloadify-cli.cache" -Algorithm SHA256).Hash +} +if ($sideloadify_sha256 -ne "EE990FF8366E49DE5AF5A80DB845A9BFE9285092365E3A887FDFC76EB20C61AF") { + Invoke-WebRequest -Uri "https://github.com/Sainan/Sideloadify/releases/download/1.1.0/sideloadify-cli.exe" -OutFile "sideloadify-cli.cache" +} + +$should_sleep = $false + +if ($sha256 -ne $latest.sha256 -or $hotfix_sha256 -ne $latest.hotfix_sha256) { + if ($latest.hotfix -ne "") { + Write-Host "Downloading OpenWF Bootstrapper v$($latest.version) $($latest.hotfix)..." + } + else { + Write-Host "Downloading OpenWF Bootstrapper v$($latest.version)..." + } + + if ($sha256 -ne $latest.sha256) { + Invoke-WebRequest -Uri "https://openwf.io/supplementals/client%20drop-in/$($latest.version)/dwmapi.dll" -OutFile $dll_path + } + if ($hotfix_sha256 -ne $latest.hotfix_sha256) { + if ($latest.hotfix -ne "") { + Invoke-WebRequest -Uri "https://openwf.io/supplementals/client%20drop-in/$($latest.version)/$($latest.hotfix)/Hotfix.owf" -OutFile "Hotfix.owf" + } + else { + Remove-Item "Hotfix.owf" + } + } +} +else { + Write-Host "Your OpenWF Bootstrapper is up-to-date." + $should_sleep = $true +} + +Rename-Item -Path "sideloadify-cli.cache" -NewName "sideloadify-cli.exe" +$sideloadified = (./sideloadify-cli.exe ../Warframe.x64.exe).Contains(" has successfully been sideloadified.") +Rename-Item -Path "sideloadify-cli.exe" -NewName "sideloadify-cli.cache" +if ($sideloadified) { + Write-Host "Warframe.x64.exe has successfully been sideloadified." + $should_sleep = $true +} +if ($should_sleep) { + Start-Sleep -Seconds 2 +} diff --git a/Hotkeys.json b/Hotkeys.json new file mode 100644 index 0000000..18eda61 --- /dev/null +++ b/Hotkeys.json @@ -0,0 +1,28 @@ +[ + // By default, O opens the in-game settings: + + { + "key": "O", + "script": "owf_toggle_script[[samples/Settings.pluto]]" + }, + + // Some additional samples: + + // { + // "key": "K", + // "script": "owf_toggle_script[[samples/Cycle Camera.pluto]]" + // }, + + // { + // "key": "N", + // "script": "owf_toggle_script[[samples/Noclip.pluto]]" + // }, + + // { + // "key": 186, // the key to the right of L + // "shift": false, + // "script": "set_ee_log_in_console(not get_ee_log_in_console())" + // }, + + // The presence of a modifier (ctrl, shift, or alt) means it must be pressed/released depending on the value (true/false). +] \ No newline at end of file diff --git a/Label Replacements.cat.txt b/Label Replacements.cat.txt new file mode 100644 index 0000000..7af15d4 --- /dev/null +++ b/Label Replacements.cat.txt @@ -0,0 +1 @@ +/Menu/ProjectName: Warframe [OpenWF] \ No newline at end of file diff --git a/Metadata Patches/Untitled.txt b/Metadata Patches/Untitled.txt new file mode 100644 index 0000000..104c144 --- /dev/null +++ b/Metadata Patches/Untitled.txt @@ -0,0 +1,13 @@ +# Lines starting with # are a comment. +# +# An example patch that renames "Vitality" to "Moar Health" and changes it from +9% to +100%: +# +# /Lotus/Upgrades/Mods/Warframe/AvatarHealthMaxMod +# LocalizeTag=Moar Health +# r|Value=0.090910003|Value=1 +# +# When this patch is applied and the type has been loaded by the game, you can get the effective metadata via the http interface: +# http://localhost:6155/get_effective_metadata?/Lotus/Upgrades/Mods/Warframe/AvatarHealthMaxMod +# For logging only, you can supply an empty patch or enable "save_all_metadata" in the Client Config at the expense of slower loading. +# +# Modifications to this file will only apply after a restart of the game. diff --git a/Reference Manual.html b/Reference Manual.html new file mode 100644 index 0000000..284b254 --- /dev/null +++ b/Reference Manual.html @@ -0,0 +1,149 @@ + + + + OpenWF Bootstrapper Manual + + + + + +

OpenWF Bootstrapper Manual

+

While the main feature of the bootstrapper (wtsapi32.dll, dwmapi.dll, or version.dll) is to use a custom server with the game, it has other features as well.

+

Client Config.json

+

The bootstrapper's configuration is in OpenWF/Client Config.json relative to your game folder. It has the following fields:

+
    +
  • fallback_language — If not empty, this language will be used when Warframe.x64.exe is invoked without a language command line argument.
  • +
  • fallback_languageVO — If not empty, this voiceover language will be used when Warframe.x64.exe is invoked without a languageVO command line argument.
  • +
  • fallback_graphicsDriver — If not empty, this graphics driver will be used when Warframe.x64.exe is invoked without a graphicsDriver command line argument.
  • +
  • fallback_cluster — The cluster to use when Warframe.x64.exe was double-clicked or the argument was simply omitted. Can be public, test, or dev — the latter two enable some more logging.
  • + +
  • server_host — The hostname or IP address to redirect game traffic to. This should match myAddress in SpaceNinjaServer.
  • +
  • http_port — The port to use for HTTP traffic. This should match httpPort in SpaceNinjaServer.
  • +
  • https_port — The port to use for HTTPS traffic. This should match httpsPort in SpaceNinjaServer.
  • +
  • autologin — Uses the provided credentials to automatically login on startup. If another instance is logged in on the same account, it will be forcefully logged out.
  • +
  • autologin_email
  • +
  • autologin_password — The whirlpool hash of the password to use for autologin. You can simply enter your password and it will automatically be hashed and overwritten.
  • + +
  • high_damage_numbers_patch — If true, patches the game to display the exact number of damage that you dealt to fix -2147483648 showing up on high damage.
  • +
  • simulacrum_blacklisted — If true, blacklisted enemies are shown in the Simulacrum. Defaults to false to match the game.
  • +
  • simulacrum_whitelisted — If true, whitelisted enemies are shown in the Simulacrum. Defaults to true to match the game.
  • +
  • pause_always_stops_time
  • +
  • disable_nrs_connection — If true, disables NRS connections, preventing the game from showing "Please ensure that your firewall permits UDP ports 4950 & 4955."
  • + +
  • ee_log_in_console — If true, writes everything that gets written to EE.log to the console as well.
  • +
  • skip_mission_start_timer — If true, disables the 5 second wait before a mission starts.
  • +
  • logout_on_request_failure — If false, the game will ignore HTTP request failures/timeouts instead of forcing a logout.
  • +
  • fov_override — If not 0, overrides the game's FOV setting. You can use any value from 1 to 226.
  • +
  • forced_profile_dir — An absolute path to a folder that will be used to read and write your game settings. Notably, this can be used to have the same settings regardless of username.
  • +
  • auto_start_scripts — A list of scripts to automatically start.
  • +
  • alternative_loading — Enables an alternative loading mode (Server.FastLoad) which also skips intro cutscenes when loading into a relay. However, this breaks some parts of The New War and possibly other missions.
  • +
  • dont_resolve_labels — If true, shows language tags instead of their associated value, e.g. /Menu/Confirm_Item_Yes instead of YES.
  • +
  • save_all_metadata — If true, implicitly creates an empty patch on every metadata read to make it available for get_effective_metadata requests. May degrade performance.
  • +
  • write_all_metadata_reads_to_console — If true, writes all metadata reads to the console. May degrade performance.
  • +
  • write_all_metadata_reads_to_ee_log — If true, writes all metadata reads to EE.log. May degrade performance.
  • +
  • write_patches_metadata_reads_to_console — If true, writes patched metadata reads to the console. May degrade performance.
  • +
  • write_patches_metadata_reads_to_ee_log — If true, writes patched metadata reads to EE.log. May degrade performance.
  • +
+

HTTP Interface

+

While the game is running, you can visit http://localhost:6155/ to modify some of the above options, access additional features like teleportation, and use scripts.

+

Command Line Arguments

+

The bootstrapper adds the owfServerHost command line argument, which can be used to override the server_host in the config.

+

Tunables

+

When connecting to a server, the bootstrapper requests /custom/tunables.json to check the JSON object for the presence of the following fields:

+
    +
  • prohibit_skip_mission_start_timer
  • +
  • prohibit_fov_override
  • +
  • prohibit_freecam
  • +
  • prohibit_teleport
  • +
  • prohibit_scripts
  • +
+

The presence of a field disables the respective feature.

+

To aid in troubleshooting, the bootstrapper assumes that a compatible server responds to this request with status code 200 and a valid JSON object, otherwise showing a warning popup.

+

Traffic Deviations

+
    +
  • login.php & worldState.php requests have the extra query parameter buildLabel to indicate the client's buildLabel.
  • +
  • login.php requests also have an extra clientMod parameter indicating the Bootstrapper's name and version. If Metadata Patches are in use, metadataPatchesInUse=1 is added as well.
  • +
  • inventory.php & missionInventoryUpdate.php requests have the extra query parameter xpBasedLevelCapDisabled to indicate that the client has been patched to accept any PlayerLevel and doesn't need XPInfo to match.
  • +
  • The IRC USER message is adjusted to contain nonce=... in the 'realname' field.
  • +
+

Metadata Patches

+

Metadata Patches are loaded from .txt files in the OpenWF/Metadata Patches/ folder.

+

They are parsed line by line, with leading and trailing spaces and tabs being ignored:

+
    +
  • > /Path/Here starts a patch that will be applied to /Path/Here.
  • +
  • > /First/Path & /Second/Path starts a patch that will be applied to /First/Path and /Second/Path. It is possible to stretch this over multiple lines by either ending a line with & or starting the new line &.
  • +
  • Any line not starting with a special token (>, r|, ...) is added as a prefix to all affected metadata. This works to add top-level properties but also to replace them because the game resolves duplicates by ignoring subsequent entries.
  • +
  • Lines starting with r| create replacements, e.g. r|A|Z replaces all instances of A with Z in affected metadata.
  • +
  • Lines starting with s| create regex substitutions, e.g. s|(?m)^(.+)=1$|$1=0 would replace a value of 1 on any line with a 0, using the 'm' flag here so ^ and $ also match on line boundaries. See here for more information about the Regex engine.
  • +
+

If multiple patches affect the same absolute path, they are combined.

+
+ + diff --git a/Script API Reference.pluto b/Script API Reference.pluto new file mode 100644 index 0000000..8b4ed63 --- /dev/null +++ b/Script API Reference.pluto @@ -0,0 +1,797 @@ +-- Classes + +Vector = require "pluto:vector3" + +class Rotation + function __construct(public heading = 0, public pitch = 0, public bank = 0) + function __tostring() + +class Symbol + function __construct(public name = "") + function __eq(b) + function __tostring() + function c_str() + +class Color + function __construct(public red, public green, public blue, public alpha = 255) + function __tostring() + function GetUInt() + +class ObjectType + function __eq(other) + function GetName() + function GetFullName() + function GetParent() + function getHierarchy() + +class Object + function __eq(other) + function GetType() + function GetName() + function GetFullName() + function IsA(type) + +class Player extends Object + function GetAvatar() + function GetPlayerName() + function GetClanName() + function GetPlayerAccountIDString() + function GetPlayerMatchMakingString() + function GetHudStatus() + function CameraControl() + +class HumanPlayer extends Player + function ToggleFreeCamera() + function isControllingCamera() + function setControllingCamera(b) + function AssignAvatar(avatar, b1 = true, b2 = true) + function SendGiveItem(resource, amount) + +class LotusHumanPlayer extends HumanPlayer + function GetLoadOut() + +class LoadOut + function GetStoredItemStruct(i1, i2) + +class MongoId + +class LotusProfileTypes.StoredItem + mItem + mModSlot + mCustSlot + mAttachedUpgrades + +class LotusProfileTypes.WeaponInfo + mItemId + mItemType + mModularParts + function GetCustomization() + +class LotusProfileTypes.UpgradeInfo + mItemType + mUpgradeFingerprint + +class BaseEntity extends Object + +class Entity extends BaseEntity + function GetPosition() + function SetPosition(pos) + function DistanceToEntity(b) + function GetRotation() + function GetSimRotation() + function SetRotation(rot) + function GetHealth() + function SetHealth(health) + function GetDrawOnTop() + function SetDrawOnTop(b) + function GetMeshScale() + function SetMeshScale(f) + function GetMesh() + function SetMesh(object, b1, b2) + function Attach(type, optionalBoneSymbol, optionalPosOffset) + function GetAttachment(type) + function GetAllAttachments(type) + function GetTag() + function SetTag(symbol) + function FirePort(port) + function SetVisibility(visible, delegateToAttachments = false) + function GetSpeed() + function Destroy() + function SetMaterialParam(symbol, f1, f2 = 3.4028235e38, f3 = 3.4028235e38, f4 = 3.4028235e38, b = false) + function RunScript(resource, funcSymbol, b) + +class BaseAvatar extends Entity + function GetMaxHealth(b = true) + function SetMaxHealth(health, b = false) + function Suicide() + function DamageControl() + function InventoryControl() + function InputControl() + function GiveItem(type, b) + function MotionControl() + function GetView() + function SetView(rot) + function GetCameraView() + function SetCameraView(rot) + function SetEyePosition(pos) + function GetFaction() + function GetOriginalFaction() + function SetFaction(symbol) + function GetLocTag() + function ClearAgent() + function PushInputFilter(resource) + function SetCustomAnimController(type) + function GetAnimControllerType() + function SetCustomMotionController(type) + function SetCustomCameraController(type) + function EnableRagdollRecovery(b1, b2) + function DamageDD(damageData) + function GetRagdoll() + +class Avatar extends BaseAvatar + function ControlCamera(b) + function isFollowedByCamera() + +class LotusAvatar extends Avatar + function IsAvatarFriendly(other) + function PlayEmote(resource) + function GetUIName() + function SetUIName(str) + function HasDynamicUIName() + function SetDynamicUIName(b) + function SetCollisionEnabled(b) + function SetCinematicID(symbol) + +class DamageControllerBase extends Object + function GiveTemporaryImmunity(a, b) + function HasTemporaryImmunity() + function RemoveTemporaryImmunity() + function GetShield() + function SetShield(i) + function GetMaxShield() + function SetMaxShield(i) + function GetOverguardAmount() + function SetOverguardAmount(i) + function GetOverguardMax() + function SetOverguardMax(i) + +class DamageController extends DamageControllerBase + +class LotusDamageController extends DamageController + function GetArmourRating() + function SetArmourRating(i) + +class InventoryControllerBase extends Object + function RemoveItem(slot, b) + function GetWeaponInHand(hand) + function AddUpgrade(upgradeType, operationType, value, _reserved = nil, _reserved = nil, damageType = DamageType.DT_ANY) + +class LotusInventoryController extends InventoryControllerBase + function GetActivePowerSuit() + function DoItemDrop() + function GetConsumableItem(idx) + function UseConsumableItem(idx) + +class ResourceBase extends Object + +class Mesh extends ResourceBase + +class Item extends Object + function GetAttachmentEntity(category, hand = 4) + function GetEnergyColor(outColor, secondary = false) + +class WeaponBase extends Item + +class WeaponEx extends WeaponBase + function GetActiveImpactBehavior() + function AddUpgrade(obj) + +class LotusWeapon extends WeaponEx + function GetXP() + function SetXP(xp) + function GetCustomization() + function SetCustomization(cust) + function SetModularParts(parts, gilded) + +class WeaponUpgrade extends Item + +class LotusWeaponUpgradeBase extends WeaponUpgrade + function InitializeFromFingerprint(str) + +class LotusArtifactUpgrade extends LotusWeaponUpgradeBase + +class WeaponImpactBehavior extends Object + criticalHitChance + criticalHitDamageMultiplier + instantImpulse + +class PowerSuit extends LotusWeapon + function SetEnergy(value) + function SetMaxEnergy(value) + function GetUnmodifiedMaxEnergy() + function GetCurEnergy() + function GetMaxEnergy() + function GetAbilityByIndex(i) + function AddAbilityByType(type, idx) + +class PowerSuitAbility extends Item + function GetCooldownDuration() + function SetCooldownDuration(val) + function GetCooldownTime() + function SetCooldownTime(val) + function AllowReactivate(b) + +class InputControllerBase extends Object + +class InputController extends InputControllerBase + function SetStopMovement(b) + +class GameRules extends Object + function IsPauseMenuShowing() + function RequestPause() + function RequestUnpause() + function RequestResource(name, callback) + function RequestSlomo(f) + function CancelSlomo() + function IsSlomo() + function getSlomoltiplier() + function setSlomoltiplier(f) + +class GameRulesImpl extends GameRules + function SetPauseDisabled(b) + function CanUnstick() + function UnstickLocalPlayer() + +class LotusBaseGameRules extends GameRulesImpl + function GetCurrentStarChart() + function GetStoreManifest() + function AddActiveLevelAuraUpgrade(type) + function RemoveActiveLevelAuraUpgrade(type) + function GetMission() + +class LotusGameRules extends LotusBaseGameRules + function OpenMissionContinueDialog() + +class LotusAttractModeGameRules extends GameRulesImpl + function GetStarChart() + function GetStoreManifest() + +class RadialSolarMap extends Object + function GetRegions() + function BuildMissionForLocation(symbol) + function SetLevelStreamingArgs(locationSymbol, openLevelArgs) + +class RadialRegion + name + sectors + droneDamage + damageChance + resources + +class RadialSector + name + unlocked + nodeType + missionTag + mission + challenges + +class LotusMissionInfo + missionType + minEnemyLevel + maxEnemyLevel + goalTag + activeMissionTag + location + levelOverride + gameRules + missionReward + missionRewardExtra + buddyAgents + miscItemFee + function EncodeAsString() + function GetEnemies() + function GetExtraEnemies() + function GetMissionEventResources() + function GetExtraMissionEventResources() + function GetAdvancedAiDirectorSpawns() + function GetCustomAdvancedAiDirectorSpawns() + +class MissionReward + credits + xp + items + countedItems + countedStoreItems + randomizedItems + +class MissionRewardItemManifest extends ResourceBase + function GetMaxAvailableTier() + function PickRandomItemIndex(tier, f) + function GetTieredItem(tier, i) + +class MissionRewardItem + function GetStoreItem() + +class MissionAI + agent + +class ChallengeBase extends Object + +class GenericChallenge extends ChallengeBase + +class ChallengeBase extends Object + +class StoreManifest extends Object + function GetStoreItemsOfType(objectType) + function GetGiftBonusItems() + +class StoreItem extends Object + function GetProductCategory() + function ExcludeFromCodex() + function ShowInMarket() + +class GiftBonusItem + gift + reward + +class CountedItem + mItemType + mItemCount + +class CountedStoreItem + mStoreItem + mItemCount + +class PickUpTypeRarity + mStoreItem + mItemType + mRarity + +class CodexManifest + function GetEnvironmentEntries() + +class CodexTypes.Entry + locName + icon + reqScans + secret + type + +class Texture extends ResourceBase + +class MotionControllerBase + function GetSpeedMultiplier() + function SetSpeedMultiplier(f) + +class LotusMotionController extends MotionControllerBase + +class LotusSpaceFlightMotionController extends LotusMotionController + function EnableFlight(b) + +class CameraControllerBase extends Object + function setFovMultiplier(fMul) + function getFovMultiplier() + function SetBaseFovOverride(fov) + function GetBaseFovOverride() + function GetViewOffset() + function SetViewOffset(vec) + function GetAimViewOffset() + function SetAimViewOffset(vec) + function GetRunViewOffset() + function SetRunViewOffset(vec) + function GetDodgeOffset() + function SetDodgeOffset(vec) + function GetInAirViewOffset() + function SetInAirViewOffset(vec) + function SetInAirAimViewOffset(vec) + function SetMeleeOffset(vec) + function SetCoverLeftViewOffset(vec) + function SetCoverRightViewOffset(vec) + function SetCrouchCoverAimLeftViewOffset(vec) + function SetCrouchCoverAimRightViewOffset(vec) + function SetWallRunLeftViewOffset(vec) + function SetWallRunRightViewOffset(vec) + function SetWallRunLeftAimViewOffset(vec) + function SetWallRunRightAimViewOffset(vec) + +class EngineNpcMgr extends Object + function GetAiDirector() + +class EngineAiDirector extends Object + function SetMaxPopulationSpawnCount(i) + function SetMaxAI(i) + function SetDifficulty(i) + function ClearEncounters() + function AddEncounter(type) + function SelectEncounterHintsWithType(type, minDist, maxDist) + function ActivateSpecificEncounterAtSpecificHint(hint, type) + function AddGlobalEncounterTag(symbol) + function RemoveGlobalEncounterTag(symbol) + +class NpcManager extends EngineNpcMgr + function PauseAllAgents() + function CreateAgentAtPosition(type, pos, rot, optionalSymbol, optionalLevel) + +class EngineNpcAgent extends Object + function GetAvatar() + +class LotusNpcAvatar extends LotusAvatar + function GetEnhancementCount() + function GetEnhancementLocTag() + +class LotusVehicleAvatar extends LotusNpcAvatar + function GetRider() + function GetTrickController() + +class TrickController extends Object + function SetMaxPointsPerCombo(pts) + +class HudStatus extends Object + +class LotusHudStatus extends HudStatus + function GetFlashMarkers() + +class FlashMarker + garbage + markerType + distanceToEye + pos + baseMarkerInfo + function ScreenX() + function ScreenY() + function ScreenZ() + +class BaseMarkerInfo extends Entity + function SetMarkerType(i) + function SetDisplayRange(range) + +class Effect extends Entity + function SetTint(color) + +class LensFlare extends Entity + function SetTint(color) + +class Decoration extends Entity + function TriggerAnimation() + function IsTriggeredAnimationDone() + +class Ragdoll extends Entity + function ApplyGlobalForce(vec, forceType) + +class WeaponCustomization + function GetSkin(iSlot) + function SetSkin(objectType, iSlot) + function GetColors(i) + function SetColors(i, v) + +class CustomizationColorPalette + mTintColor0 + mTintColor1 + mTintColor2 + mTintColor3 + mEmissiveColor0 + mEmissiveColor1 + mEnergyColor + mEnergyColor1 + function GetColor(i) + function SetColor(i, c) + function Initialized(i) + function SetInitialized(i, b) + +class OverlayBase extends Object + +class FlashInstance extends OverlayBase + function AttachToEntity(ent, off, rot, vecScale) + function Execute(func, str) + function Close() + +class OverlayMgr + function SetSelectedStyle(resource) + +class PlayerProfile + function GetAccountIDString() + +class LevelInfo + postProcess + +class PostProcess + blur + motionBlurStrength + bloom + targetExposure + adaptationRateUp + adaptationRateDown + exposureConvergeSpeed + useBnwBuffer + bnwBufferInvert + bnwBufferBias + useExposureEVCurve + skyBloom + saturation + focalBlur + horizonDOF + horizonRadius + horizonFog + horizonFogRadius + horizonFogElevation + distanceFogDensity + heightFogFalloff + heightFogDensity + heightFogY + lightMapBoost + attenuateAudio + lightning + colorCorrectionConverge + saturationBias + brightnessBias + contrastBias + grainBias + focalNearPlane + focalNearDepth + focalFarPlane + focalFarDepth + radialBlurStrength + irradianceVolumeGain + sunShaftsDensity + sunShaftsDecay + sunShaftsMultiplier + sunShaftsFogAttenuation + sunShafts + +class Engine.OpenLevelArgs + function SetLevel(level) + function SetGameRules(gamerules) + function AddContextTag(tag) + function AddContextObject(objectType) + +class Engine.DamageData + baseAmount + criticalChance + criticalMultiplier + injuryType + +class UISys.ScriptResLoader + function IsDone() + function SpotLoad() + function Abort() + +-- Global functions + +function IsNull(val) +function Sleep(ms) + +function Type(name) +function Resource(name) -- constructs an Object instance +function WeakResource(name) -- constructs an ObjectType instance +function Range(minValue, maxValue) + +function Localize(loctag, subs = {}) +function AngleToDirection(rot) + +function Engine.OpenLevel(args) + +function UISys.ScriptResLoader_Create(names) + +-- OpenWF global functions + +function yield() +function owf_create_thread(f) +function get_lang_code() +function get_lang_dict(lang = get_lang_code()) +function owf_get_build_label() +function owf_get_build_version() +function owf_get_build_hash() +function owf_get_server_host() +function owf_get_http_port() +function owf_get_https_port() +function owf_get_auth_query() +function mem_scan_exe(sig) +function mem_read_i8(addr) +function mem_read_i16(addr) +function mem_read_i32(addr) +function mem_read_i64(addr) +function mem_read_f32(addr) +function mem_write_f32(addr, val) +function chat_subscribe_prefix(prefix, block) +function chat_unsubscribe_prefix(prefix) +function chat_subscribe_outgoing_prefix(prefix) +function chat_unsubscribe_outgoing_prefix(prefix) +function chat_system_reply(text) +function chat_add_to_sent_history(text) +function chat_get_sent_history() +function chat_get_sent_history_index() +function chat_set_sent_history_index(idx) +function owf_register_custom_route(path, mime, content) +function owf_unregister_custom_route(path) +function owf_subscribe_to_script_trigger(script, func, block) +function owf_unsubscribe_from_script_trigger(script, func) +function owf_script_add_toggle(name, value = false) +function owf_script_register_channel(name) +function owf_script_send_message(channel, text) +function owf_get_available_scripts() +function owf_get_running_scripts() +function owf_start_script(name) +function owf_stop_script(name) +function owf_toggle_script(name) +function owf_logout() + +function owf_reload_label_replacements() +function owf_replace_label(tag, str) +function owf_restore_label(tag) + +function owf_save_config() +function get_high_damage_numbers_patch() +function set_high_damage_numbers_patch(b) +function get_skip_mission_start_timer() +function set_skip_mission_start_timer(b) +function get_simulacrum_blacklisted() +function set_simulacrum_blacklisted(b) +function get_simulacrum_whitelisted() +function set_simulacrum_whitelisted(b) +function get_alternative_loading() +function set_alternative_loading(b) +function get_ee_log_in_console() +function set_ee_log_in_console(b) +function get_dont_resolve_labels() +function set_dont_resolve_labels(b) +function get_fov_override() +function set_fov_override(f) + +function owf_is_key_down(vk) +function get_active_input_filter() +function get_active_input_filter_allows_hotkeys() +function owf_reload_hotkeys() + +function register_websocket_message_prefix(prefix) +function unregister_websocket_message_prefix(prefix) +function owf_broadcast_message(message, optionalRecipient) + +-- OpenWF events + +OWF_EVT_SUBMIT_CHAT_MESSAGE = 1 +OWF_EVT_OUTGOING_CHAT_MESSAGE = 2 +OWF_EVT_CUSTOM_ROUTE_SERVED = 3 +OWF_EVT_CALLBACK = 4 +OWF_EVT_SCRIPT_TRIGGERED = 5 +OWF_EVT_WEBSOCKET_MESSAGE = 6 +OWF_EVT_SCRIPT_MESSAGE = 7 + +function owf_next_event() + +-- OpenWF Overlay. Any pixel with RGB=255,0,255 will show the game window underneath. + +OWF_FONT_SIMPLE8 +OWF_FONT_SIMPLE5 + +function owf_overlay_get_size() +function owf_overlay_add_rect(x, y, w, h, r, g, b) +function owf_overlay_add_text(x, y, text, font, r, g, b, scale = 1) +function owf_overlay_set_visibility(id, visible) +function owf_overlay_set_colour(id, r, g, b) +function owf_overlay_set_text(id, text) +function owf_overlay_remove(id) +function owf_overlay_update() +function owf_measure_text(font, text) + +-- Global variables + +gRegion + function GetLocalPlayer() + function GetLocalPlayerAvatar() + function GetGameCamera() + function GetGameRules() + function GetAvatars() + function FindTagged(symbol) + function FindAll(type) + function CreateObject(type) + function CreateEntity(type, pos, rot) + function GetNpcMgr() + function Raycast(fromPos, toPos, avatar, _reserved_please_set_to_nil, outPos) + function GetLevelInfo() + +gGameRules +gStarChart + +gFlashMgr + function ExecuteToolMenuCommand(resource) + function GotoMovie(resource) + +gGameData + function SyncInventoryFromDB(callback) + +gPlayerProfileMgr + function IsLoggedIn() + function GetPlayerProfile(i) + +gClient + function GetOverlayMgr() + +gEntityType = Type("/EE/Types/Engine/Entity") +gBaseAvatarType = Type("/EE/Types/Engine/BaseAvatar") +gLotusNpcAvatarType = Type("/Lotus/Types/Game/LotusNpcAvatar") +gLotusVehicleAvatarType = Type("/Lotus/Types/Game/LotusVehicleAvatar") +gLotusGameRulesType = Type("/Lotus/Types/Game/LotusGameRules") +gLotusBasePvpGameRulesType = Type("/Lotus/Types/Game/LotusBasePvpGameRules") +gLotusHubGameRulesType = Type("/Lotus/Types/Game/LotusHubGameRules") +gLotusDuelGameRulesType = Type("/Lotus/Types/Game/LotusDuelGameRules") + +ZERO_VECTOR = Vector() +ZERO_ROTATION = Rotation() +EMPTY_SYMBOL = Symbol() + +Engine.SLOT_1 = 0 -- Secondary +Engine.SLOT_2 = 1 -- Primary +Engine.SLOT_3 = 2 +Engine.SLOT_4 = 3 -- Warframe +Engine.SLOT_5 = 4 +Engine.SLOT_6 = 5 -- Melee +Engine.SLOT_7 = 6 +Engine.SLOT_8 = 7 +Engine.SLOT_9 = 8 +Engine.SLOT_10 = 9 +Engine.SLOT_11 = 10 +Engine.SLOT_12 = 11 +Engine.SLOT_13 = 12 +Engine.SLOT_14 = 13 +Engine.INVALID = 14 + +Lotus_Game.EMISSIVE_MAP_ATTEN = Symbol("EmissiveMapAtten") +Lotus_Game.TINT_COLOR = Symbol("TintColor") +Lotus_Game.UNLIT_ATTEN = Symbol("UnlitAtten") +Lotus_Game.ALPHA_ATTEN = Symbol("AlphaAtten") +Lotus_Game.CLOAK = Symbol("Cloak") +Lotus_Game.V_SCALES = Symbol("vScales") +Lotus_Game.V_SCALES_FADE = Symbol("vScalesFade") +Lotus_Game.EMISSIVE_TINT_COLOR = Symbol("EmissiveTintColor") +Lotus_Game.EMISSIVE_TINT_COLOR_HI = Symbol("EmissiveTintColorHi") +Lotus_Game.EMISSIVE_TINT_COLOR_LO = Symbol("EmissiveTintColorLo") +Lotus_Game.LOW_COLOR = Symbol("LowColor") +Lotus_Game.HIGH_COLOR = Symbol("HighColor") +Lotus_Game.TINT_COLOR0 = Symbol("TintColor0") +Lotus_Game.TINT_COLOR1 = Symbol("TintColor1") +Lotus_Game.TINT_COLOR2 = Symbol("TintColor2") +Lotus_Game.TINT_COLOR3 = Symbol("TintColor3") + +UpgradeType = { NONE, AVATAR_ABILITY, AVATAR_ABILITY_AUGMENT, AVATAR_ABILITY_DURATION, AVATAR_ABILITY_EFFICIENCY, AVATAR_ABILITY_EFFICIENCY_MIN, AVATAR_ABILITY_EFFICIENCY_MAX, AVATAR_ABILITY_ENERGY_TO_SHIELD, AVATAR_ABILITY_ENERGY_TO_OVERSHIELD, AVATAR_ABILITY_RANGE, AVATAR_ABILITY_STRENGTH, AVATAR_ACROBATIC_SPEED, AVATAR_AFTERBURNER_MULTIPLIER, AVATAR_AIM_TIME, AVATAR_AIR_JUMP_HEIGHT, AVATAR_ALLOW_HEALTH_PICKUP, AVATAR_ALLOW_ENERGY_PICKUP, AVATAR_ARMOUR, AVATAR_AURA_EFFECTIVENESS_ON_ME, AVATAR_AURA_STRENGTH, AVATAR_AUTO_PARRY_CHANCE, AVATAR_BLEEDOUT_MODIFIER, AVATAR_BULLET_DODGE_ANGLE, AVATAR_BULLET_DODGE_CHANCE, AVATAR_CARRY_CAPACITY, AVATAR_CASTING_SPEED, AVATAR_CLEAR_TRANSFERENCE_STATIC_ON_KILL, AVATAR_CRIT_CHANCE, AVATAR_CRIT_CHANCE_LIMIT, AVATAR_CRIT_CHANCE_PER_PROC_ACTIVE, AVATAR_CRIT_CHANCE_STEALTH, AVATAR_CRIT_CHANCE_VULNERABILITY, AVATAR_CRIT_CHANCE_WEAKPOINT_VULNERABILITY, AVATAR_CRIT_DAMAGE, AVATAR_CRIT_DAMAGE_VULNERABILITY, AVATAR_CROWD_CONTROL_DAMAGE, AVATAR_CROWD_CONTROL_TIME_MULTIPLIER, AVATAR_DAMAGE_POWER_MULTIPLIER, AVATAR_DAMAGE_REDUCTION_DURING_REVIVE, AVATAR_DAMAGE_TAKEN, AVATAR_DAMAGE_VULNERABILITY, AVATAR_DAMAGE_WEAKPOINT_VULNERABILITY, AVATAR_DASH_DAMAGE, AVATAR_DASH_DISTANCE, AVATAR_DASH_RADIUS, AVATAR_DASH_CONTACT_ENERGY, AVATAR_DODGE_COOLDOWN, AVATAR_DODGE_COST_MULTIPLIER, AVATAR_DODGE_SPEED, AVATAR_DOUBLE_DROP_CHANCE, AVATAR_DROP_CHANCE_MODIFIER, AVATAR_GLOBAL_DROP_CHANCE_MODIFIER, AVATAR_GLORY_KILL_CHANCE, AVATAR_GLORY_KILL_HEALTH_RANGE, AVATAR_ENEMY_RADAR, AVATAR_ENERGY_GAIN_MULTIPLIER, AVATAR_ENERGY_ON_FULL_SHIELD_REGEN, AVATAR_ENERGY_SPAWN_PERCENT, AVATAR_ENERGY_TO_OVERSHIELDS_ON_SPAWN, AVATAR_EVADE_NPC_BULLET, AVATAR_EXPLOSION_DAMAGE, AVATAR_EXPLOSION_RADIUS, AVATAR_FALL_DAMAGE, AVATAR_FALL_IMPACT_AMOUNT, AVATAR_FALL_IMPACT_RADIUS, AVATAR_FREEZE_ON_MELEE_HIT_CHANCE, AVATAR_FREEZE_ON_MELEE_HIT_DURATION, AVATAR_FORCED_PROC_CHANCE, AVATAR_FULL_ENERGY_EFFECT_RANGE, AVATAR_HACK_CHANCE, AVATAR_HEAL_PERCENT_MAX_HEALTH, AVATAR_HEAL_RATE, AVATAR_HEAL_RATE_FORCED, AVATAR_HEALTH_MAX, AVATAR_HEALTH_MAX_INC_ON_PICKUP, AVATAR_HEAVY_LAND_RESIST_CHANCE, AVATAR_HEAVY_LAND_SPEED, AVATAR_INJURY_BLOCK_CHANCE, AVATAR_INJURY_BLOCK_CHANCE_CC, AVATAR_INJURY_ANIM_RATE, AVATAR_JOG_SPEED, AVATAR_JUMP_HEIGHT, AVATAR_KNOCKDOWN_RECOVERY_SPEED, AVATAR_LOOT_CHANCE, AVATAR_LOOT_RADAR, AVATAR_LOOT_RADAR_B, AVATAR_MARKED_DAMAGE_AMOUNT, AVATAR_MELEE_DAMAGE_REDUCTION, AVATAR_MELEE_DAMAGE_TO_JUMP_KICK, AVATAR_MOVEMENT_ACCELERATION, AVATAR_MOVEMENT_SPEED, AVATAR_NO_DEATH_PENALTY, AVATAR_NPC_HIT_CHANCE, AVATAR_NPC_VIS_RANGE, AVATAR_NPC_ENABLES_AUGMENT, AVATAR_NUM_JUMPS, AVATAR_OVERSHIELD_MAX, AVATAR_OVERGUARD_MAX, AVATAR_PICKUP_BONUS_AMOUNT, AVATAR_POWER_MAX, AVATAR_POWER_RATE, AVATAR_POWER_RATE_INC_ON_PICKUP, AVATAR_POWER_RATE_PERCENT_MAX, AVATAR_PROC_DAMAGE, AVATAR_PROC_IMMUNITY_DURATION, AVATAR_PROC_REFLECT_AMPLIFICATION, AVATAR_PROC_REFLECT_CHANCE, AVATAR_PROC_TIME, AVATAR_PROC_ABILITY_STACK, AVATAR_PROC_STACK, AVATAR_PROC_STACKED_UPGRADE_BASE_MODIFIER, AVATAR_PROC_CHANCE_VULNERABILITY, AVATAR_RAGE_BURN_RATE, AVATAR_REHACK_CHANCE, AVATAR_RESPAWN_TIME, AVATAR_REVENGE_DAMAGE_AMOUNT, AVATAR_REVENGE_DAMAGE_CHANCE, AVATAR_REVIVE_ASSIST, AVATAR_REVIVE_DISTANCE, AVATAR_REVIVE_SPEED, AVATAR_SENTINEL_ARMOUR_LINK, AVATAR_SENTINEL_CRIT_LINK, AVATAR_SENTINEL_FINISHER_DAMAGE, AVATAR_SENTINEL_HEALTH_LINK, AVATAR_SENTINEL_MASTER_BLEEDOUT_MODIFIER, AVATAR_SENTINEL_PACK_LEADER, AVATAR_SENTINEL_PACK_LEADER_OVERGUARD_CAP, AVATAR_SENTINEL_PACK_LEADER_REVERSE, AVATAR_SENTINEL_PICKUP_TO_ARMOR, AVATAR_SENTINEL_SHIELD_LINK, AVATAR_SENTINEL_STATUS_LINK, AVATAR_SHARE_ENERGY_PICKUP_RADIUS, AVATAR_SHARE_XP_RADIUS, AVATAR_SHIELD_GATE_DURATION, AVATAR_SHIELD_MAX, AVATAR_SHIELD_RECHARGE_DELAY, AVATAR_SHIELD_RECHARGE_RATE, AVATAR_SHIELD_RECHARGE_PERCENT, AVATAR_SHIELD_REDIRECTION, AVATAR_SHIELD_STAMINA_COST_MULTIPLIER, AVATAR_SHIELD_TO_STAMINA_RATIO, AVATAR_SLIDE_BOOST, AVATAR_SLIDE_FRICTION, AVATAR_SLOW_REDUCTION, AVATAR_SOFT_TARGETING_RADIUS_MODIFIER, AVATAR_SPAWN_ENERGY, AVATAR_SPRINT_SPEED, AVATAR_STAMINA_COST_MULTIPLIER, AVATAR_STAMINA_MAX, AVATAR_STAMINA_RECHARGE_DELAY, AVATAR_STAMINA_RECHARGE_RATE, AVATAR_STEALTH_MIN_OCCLUSION_RADIUS, AVATAR_STEALTH_FULL_OCCLUSION_RADIUS, AVATAR_STUN_TIME, AVATAR_SUCCESS_CHANCE, AVATAR_THORNS_PERCENT, AVATAR_TIME_LIMIT_INCREASE, AVATAR_TIME_TO_CLOAK, AVATAR_WALLCLING_TIME, AVATAR_WALLJUMP_HEIGHT, AVATAR_WALLRUN_SPEED, AVATAR_PARKOUR_BOOST, AVATAR_PARKOUR_BULLET_TIME, AVATAR_PARKOUR_GLIDE, AVATAR_PARKOUR_GRAVITY, AVATAR_PARKOUR_DAMAGE_ADDED, AVATAR_PARKOUR_SLAM_ENERGY_COST, GAMEPLAY_BULLET_KILL_XP_AMOUNT, GAMEPLAY_DAMAGE_TO_POWER, GAMEPLAY_ENEMY_AVATAR_XP_REWARD, GAMEPLAY_ENEMY_SPAWN_CHANCE, GAMEPLAY_ENERGY_PICKUP_AMOUNT, GAMEPLAY_EXECUTION_HEALTH_THRESHOLD, GAMEPLAY_FACTION_DAMAGE, GAMEPLAY_FACTION_DAMAGE_RESISTANCE, GAMEPLAY_FACTION_SHIELD_DAMAGE_RESISTANCE, GAMEPLAY_FINISHER_XP_AMOUNT, GAMEPLAY_FREE_REVIVE_COUNT, GAMEPLAY_GEAR_ITEM_COOLDOWN, GAMEPLAY_ITEM_EFFECTIVENESS, GAMEPLAY_KILL_POWER_AMOUNT, GAMEPLAY_KILL_POWER_COOLDOWN, GAMEPLAY_KILL_XP_AMOUNT, GAMEPLAY_KILL_XP_REWARD, GAMEPLAY_MAX_HEALTH_SEGMENT_REWARD, GAMEPLAY_MELEE_KILL_XP_AMOUNT, GAMEPLAY_MONEY_DROP_AMOUNT, GAMEPLAY_MONEY_PICKUP_AMOUNT, GAMEPLAY_MONEY_REWARD_AMOUNT, GAMEPLAY_NON_HUMAN_DAMAGE_RESISTANCE, GAMEPLAY_PERCENT_BASE_DAMAGE_ADDED, GAMEPLAY_PICKUP_AMOUNT, GAMEPLAY_PICKUP_RATE, GAMEPLAY_PICKUP_DOUBLED_CHANCE, GAMEPLAY_POWER_COOLDOWN, GAMEPLAY_POWER_TO_HEALTH_ON_DEATH, GAMEPLAY_HEALTH_ON_DEATH, GAMEPLAY_HEALTH_PICKUP_AMOUNT, GAMEPLAY_SHIELD_UPGRADE_LEVEL, VEHICLE_DODGE_COOLDOWN, VEHICLE_DOUBLE_JUMP_HEIGHT, VEHICLE_FALL_RESIST_CHANCE, VEHICLE_FALL_SPEED, VEHICLE_JUMP_CHARGE_TIME, VEHICLE_JUMP_HEIGHT, VEHICLE_MAGNETISM, VEHICLE_SCORE_MULTIPLIER, VEHICLE_SPEED, VEHICLE_SPEED_ALT, VEHICLE_SPRINT_SPEED, WEAPON_AIMED_SHOT_DAMAGE_BONUS, WEAPON_AMMO_CONSUME_RATE, WEAPON_AMMO_FREE_CHANCE, WEAPON_AMMO_MAX, WEAPON_AMMO_POOL_MULTISHOT_DAMAGE, WEAPON_AMMO_RETRIEVED, WEAPON_ARMOUR_BYPASS, WEAPON_AUGMENT, WEAPON_AUTO_RELOAD_RATE, WEAPON_BATTERY_REGEN_RATE, WEAPON_BONUS_NORMALIZED_PHYSICAL_DAMAGE, WEAPON_BONUS_NORMALIZED_ELEMENTAL_DAMAGE, WEAPON_BYPASS_SHIELD, WEAPON_BYPASS_SHIELD_ON_CRIT, WEAPON_CHANNELING_DAMAGE, WEAPON_CHANNELING_EFFICIENCY, WEAPON_CHARGE_RATE, WEAPON_CHARGE_STEP_SIZE, WEAPON_CHARGED_PROJECTILE_SIZE, WEAPON_CLIP_MAX, WEAPON_CONVERT_AMMO, WEAPON_CONVERT_AMMO_DELAY, WEAPON_CONVERT_AMMO_TO_BUFF, WEAPON_CORPSE_EXPLODE_DAMAGE, WEAPON_CORPSE_EXPLODE_DAMAGE_ENEMY_HEALTH_PCT, WEAPON_CORPSE_EXPLODE_RADIUS, WEAPON_CORPSE_EXPLODE_PROC_CHANCE, WEAPON_CRIT_CHANCE, WEAPON_CRIT_CHANCE_BODY_PART, WEAPON_CRIT_CHANCE_WEAKPOINT, WEAPON_CRIT_DAMAGE, WEAPON_CRIT_FIRE_RATE_BONUS, WEAPON_CRIT_FIRE_RATE_DURATION, WEAPON_CRIT_UNDER_PROC_THRESHOLD_BONUS, WEAPON_CRIT_UNDER_PROC_THRESHOLD_MAX, WEAPON_DAMAGE_AMOUNT, WEAPON_DAMAGE_AMOUNT_TO_HEALTH, WEAPON_DAMAGE_AMOUNT_TO_OVERGUARD, WEAPON_DAMAGE_AMOUNT_TO_SHIELDS, WEAPON_DAMAGE_CONVERSION, WEAPON_DAMAGE_CONVERSION_POST_COALESCE, WEAPON_DAMAGE_IF_VICTIM_PROC_ACTIVE, WEAPON_DAMAGE_PER_ACTIVE_PROC_STACK_ON_VICTIM, WEAPON_DAMAGE_OVER_DISTANCE, WEAPON_DAMAGE_SELF_AMOUNT, WEAPON_DAMAGE_TYPE_BIAS, WEAPON_DAMAGE_TYPE_FLAT_AMOUNT, WEAPON_DAMAGE_WEAKPOINT, WEAPON_DISTANCE_TO_DAMAGE_BONUS, WEAPON_DOUBLE_CRIT_CHANCE, WEAPON_DRAIN_MAX, WEAPON_EMBED_DEATH_PROC_CHANCE, WEAPON_EMPLACEMENT_AMMO_CONSUME_RATE, WEAPON_ENERGY_ON_HEADSHOT_KILL, WEAPON_EXPLOSION_RADIUS, WEAPON_EXTRA_SCAN_CHANCE, WEAPON_FIRE_ITERATIONS, WEAPON_FIRE_RATE, WEAPON_FIRE_REDIRECT_RANGE, WEAPON_FIRE_REDIRECT_PROC_CHANCE, WEAPON_FIRE_REDIRECT_PROC_TYPE, WEAPON_FORCED_PROC_CHANCE, WEAPON_FROZEN_CRIT_CHANCE, WEAPON_FROZEN_CRIT_DAMAGE, WEAPON_GORE_CHANCE, WEAPON_GRENADE_STICKY, WEAPON_BODYSHOT_MULTIPLIER, WEAPON_HEADSHOT_MULTIPLIER, WEAPON_HEALTH_ON_HIT_ENEMY_WITH_PROC, WEAPON_HEALTH_ON_KILL, WEAPON_HEALTH_ON_KILL_CHANCE, WEAPON_HOLSTER_RATE, WEAPON_INCARNON_COMBO_REQUIREMENT, WEAPON_INFINITE_CLIP_MOD, WEAPON_INIT_DAMAGE_MOD, WEAPON_KILL_TO_STAMINA, WEAPON_KNOCKDOWN_TIME, WEAPON_LAST_DAMAGE_MOD, WEAPON_LAST_MULTISHOT, WEAPON_LIFE_STEAL, WEAPON_LIFE_STEAL_CHANNELING, WEAPON_LOCK_TIME, WEAPON_LOW_CRIT_VALUE, WEAPON_LOW_CRIT_DAMAGE, WEAPON_MARK_TARGET, WEAPON_MARKED_DAMAGE_AMOUNT, WEAPON_MARKED_HEADSHOT_MULTIPLIER, WEAPON_MELEE_ARMOR_REDUCTION, WEAPON_MELEE_AUTOTARGET_MAXIMUM_ANGLE, WEAPON_MELEE_AUTOTARGET_RANGE_BONUS, WEAPON_MELEE_AUTOTARGET_SPEED_BONUS, WEAPON_MELEE_AVATAR_DAMAGE_FALL_OFF, WEAPON_MELEE_COMBO_CHANCE_FROM_DOT, WEAPON_MELEE_COMBO_CRIT_CHANCE, WEAPON_MELEE_COMBO_DECAY_AMOUNT, WEAPON_MELEE_COMBO_DURATION_BONUS, WEAPON_MELEE_COMBO_GAIN_MISS_CHANCE, WEAPON_MELEE_COMBO_GAIN_EXTRA_CHANCE, WEAPON_MELEE_COMBO_HIT_BONUS, WEAPON_MELEE_COMBO_INITIAL_BONUS, WEAPON_MELEE_COMBO_MULTIPLIER_BONUS, WEAPON_MELEE_COMBO_MULTIPLIER_CRIT_CHANCE, WEAPON_MELEE_COMBO_MULTIPLIER_PROC_CHANCE, WEAPON_MELEE_COMBO_PROC_CHANCE, WEAPON_MELEE_COMBO_USAGE_EFFICIENCY, WEAPON_MELEE_DAMAGE, WEAPON_MELEE_FINISHER_DAMAGE, WEAPON_MELEE_HEAVY_CHARGE_SPEED, WEAPON_MELEE_HEAVY_EMPOWERED_CHANCE, WEAPON_MELEE_HEAVY_EMPOWERED_DURATION, WEAPON_MELEE_HIT_GROUND_TARGET, WEAPON_MELEE_HIT_STUN_CHANCE, WEAPON_MELEE_SLAM_DAMAGE_BONUS, WEAPON_MELEE_HEAVY_PARRY_DAMAGE_BONUS, WEAPON_MELEE_HEAVY_PARRY_CRIT_CHANCE_BONUS, WEAPON_MELEE_HEAVY_PARRY_CRIT_MULTIPLIER, WEAPON_MELEE_HEAVY_INSTANT_KILL_CHANCE, WEAPON_MELEE_STAMINA_PENALTY, WEAPON_MELEE_STEALTH_LETHAL, WEAPON_MICROWAVE_PROC_CRIT_CHANCE_BONUS, WEAPON_NOCRIT_CHANCE, WEAPON_NOCRIT_DAMAGE, WEAPON_NOISE_REDUCTION, WEAPON_NULLIFIER_BUBBLE_POP_CHANCE, WEAPON_OVERHEAT_DAMAGE, WEAPON_OVERHEAT_PROC_CHANCE, WEAPON_OVERGUARD_CRIT_CHANCE, WEAPON_PARRY_ANGLE, WEAPON_PARRY_COUNTER_CHANCE, WEAPON_PARRY_COUNTER_CHANCE_STAGGER, WEAPON_PARRY_COUNTER_CHANCE_STUN, WEAPON_PARRY_DAMAGE_BLOCKED, WEAPON_PARRY_DAMAGE_REFLECTED, WEAPON_PARRY_DAMAGE_TO_STAMINA, WEAPON_PARRY_EFFECTIVENESS, WEAPON_PARRY_EFFICIENCY, WEAPON_PARRY_HEAVY_COOLDOWN, WEAPON_PERCENT_BASE_DAMAGE_ADDED, WEAPON_PERCENT_BASE_DAMAGE_ADDED_POST_COALESCE, WEAPON_POWER_DAMAGE_BLOCK, WEAPON_POWER_DAMAGE_MAX, WEAPON_POWER_DAMAGE_MULTIPLIER, WEAPON_PICKUP_SHOOT_BONUS, WEAPON_PROC_ACTIVE_BONUS_DAMAGE, WEAPON_PROC_CHANCE, WEAPON_PROC_CHANCE_AGAINST_FULLY_SCANNED, WEAPON_PROC_DAMAGE, WEAPON_PROC_MAX_STACK, WEAPON_PROC_ON_PROC_CHANCE, WEAPON_PROC_TIME, WEAPON_PROC_TIME_EXTEND_ON_HIT, WEAPON_PROC_SELF_CC_REDUCTION_CHANCE, WEAPON_PROJECTILE_BOUNCES, WEAPON_PROJECTILE_ELASTICITY, WEAPON_PROJECTILE_EXPLOSION_CHANCE, WEAPON_PROJECTILE_LINGERING_AOE_DAMAGE, WEAPON_PROJECTILE_LINGERING_AOE_DURATION, WEAPON_PROJECTILE_LINGERING_AOE_RADIUS, WEAPON_PROJECTILE_SIZE, WEAPON_PROJECTILE_SPEED, WEAPON_PUNCTURE_DEPTH, WEAPON_PUNCTURE_INFINITE, WEAPON_RANDOM_PROC_CHANCE, WEAPON_RANGE, WEAPON_RECOIL, WEAPON_REFLECTION_MODIFIER, WEAPON_REFLECTION_EXPLOSION_CHANCE, WEAPON_RELOAD_EMPTY_BATTERY, WEAPON_RELOAD_SPEED, WEAPON_RELOAD_TIME, WEAPON_RICOCHET_CHANCE, WEAPON_SELF_AOE_MULTIPLIER, WEAPON_SHIELD_ON_KILL, WEAPON_SHIELD_ON_KILL_CHANCE, WEAPON_SHIELD_ON_KILL_BY_DAMAGE_TYPE, WEAPON_SHIELD_PERCENT_ON_KILL, WEAPON_SLASH_PROC_ON_CRIT_CHANCE, WEAPON_SLASH_PROC_ON_IMPACT, WEAPON_MAGNETIC_PROC_ON_IMPACT, WEAPON_SNIPER_COMBO_MULTIPLIER_BONUS, WEAPON_SNIPER_COMBO_HIT_BONUS, WEAPON_SNIPER_COMBO_CRIT_CHANCE, WEAPON_SNIPER_COMBO_PROC_CHANCE, WEAPON_SNIPER_COMBO_DURATION_BONUS, WEAPON_SPREAD, WEAPON_STEALTH_MULTIPLIER, WEAPON_SYNDICATE_POWER, WEAPON_TARGET_AMOUNT, WEAPON_UPGRADE_SLOT, WEAPON_VICTIM_CRIT_CHANCE, WEAPON_VICTIM_CRIT_DAMAGE, WEAPON_VICTIM_DAMAGE_AMOUNT, WEAPON_VICTIM_STAMINA_DRAIN_PERCENTAGE, WEAPON_ZOOM, WEAPON_ZOOM_SHAKE_SPEED, WEAPON_MODE_SWITCH_SPEED, WEAPON_PERCENT_BASE_INNATE_DAMAGE_ADDED, WEAPON_ADD_CHARGE_COUNTER_MULTIPLIER, SKILL_ABILITY_UNLOCK, SKILL_ABILITY_TACTICAL_COOLDOWN, SKILL_ABILITY_TACTICAL_EFFICIENCY, SKILL_RJ_BC_AMMO_YIELD, SKILL_RJ_BC_COMPACTION_YIELD, SKILL_RJ_BC_COOLDOWN, SKILL_RJ_BOOST_RAM_DAMAGE, SKILL_RJ_COLLISION_DMG_REDUCTION, SKILL_RJ_ENEMY_DMG_REDUCTION, MAX_Value } +OperationType = { ADD, ADD_BASE, MULTIPLY, STACKING_MULTIPLY, SET, SET_BASE, SET_MIN, SET_MAX } +DamageType = { DT_IMPACT, DT_PUNCTURE, DT_SLASH, DT_FIRE, DT_FREEZE, DT_ELECTRICITY, DT_POISON, DT_EXPLOSION, DT_RADIATION, DT_GAS, DT_MAGNETIC, DT_VIRAL, DT_CORROSIVE, DT_RADIANT, DT_SENTIENT, DT_CINEMATIC, DT_SHIELD_DRAIN, DT_HEALTH_DRAIN, DT_ENERGY_DRAIN, DT_FINISHER, DT_SUICIDE, DT_PHYSICAL, DT_INVALID, DT_BASE_ELEMENTAL, DT_COMPOUND_ELEMENTAL, DT_ANY } +PostureModifier = { PM_AIM, PM_AIM_MAIN_HAND, PM_AIM_OFF_HAND, PM_FREE_FIRED, PM_DODGE, PM_BLOCKING_ANIM, PM_STUN, PM_CLOAK, PM_ANIMATION_CONTROLLED, PM_HIBERNATE, PM_EXPLODE, PM_FINISHER_OPEN, PM_KNOCKDOWN, PM_STAGGER, PM_PRE_DEATH, PM_IN_AIR, PM_MENACE, PM_CARRYING, PM_ALT_AIM_RIGHT, PM_ALT_AIM_LEFT, PM_HELD, PM_GROUNDFIRE, PM_ALTERNATE_COVER, PM_CRIPPLED, PM_WALLJUMP, PM_BULLETJUMP, PM_PARRY, PM_GRAV_DISABLED, PM_EMPLACEMENT, PM_AIRBORNE, PM_HEAVY_MELEE, PM_MELEE_RAGE } +Injury = { PAIN, INJURY_RESISTED, INJURY_BLOCKED, STAGGER, BIG_STAGGER, STUN, KNOCKDOWN, GROUNDFIRE, THROW, RAGDOLL, PRE_DEATH, DEATH, DEATH_RAGDOLL, DEATH_SLICE, DEATH_SEVER, ANY, MAX_Injury } +ForceType = { FT_FORCE, FT_IMPULSE, FT_VELOCITY_CHANGE, FT_ACCELERATION } +ColorCustomizationSlot = { PrimaryColors, Attachments, Sigil, Eyes, Facial, Clothing, Syandana } +PowerSuitCustomizationSlot = { Helmet, ArmLeft, LegLeft, CustomEmblem, EventEmblem, AnimationSet, Neckwear, BodySkin, Chest, ArmRight, LegRight, Face, SigilChest, SigilBack, SpecialEvent, FxSet, SpecialFxSet } + +_T.AddHudTracker -- function(name, type) or nil +_T.RemoveHudTracker -- function(name) or nil +_T.OpenScreen -- function(name) + +-- Preloaded modules + +"EE.Interface.Utilities" + ShowMessage = function(str) + +"Lotus.Interface.LotusNetworkUtilities" + Host_LoadMission = function(node, missionInfo) + +"Lotus.Interface.LotusUtilities" + SLIDER + CHECKBOX + TOGGLE + BUTTON + TITLE + INPUTBOX + SPACER + INPUTCOUNT + ICONBUTTON + CHOICE + COLOR + IMAGE + +"Lotus.Scripts.Libs.ObjectiveText" + SetPrimaryObjText = function(text) + ClearPrimaryObjText = function() + +"Lotus.Scripts.Libs.DuviriActivityLib" + ModifyEncounterLimit = function(type, delta) + IsEncounterLimitReached = function(type) diff --git a/Scripts/samples/Auto Teleport to Waypoint.pluto b/Scripts/samples/Auto Teleport to Waypoint.pluto new file mode 100644 index 0000000..3fa0722 --- /dev/null +++ b/Scripts/samples/Auto Teleport to Waypoint.pluto @@ -0,0 +1,9 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + for gRegion:GetLocalPlayer():GetHudStatus():GetFlashMarkers() as marker do + if marker.markerType == 49 and not marker.garbage then + gRegion:GetLocalPlayerAvatar():SetPosition(marker.baseMarkerInfo:GetPosition()) + marker.baseMarkerInfo:Destroy() + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Become The Stalker.pluto b/Scripts/samples/Become The Stalker.pluto new file mode 100644 index 0000000..5ee7e11 --- /dev/null +++ b/Scripts/samples/Become The Stalker.pluto @@ -0,0 +1,9 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +local name = "/Lotus/Powersuits/Stalker/Stalker" + +local loader = UISys.ScriptResLoader_Create({ name }) +repeat yield() until loader:IsDone() + +gRegion:GetLocalPlayerAvatar():InventoryControl():RemoveItem(Engine.SLOT_4, true) +gRegion:GetLocalPlayerAvatar():GiveItem(Type(name), true) +gRegion:GetLocalPlayerAvatar():InventoryControl():GetActivePowerSuit():SetXP(1600000) \ No newline at end of file diff --git a/Scripts/samples/Chat Commands.pluto b/Scripts/samples/Chat Commands.pluto new file mode 100644 index 0000000..01bbc12 --- /dev/null +++ b/Scripts/samples/Chat Commands.pluto @@ -0,0 +1,140 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +local function streaming_request(names) + local loader = UISys.ScriptResLoader_Create(names) + repeat yield() until loader:IsDone() +end + +local commands = {} +commands["god"] = function() + local avatar = gRegion:GetLocalPlayerAvatar() + if avatar instanceof LotusVehicleAvatar then + avatar = avatar:GetRider() + end + if avatar:DamageControl():HasTemporaryImmunity() then + avatar:DamageControl():RemoveTemporaryImmunity() + chat_system_reply("Removed immunity.") + else + avatar:DamageControl():GiveTemporaryImmunity(500000, 500000) + chat_system_reply("Granted immunity.") + end +end +commands["suicide"] = function() + if gGameRules instanceof LotusGameRules then + gRegion:GetLocalPlayerAvatar():Suicide() + else + chat_system_reply("That's not a good idea.") + end +end +commands["killall"] = function() + local player = gRegion:GetLocalPlayerAvatar() + for gRegion:GetAvatars() as avatar do + if not avatar:IsAvatarFriendly(player) then + avatar:Suicide() + end + end +end +commands["kdrive"] = function() + streaming_request({ "/Lotus/Types/Enemies/Corpus/Venus/Hoverboard/CrpHoverboardUnmannedAvatar" }) + gRegion:CreateEntity(Type("/Lotus/Types/Enemies/Corpus/Venus/Hoverboard/CrpHoverboardUnmannedAvatar")) +end +commands["dargyn"] = function() + streaming_request({ "/Lotus/Types/Enemies/Grineer/Eidolon/GrineerSkiff/GrineerSkiffUnmannedAvatar" }) + gRegion:CreateEntity(Type("/Lotus/Types/Enemies/Grineer/Eidolon/GrineerSkiff/GrineerSkiffUnmannedAvatar")) +end +commands["kaithe"] = function() + gRegion:GetNpcMgr():CreateAgentAtPosition(Type("/Lotus/Types/NeutralCreatures/ErsatzHorse/ErsatzHorseUnmannedGearSummonItemAgent"), gRegion:GetLocalPlayerAvatar():GetPosition(), ZERO_ROTATION) +end +commands["simulacrum"] = function() + local args = Engine.OpenLevelArgs() + args:SetLevel("/Lotus/Levels/Tenno/SimulacrumEnemySpawnerC.level") + args:SetGameRules("/Lotus/Types/GameRules/LotusDangerRoomGameRules") + Engine.OpenLevel(args) +end +commands["level"] = function(text) + local level = text:split(" ")[2] + chat_system_reply("Loading level "..level) + local args = Engine.OpenLevelArgs() + args:SetLevel(level) + Engine.OpenLevel(args) +end +commands["captura"] = function(text) + local level = text:split(" ")[2] + chat_system_reply("Opening Captura in "..level) + local args = Engine.OpenLevelArgs() + args:SetLevel(level) + args:SetGameRules("/Lotus/Types/GameRules/LotusPhotoBoothGameRules") + Engine.OpenLevel(args) +end +commands["energy"] = function() + local avatar = gRegion:GetLocalPlayerAvatar() + if avatar instanceof LotusVehicleAvatar then + avatar = avatar:GetRider() + end + avatar:InventoryControl():GetActivePowerSuit():SetMaxEnergy(1000000) + avatar:InventoryControl():GetActivePowerSuit():SetEnergy(1000000) +end +commands["scale"] = function(text) + local scale = tonumber(text:split(" ")[2]) + if scale ~= 0 then + gRegion:GetLocalPlayerAvatar():SetMeshScale(scale) + else + chat_system_reply("That's not a good idea.") + end +end +commands["timescale"] = function(text) + local scale = tonumber(text:split(" ")[2]) + if scale == 1 then + gGameRules:CancelSlomo() + elseif scale > 0 then + gGameRules:RequestSlomo(scale) + else + chat_system_reply("That's not a good idea.") + end +end +commands["pause"] = function() + gGameRules:RequestPause() +end +commands["unpause"] = function() + gGameRules:RequestUnpause() +end +commands["script"] = function(text) + local query = text:sub(text:find(" ") + 1):lower() + if query:sub(-6) ~= ".pluto" then + query ..= ".pluto" + end + if script := owf_get_running_scripts():find(|x| -> x:lower() == query) then + owf_stop_script(script) + chat_system_reply($"Stopped {script}.") + elseif script := owf_get_available_scripts():find(|x| -> x:lower() == query) then + owf_start_script(script) + chat_system_reply($"Started {script}.") + else + chat_system_reply($"No such script: {query}") + end +end +commands["sync"] = function() + gGameData:SyncInventoryFromDB() +end +commands["resync"] = commands["sync"] +commands["unstick"] = function() + gGameRules:UnstickLocalPlayer() +end +commands["quit"] = function() + gFlashMgr:ExecuteToolMenuCommand(Resource("/EE/Editor/ToolMenus/Commands/CmdQuit")) +end +for prefix in commands do + chat_subscribe_prefix("/"..prefix, true) + chat_subscribe_outgoing_prefix("$"..prefix) +end +repeat + while evt := owf_next_event() do + if evt.type == OWF_EVT_SUBMIT_CHAT_MESSAGE or evt.type == OWF_EVT_OUTGOING_CHAT_MESSAGE then + for prefix, f in commands do + if evt.text:sub(2, #prefix + 1) == prefix then + f(evt.text) + break + end + end + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Complete Wave or Mission.pluto b/Scripts/samples/Complete Wave or Mission.pluto new file mode 100644 index 0000000..62a1ac4 --- /dev/null +++ b/Scripts/samples/Complete Wave or Mission.pluto @@ -0,0 +1,6 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +if gGameRules instanceof LotusGameRules then + gGameRules:OpenMissionContinueDialog(nil) +else + print("Not available in the current mission") +end \ No newline at end of file diff --git a/Scripts/samples/Cycle Camera.pluto b/Scripts/samples/Cycle Camera.pluto new file mode 100644 index 0000000..46a5f0c --- /dev/null +++ b/Scripts/samples/Cycle Camera.pluto @@ -0,0 +1,13 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +if gRegion:GetLocalPlayerAvatar():isFollowedByCamera() then + -- Normal -> Freecam + gRegion:GetLocalPlayer():setControllingCamera(true) + gRegion:GetLocalPlayerAvatar():ControlCamera(false) +elseif gRegion:GetLocalPlayer():isControllingCamera() then + -- Freecam -> Locked In Place + gRegion:GetLocalPlayer():setControllingCamera(false) +else + -- Locked In Place -> Normal + gRegion:GetLocalPlayer():setControllingCamera(false) + gRegion:GetLocalPlayerAvatar():ControlCamera(true) +end \ No newline at end of file diff --git a/Scripts/samples/Detailed Enemy HP.pluto b/Scripts/samples/Detailed Enemy HP.pluto new file mode 100644 index 0000000..99f3cc8 --- /dev/null +++ b/Scripts/samples/Detailed Enemy HP.pluto @@ -0,0 +1,26 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +local Health = Localize("/Lotus/Language/Labels/HUD_COLOR_HEALTH") +local Shield = Localize("/Lotus/Language/Labels/HUD_COLOR_SHIELD") +local Armor = Localize("/Lotus/Language/Labels/HUD_COLOR_ARMOR") +local Overguard = Localize("/Lotus/Language/Labels/HUD_COLOR_PROTECTED_HEALTH") +repeat + for gRegion:FindAll(Type("/Lotus/Types/Game/LotusNpcAvatar")) as ent do + local dc = ent:DamageControl() + + local name = Localize(ent:GetLocTag():c_str()) + if ent:GetEnhancementCount() ~= 0 then + name = Localize(ent:GetEnhancementLocTag():c_str(), { + ENEMY = name + }) + end + + ent:SetDynamicUIName(true) + ent:SetUIName( + name + .."\r\n"..Health..": "..string.formatint(ent:GetHealth()).." / "..string.formatint(ent:GetMaxHealth()) + .."\r\n"..Shield..": "..string.formatint(dc:GetShield()).." / "..string.formatint(dc:GetMaxShield()) + .."\r\n"..Armor..": "..string.formatint(dc:GetArmourRating()) + .."\r\n"..Overguard..": "..string.formatint(dc:GetOverguardAmount()) + ) + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Enter Simulacrum.pluto b/Scripts/samples/Enter Simulacrum.pluto new file mode 100644 index 0000000..c9ea3a9 --- /dev/null +++ b/Scripts/samples/Enter Simulacrum.pluto @@ -0,0 +1,8 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +while not gPlayerProfileMgr:IsLoggedIn() do + yield() +end +local args = Engine.OpenLevelArgs() +args:SetLevel("/Lotus/Levels/Tenno/SimulacrumEnemySpawnerC.level") +args:SetGameRules("/Lotus/Types/GameRules/LotusDangerRoomGameRules") +Engine.OpenLevel(args) \ No newline at end of file diff --git a/Scripts/samples/First Person View.pluto b/Scripts/samples/First Person View.pluto new file mode 100644 index 0000000..c9ece32 --- /dev/null +++ b/Scripts/samples/First Person View.pluto @@ -0,0 +1,22 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +local in_air_toggle = owf_script_add_toggle("In Air") +repeat + local cc = gRegion:GetLocalPlayer():CameraControl() + cc:SetViewOffset(Vector(0, -0.1, 0.5)) + cc:SetAimViewOffset(Vector(0, -0.1, 0.5)) + cc:SetRunViewOffset(Vector(0, -0.1, 0.5)) + cc:SetDodgeOffset(Vector(0, -0.1, 0.5)) + if in_air_toggle.value then + cc:SetInAirViewOffset(Vector(0, -0.1, 0.5)) + cc:SetInAirAimViewOffset(Vector(0, -0.1, 0.5)) + end + cc:SetMeleeOffset(Vector(0, -0.1, 0.5)) + cc:SetCoverLeftViewOffset(Vector(0, -0.1, 0.5)) + cc:SetCoverRightViewOffset(Vector(0, -0.1, 0.5)) + cc:SetCrouchCoverAimLeftViewOffset(Vector(0, -0.1, 0.5)) + cc:SetCrouchCoverAimRightViewOffset(Vector(0, -0.1, 0.5)) + cc:SetWallRunLeftViewOffset(Vector(0, -0.1, 0.5)) + cc:SetWallRunRightViewOffset(Vector(0, -0.1, 0.5)) + cc:SetWallRunLeftAimViewOffset(Vector(0, -0.1, 0.5)) + cc:SetWallRunRightAimViewOffset(Vector(0, -0.1, 0.5)) +until yield() \ No newline at end of file diff --git a/Scripts/samples/Freecam Teleport on Disable.pluto b/Scripts/samples/Freecam Teleport on Disable.pluto new file mode 100644 index 0000000..f442496 --- /dev/null +++ b/Scripts/samples/Freecam Teleport on Disable.pluto @@ -0,0 +1,17 @@ +local was_in_freecam = false +local last_pos +repeat + if avatar := gRegion:GetLocalPlayerAvatar() then + if avatar:isFollowedByCamera() then + if was_in_freecam then + was_in_freecam = false + avatar:SetPosition(last_pos) + end + else + was_in_freecam = gRegion:GetLocalPlayer():isControllingCamera() + if was_in_freecam then + last_pos = gRegion:GetGameCamera():GetPosition() + end + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Freecam Up Down.pluto b/Scripts/samples/Freecam Up Down.pluto new file mode 100644 index 0000000..0a0576e --- /dev/null +++ b/Scripts/samples/Freecam Up Down.pluto @@ -0,0 +1,19 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +$define VK_CONTROL = 0x11 +$define VK_SPACE = 0x20 + +local Y_STEP = Vector(0, 0.01, 0) + +local t = os.millis() +repeat + local delta = os.millis() - t + if gRegion:GetLocalPlayer():isControllingCamera() then + if owf_is_key_down(VK_SPACE) then + gRegion:GetGameCamera():SetPosition(gRegion:GetGameCamera():GetPosition() + Y_STEP * delta) + end + if owf_is_key_down(VK_CONTROL) then + gRegion:GetGameCamera():SetPosition(gRegion:GetGameCamera():GetPosition() - Y_STEP * delta) + end + end + t = os.millis() +until yield() \ No newline at end of file diff --git a/Scripts/samples/Godmode.pluto b/Scripts/samples/Godmode.pluto new file mode 100644 index 0000000..3f93a1d --- /dev/null +++ b/Scripts/samples/Godmode.pluto @@ -0,0 +1,15 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + if avatar := gRegion:GetLocalPlayerAvatar() then + if avatar instanceof LotusVehicleAvatar then + avatar = avatar:GetRider() + end + avatar:DamageControl():GiveTemporaryImmunity(500000, 500000) + end +until not pcall(yield) + +local avatar = gRegion:GetLocalPlayerAvatar() +if avatar instanceof LotusVehicleAvatar then + avatar = avatar:GetRider() +end +avatar:DamageControl():RemoveTemporaryImmunity() \ No newline at end of file diff --git a/Scripts/samples/Increase Damage.pluto b/Scripts/samples/Increase Damage.pluto new file mode 100644 index 0000000..b728ab4 --- /dev/null +++ b/Scripts/samples/Increase Damage.pluto @@ -0,0 +1,9 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +if weapon := gRegion:GetLocalPlayerAvatar():InventoryControl():GetWeaponInHand(0) then + local impactBehavior = weapon:GetActiveImpactBehavior() + impactBehavior.criticalHitChance = 10000 + impactBehavior.criticalHitDamageMultiplier = 10000 + print("Your weapon damage has been increased!") +else + print("You don't seem to have a weapon in hand.") +end \ No newline at end of file diff --git a/Scripts/samples/Kill All Enemies.pluto b/Scripts/samples/Kill All Enemies.pluto new file mode 100644 index 0000000..1fe8b48 --- /dev/null +++ b/Scripts/samples/Kill All Enemies.pluto @@ -0,0 +1,9 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + local player = gRegion:GetLocalPlayerAvatar() + for gRegion:GetAvatars() as avatar do + if not avatar:IsAvatarFriendly(player) then + avatar:Suicide() + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Loot Party.pluto b/Scripts/samples/Loot Party.pluto new file mode 100644 index 0000000..697e08f --- /dev/null +++ b/Scripts/samples/Loot Party.pluto @@ -0,0 +1,8 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + for gRegion:GetAvatars() as avatar do + if inventory := avatar:InventoryControl() then + inventory:DoItemDrop() + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/No Ability Cooldowns.pluto b/Scripts/samples/No Ability Cooldowns.pluto new file mode 100644 index 0000000..98a39b2 --- /dev/null +++ b/Scripts/samples/No Ability Cooldowns.pluto @@ -0,0 +1,10 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + if suit := gRegion:GetLocalPlayerAvatar():InventoryControl():GetActivePowerSuit() then + for i = 0, 3 do + if ability := suit:GetAbilityByIndex(i) then + ability:SetCooldownTime(0) + end + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Noclip.pluto b/Scripts/samples/Noclip.pluto new file mode 100644 index 0000000..efb26b8 --- /dev/null +++ b/Scripts/samples/Noclip.pluto @@ -0,0 +1,27 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +local avatar +local function disable() + if not IsNull(avatar) then + avatar:SetCustomAnimController(nil) + avatar:SetCustomMotionController(nil) + if (mc := avatar:MotionControl()) instanceof LotusSpaceFlightMotionController then + mc:EnableFlight(false) + end + avatar:SetCustomCameraController(nil) + avatar:SetPostureModifier(PostureModifier.PM_AIRBORNE, false) + avatar:SetCollisionEnabled(true) + end +end +repeat + if avatar ~= gRegion:GetLocalPlayerAvatar() then + disable() + avatar = gRegion:GetLocalPlayerAvatar() + end + if not IsNull(avatar) then + avatar:SetCustomAnimController(Type("/Lotus/Powersuits/Fairy/FairyFlightAnimController")) + avatar:SetCustomMotionController(Type("/Lotus/Types/Game/LotusGroundFlightMotionController")) + avatar:SetCustomCameraController(Type("/Lotus/Types/Player/SpaceBattle/SpaceMoveCameraController")) + avatar:SetCollisionEnabled(false) + end +until not pcall(yield) +disable() diff --git a/Scripts/samples/Settings.pluto b/Scripts/samples/Settings.pluto new file mode 100644 index 0000000..3d49f2f --- /dev/null +++ b/Scripts/samples/Settings.pluto @@ -0,0 +1,59 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +local { CHECKBOX, INPUTBOX } = require "Lotus.Interface.LotusUtilities" + +local dict = get_lang_dict() +local options = { + { dict.high_damage_numbers_patch, get_high_damage_numbers_patch, set_high_damage_numbers_patch }, + { dict.skip_mission_start_timer, get_skip_mission_start_timer, set_skip_mission_start_timer }, + { dict.simulacrum_blacklisted, get_simulacrum_blacklisted, set_simulacrum_blacklisted }, + { dict.simulacrum_whitelisted, get_simulacrum_whitelisted, set_simulacrum_whitelisted }, + { dict.alternative_loading, get_alternative_loading, set_alternative_loading }, + { dict.ee_log_in_console, get_ee_log_in_console, set_ee_log_in_console }, + { dict.dont_resolve_labels, get_dont_resolve_labels, set_dont_resolve_labels }, + { dict.fov_override, get_fov_override, |s| -> set_fov_override(tonumber(s) or 0) }, +} + +local done = false +local movie = _T.OpenScreen("GenericSettings") +movie:Execute("SetTitle", "OpenWF In-Game Options") +function _T.owfSampleSettingsChangesDone(inputs, cancel) + if not cancel then + for i, opt in options do + local value = type(opt[4]) == "boolean" ? inputs[i].mValue : inputs[i].mContent + if opt[4] ~= value then + print(opt[1].." set to "..value) + opt[3](value) + end + end + end + done = true +end +movie:Execute("SetCallBack", "owfSampleSettingsChangesDone") +function _T.owfSampleGetSettings() + return options:mapped(function(opt) + opt[4] = opt[2]() + if type(opt[4]) == "boolean" then + return { + mLabel = opt[1], + mType = CHECKBOX, + mValue = opt[4], + } + end + return { + mLabel = opt[1], + mType = INPUTBOX, + mContent = opt[4], + mMaxChars = 500, + mMultiLine = false, + mSkipAutoFocus = true, + } + end) +end +movie:Execute("SetElementsFunction", "owfSampleGetSettings") +movie:Execute("SetConfirmButtonActive", "true") +movie:Execute("EnableHints", "") +repeat +until done or not pcall(yield) +if not IsNull(movie) then + movie:Close() +end \ No newline at end of file diff --git a/Scripts/samples/Speedometer.pluto b/Scripts/samples/Speedometer.pluto new file mode 100644 index 0000000..79a4fdd --- /dev/null +++ b/Scripts/samples/Speedometer.pluto @@ -0,0 +1,7 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + if _T.AddHudTracker then + require("Lotus.Scripts.Libs.ObjectiveText").SetPrimaryObjText(string.format("%.2f KMH", (gRegion:GetLocalPlayerAvatar():GetSpeed() * 3.6))) + end +until not pcall(yield) +require("Lotus.Scripts.Libs.ObjectiveText").ClearPrimaryObjText() \ No newline at end of file diff --git a/Scripts/samples/Wallhack.pluto b/Scripts/samples/Wallhack.pluto new file mode 100644 index 0000000..c9e47d3 --- /dev/null +++ b/Scripts/samples/Wallhack.pluto @@ -0,0 +1,11 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +repeat + local npcAvatars = gRegion:FindAll(gLotusNpcAvatarType) + for npcAvatars as avatar do + if IsNull(avatar:GetAttachment(Type("/Lotus/Fx/Gameplay/Fishing/FishHighlightVision"))) then + local proj = avatar:Attach(Type("/Lotus/Fx/Gameplay/Fishing/FishHighlightVision"), EMPTY_SYMBOL, ZERO_VECTOR, ZERO_ROTATION) + proj:SetTint(Color(255, 0, 0)) + proj:SetMaterialParam(Symbol("FadeParams"), 0, 100) + end + end +until yield() \ No newline at end of file diff --git a/Scripts/samples/Watermark.pluto b/Scripts/samples/Watermark.pluto new file mode 100644 index 0000000..40fdc4c --- /dev/null +++ b/Scripts/samples/Watermark.pluto @@ -0,0 +1,5 @@ +-- Modifications to sample scripts will be lost the next time you start the game. +owf_overlay_add_text(12, 12, "OpenWF", OWF_FONT_SIMPLE8, 0, 0, 0, 2) -- shadow +owf_overlay_add_text(10, 10, "OpenWF", OWF_FONT_SIMPLE8, 90, 253, 123, 2) -- text +owf_overlay_update() +while pcall(yield) do end -- keep the script running \ No newline at end of file diff --git a/sideloadify-cli.cache b/sideloadify-cli.cache new file mode 100644 index 0000000000000000000000000000000000000000..33d609f690b0369971a2b5761006920f6a13a6b5 GIT binary patch literal 237056 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 z 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