Mini Mods for Scenarios

Hello together, feel free to share your own "bits" and "pieces" you made for your adventures. Maybe even daid will find the one or another idea to implement it on the Game itself.

(On this Point, thanks daid for the Game! Awesomework!)

Sry for my ugly Scripting, I`m not a programmer and I`m only trying to make it work somehow.


Here my idea for "Coolant Venting":
-- Name: TEST
-- Description: TEST
-- Type: Basic

function init()
player = PlayerSpaceship():setFaction("Human Navy"):setTemplate("Atlantis"):setPosition(0, 0):setCallSign("Cerberus")
coolant = 0
coolant_lvl = nil

addGMFunction("Coolant", function() -- Reset Coolant
coolant = 0
coolant_lvl = nil
end)
end

function update(delta)
--player:addCustomButton("engineering", "Coolant_Venting", "Allow coolant venting", function()
player:addCustomButton("science", "Coolant_Override", "Venting coolant", function()
if coolant == nil then coolant = 0 end
coolant = coolant + 1
if coolant == 1 then
coolant_lvl = 3
for _, system in ipairs({"reactor", "beamweapons", "missilesystem", "maneuver", "impulse", "warp", "jumpdrive", "frontshield", "rearshield"}) do
player:setSystemHeat(system, 0.0)
player:removeCustom("Coolant_Override")
end
x_player, y_player = player:getPosition()
Nebula():setPosition(x_player, y_player)
--player:removeCustom("Coolant_Override")
end
if coolant == 2 then
coolant_lvl = 6
for _, system in ipairs({"reactor", "beamweapons", "missilesystem", "maneuver", "impulse", "warp", "jumpdrive", "frontshield", "rearshield"}) do
player:setSystemHeat(system, 0.0)
player:removeCustom("Coolant_Override")
end
x_player, y_player = player:getPosition()
Nebula():setPosition(x_player, y_player)
--player:removeCustom("Coolant_Override")
end
if coolant == 3 then
coolant_lvl = 9
for _, system in ipairs({"reactor", "beamweapons", "missilesystem", "maneuver", "impulse", "warp", "jumpdrive", "frontshield", "rearshield"}) do
player:setSystemHeat(system, 0.0)
player:removeCustom("Coolant_Override")
end
x_player, y_player = player:getPosition()
Nebula():setPosition(x_player, y_player)
--player:removeCustom("Coolant_Override")
end
end)
--end)

player:commandSetSystemCoolantRequest("warp", coolant_lvl)

end
By "venting" the coolant the Science Officer get`s an Active Role in Combat, for once, you can instantly get rid off all heating at your System and you create a nebula to hide in and flee if you want to. As a trade off you loose a part of your coolant.

In case Science Officer gets to "trigger happy" with his new power you can put Engineering inbetween to give Science the allowance to vent his precious coolant.

This will work for "Jumpdrive"-Ships. If you have a warp ship, swap out the last "warp" with "jumpdrive".
(Of course most of you will know this already...)

Maybe someone can figureout a way to "autorecharge" coolant on a Station without the stupid GM-Button,... I`ll work on it but again, I`m more of an Ape trying to figure out how to work with a calculator then a programmer...

Comments

  • Since I have no better Idea this is an alternative to the GMFunction giving back the coolant
    if coolant > 0 then
    local x0,y0 = player:getPosition()
    local dummy_station = 0
    for _, obj in ipairs(getObjectsInRadius(x0,y0,1000)) do
    if obj.typeName == "SpaceStation" then dummy_station = 1 end
    end
    if dummy_station == 1 then
    player:addCustomButton("relay","Coolant_Intake", "Taking in coolant", function()
    coolant = 0
    coolant_lvl = nil
    player:removeCustom("Coolant_Intake")
    end)
    end
    end
    Maybe someone can tell how to make Docking or beeing Docked on ANY Station a valid if case for a button prompt.
  • edited December 2017
    Another mini Mod. Make any Ship a "ShipCarrier" like Battlestar Galactica.

    You will need to change the setTemplate ships since I use my own models and templates.

    https://github.com/TolotosRhodan/EE-MotU/blob/Test/scenario_carrier.lua

    Ship will drop Warpability at 5 U range to enemy and Deploys First Squadron. At 4,5 U Range it will deploy second Squadron around the Carrier.

    Alls Squadrons are set to "Defend the Carrier".

    If alle Enemys are kill/out of Range (5 U) the Squadrons get Dockingorder, as soon they Dock they disappear. If there are losses they will not spawn at next Enemy Contact.

    Is there no Fighter left the Carrier regains Warpability. (That way the Carrier won`t Warpaway before all Fighter are back in the Hangar.

    Have fun!
  • Love the carrier idea. I'm looking at GMing some scenarios for a group of players, and having the ability to have some of them as fighters would be pretty cool.
  • edited December 2017
    There you go Heinz!

    You can make up to 10 "player controlled" small Crafts. You need Relay to manage it.

    You will also need to change or create your own setTemplate Ships to make it work.
    You need a normal "Fighter" aka "Jäger" and a "Fighter P" aka "Jäger P" variant for playership. The same for Bombers.
    Have fun!

    https://github.com/TolotosRhodan/EE-MotU/blob/Test/scenario_playercarrier.lua

    Sry for the German input, making these for German audience. If anyone needs help on translation. Just ask =)



    btw anyone have an idea why I get a >"camera_position" not found in shader< ?
    In Single Pilot I don`t get the additional "main screen".
  • I'm back again! At least for a brief moment.

    I took the coolant function and putted it into a single File which you can load within your scenarion init with this:
    require("mods/coolantexe.lua")
    Script():run("mods/coolantexe.lua")

    And the file from Github where the hole function is ready to go for your Singleship-Mission. I recommend to put it inside a mods folder insde of your script folder. So you will have it seperated from your scenarios.

    Here the File:
    https://github.com/TolotosRhodan/EE-MotU/tree/master/mods

    Inside the file you can turn on the GM function, so far it is automatically working for the Players. But most if not all of you will manage to make it work anyway.

    Hints and Tipps appriciated!
  • If I'm reading the coolant function correctly, you're assuming that a jump ship has no warp drive, so putting coolant in the warp drive continuously in the update function removes it from use by the other systems. Similarly a warp ship has no jump drive, so putting coolant in the jump drive continuously removes it from use by other systems. This works well until the server is configured to use both warp and jump drives whereupon the hidden coolant is out in the open. Admittedly, not available for use elsewhere, but still visible.

    Still, it's a good idea. I'll probably add it to some of my scenario scripts.
  • Well yes, I didn't found another way to remove the coolant. If there is a better way you know, feel free to share. I would be very interested in it.

    Hope you gonne anjoy the mod. At least it's easy to implement now.
  • No, I think you've got the most practical way outside of changing the source code of the app to allow for a script-enabled function to control overall coolant level.

    I will definitely enjoy the mod
Sign In or Register to comment.