Situational Stealth

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Message
Author
User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Situational Stealth

#1 Post by LienRag »

As I've extensively written about it, the game is much more interesting if not everything happen the same way everywhere.

And more specifically, I've also written about how situational stealth (stealth that happens in specific locations, not everywhere, like Asteroid Concealment for example) is way funnier to play and way more rich strategically than permanent stealth.

So here's a Ship part that I created to that order, that allows ships that put it in one of their Internal slot to get more stealth when in a system with a Gas Giant :

Code: Select all

Part
    name = "ST_COATING_GG"
    description = "ST_COATING_GG_DESC"
    exclusions = "ST_COATING_GG"
    class = Stealth
    capacity = 00
    mountableSlotTypes = Internal
    buildcost = 2 * [[FLEET_UPKEEP_MULTIPLICATOR]] * [[SHIP_PART_COST_MULTIPLIER]]
    buildtime = 5
    tags = [ "PEDIA_PC_STEALTH" ]
    location = And [
        ResourceSupplyConnected empire = Source.Owner condition = And [
            Building name = "BLD_BIO_LAB"
            Or [
                OwnedBy empire = Source.Owner
                OwnedBy affiliation = AllyOf empire = Source.Owner
            ]
        ]
        OwnedBy empire = Source.Owner
    ]
    effectsgroups = [
        EffectsGroup
            scope = Source
            activation = ContainedBy And [
                System 
                Contains Planet type = GasGiant
            ]
	    stackinggroup = "STEALTH_GG_STACK"
            accountinglabel = "GAS_GIANT_FIELD_STEALTH"
            effects = [SetStealth value = Value + 10 + (20 * Statistic If condition = OwnerHasTech name = "GRO_XENO_HYBRIDS" )
            SetSpeed value = Value - 10 
	    SetDetection value = Value - 100
	    ]

        EffectsGroup
            scope = Source


            accountinglabel = "VALVE_SPEED_REDUCTION"
            effects = 
            SetSpeed value = Value - 10 

    ]
    icon = "icons/ship_parts/gasgianthidden.png"

#include "stealth.macros"

#include "/scripting/common/upkeep.macros"
I tested it abundantly, and I believe that it's a valuable addition to the game.

At first I did not include the speed and vision restriction.

But testing in single player showed me that in Galaxies with high planet density (I mean, when there aren't many empty spaces with no stars) there was so many Gas Giants that it was possible to move from one to the other for most of a trip, and also to hide in a Gas Giant in order to attack most systems.

With the speed restriction, it's still possible to do so, but at the cost of adding speed parts to the ship, so it's a quite costly trade-off that makes the game strategically interesting, not a no-brainer.


Also multi-player taught me the importance of scouting, so the ability to put a scout ship in a Gas Giant and leave it there till the end of the game was too powerful.
Now with the nerf it's still possible, but only with good Radar techs and still it would see only a small part of space.

At first it was a flat +20 to stealth when in a Gas Giant, and tied it to Xenological Genetics, but it meant that it came too late for my taste, and if made it usable earlier +20 would have been a bit too powerful at the beginning of the game.

So I split the bonus in two, +10 very early and a further +20 (so +30 total) later in the game - much later in many play styles, early mid-game in some others.

I tied it to Xenological Hybridization because I didn't want to make it a no-brainer for Sly, and Sly usually do not research Xenological (or at least have little incentive to do so).
They still can get a +10 bonus from Genetic Engineering but that shouldn't be too unbalanced as it requires the part and internal parts are quite scarce early game (except for Protoplasmic Hulls, but these ones are come initially with so little structure, that they're not unbalanced).

I made it require a specific building, the bio-lab, because at first it didn't require a specific tech, just Xeno Genetics. So I wanted to give a clue to enemy players whether the Empire was or wasn't able to build these stealthy ships (it still required scouting, but it was possible).
Then I got tired of having to change the tech FOCS file every time I refreshed the snap package, so I added the Biomimesis tech since it bears its own requirements directly in its FOCS file.
I kept the lab both out of lazyness and because it would still allow enemy scouts to get a better idea whether the Empire could or could not build ships with this part.

So if someone experimented has any argumented opinion about keeping or removing the biolab, I'm all ears.

So this part allows early ships to get directly (when in systems with Gas Giants) a stealth value of 15 with very little investment, a stealth of 35 for Asteroid ships in systems with a Gas Giant and an Asteroid Belt (so making Asteroid stealth more interesting), and a stealth of 35 (which avoids active radars OR scanning continuously) for Protoplasmic Hulls and Endosymbiotic Hulls, also for Symbiotic Hulls in systems with an owned Resonant Moon and a Gas Giant.

Later in the game, as it stacks with other Stealth parts, it can generates interesting levels of Stealth, but only in systems with Gas Giants, which imho adds a lot to the strategy.

To balance it a little bit, here's another Ship part, the Gravitic Resonator, that removes some stealth in systems which contains Tiny and/or Small planets :

Code: Select all

Part
    name = "SP_GRAVITIC_RESONATOR"
    description = "SP_GRAVITIC_RESONATOR_DESC"
    exclusions = "SP_GRAVITIC_RESONATOR"
    class = General
    mountableSlotTypes = Internal
    buildcost = 10 * [[FLEET_UPKEEP_MULTIPLICATOR]] * [[SHIP_PART_COST_MULTIPLIER]]
    buildtime = 10
    tags = [ "PEDIA_PC_GENERAL" ]
    location = OwnedBy empire = Source.Owner
    effectsgroups = 
        EffectsGroup
            scope = WithinDistance distance = 0 condition = Source            

            activation = ContainedBy And [
                System 
                Contains Planet size = Tiny
            ]
	    stackinggroup = "SP_GRAVITIC_RESONATOR_STACK" 
            accountinglabel = "PLANET_RESONANCE"
            effects = SetStealth value = Value + 10 * (Statistic if condition = And [ Planet InSystem id = Source.SystemID Planet size= Small ]) + 20 * (Statistic if  condition = And [ Planet InSystem id = Source.SystemID Planet size= Tiny ]) )
    
    icon = "icons/ship_parts/graviticresonator.png"

#include "/scripting/common/upkeep.macros"
I tested it also, which made me change completely the Effects formula, as the old one didn't stack when there were many Small or Tiny planets, but stacked when there were many Resonators in a fleet, so it wasn't good.

I haven't tested the new FOCS file yet, and will probably not test it before the end of the 16th MP game, so I put it here as is.



Also, here are the corresponding Stringtable :

Code: Select all

ST_COATING_GG
Variable Pressure NanoCoating

ST_COATING_GG_DESC
Allows ships to hide in gas giants. Researching [[GRO_XENO_HYBRIDS]] allows stronger nanovalve coating, meaning that the ship can hide deeper inside the gas giant atmoshphere and as such improve its stealth. A ship buried in the gas giant atmosphere has reduced speed and Detection Range.

SP_GRAVITIC_RESONATOR
Gravitic Resonator

SP_GRAVITIC_RESONATOR_DESC
Reveals Hidden Objects by activating gravitational resonance of tiny planets and secondarily of small planets.

GAS_GIANT_FIELD_STEALTH
Gas giant concealment

GAS_GIANT_FIELD_STEALTH_DESC
The ship was able to hide in the Gas Giant

SPY_DETECT_5
Sensors 2

SPY_DETECT_5_DESC
An amelioration of the Sensors. Allows the building of Neutron Flare.

SPY_DETECT_6
Sensors 3

SPY_DETECT_6_DESC
An amelioration of the Sensors


SPY_DETECT_7
Sensors 4

SPY_DETECT_7_DESC
An amelioration of the Sensors


SPY_DETECT_8
Sensors 5

SPY_DETECT_8_DESC
An amelioration of the Sensors

SPY_DETECT_9
Sensors 6

SPY_DETECT_9_DESC
An amelioration of the Sensors


SPY_DETECT_10
Sensors 7

SPY_DETECT_10_DESC
An amelioration of the Sensors


SPY_DETECT_11
Sensors 8

SPY_DETECT_11_DESC
An amelioration of the Sensors

SPY_DETECT_12
Sensors 9

SPY_DETECT_12_DESC
An amelioration of the Sensors


SPY_DETECT_MAX
Omni-Scanner

SPY_DETECT_MAX_DESC
This technology guarantees that nothing escapes the Empire's detection


SPY_STEALTH_5
Neutron redirection

SPY_STEALTH_5_DESC
Allows to build a [[BLD_NEUTRON_FLARE]] in planets orbiting a Neutron star, in order to hinder enemy detection

SPY_STEALTH_6
Planetary Temporal Anomaly Shifting

SPY_STEALTH_6_DESC
Gives all planets and outposts bearing a [[TEMPORAL_ANOMALY_SPECIAL]] a huge stealth bonus.


SH_HYDROPLASMIC
Hydroplasmic Hull

SH_HYDROPLASMIC
This hull, derived from the Protoplasmic Hull, can be build if the planet has a biolab. It can dive into water, giving it a huge stealth bonus in Ocean planets, and a smaller one in Terran and Swamp planets.

SPY_BIOMIMESIS
Bio-inspiration

SPY_BIOMIMESIS_DESC
Biological diversity is a source of inspiration for many things.

VALVE_SPEED_REDUCTION
Reduce the ship speed due to the presence of Variable Pressure Nanovalves


SHP_HYDROCELL_EXP
Hydroadaptation

SHP_HYDROCELL_EXP_DESC
Allows, with [[SPY_BIOMIMESIS]], to build the [[SH_HYDROPLASMIC]].



BLD_BIO_LAB
Biological engineering laboratory


BLD_BIO_LAB_DESC
This biological engineering laboratory allows working on living material, and to produce [[ST_COATING_GG]] and [[SH_HYDROPLASMIC]]

SITUATIONAL_STEALTH_SHORT_DESC
Improves stealth in some particular situation

PLANET_RESONANCE
Planet Resonance


SHP_GRAVITIC_RESONANCE
Gravitic resonance

SHP_GRAVITIC_RESONANCE_DESC
By computing the resonance of tiny and small planets, this allows ships using resonators to remove some stealth in the system. 

(some of the stringtables are for items that I'll describe later)

(All my work here is GPL 3.0)
Attachments
SP_GRAVITIC_RESONATOR.focs.txt
(1.04 KiB) Downloaded 78 times
SHP_GRAVITIC_RESONANCE.focs.txt
(487 Bytes) Downloaded 69 times
BIOMIMESIS.focs.txt
(512 Bytes) Downloaded 74 times
biomimesis.png
biomimesis.png (7.85 KiB) Viewed 3646 times
graviticresonator.png
graviticresonator.png (22.22 KiB) Viewed 3646 times
gasgianthidden.png
gasgianthidden.png (6 KiB) Viewed 3646 times

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#2 Post by LienRag »

I don't understand why it refused to load the attachment for the Coating FOCS file ?
Attachments
ST_COATING_GG.focs.txt
(1.42 KiB) Downloaded 71 times

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#3 Post by LienRag »

Also, anyone doing a quick calculation would have found that with this new part, there is the possibility for a ship to reach a stealth of :
  • 30 in a gas giant due to the new part (with Xenological Hybridation researched)
  • 20 by being protected by a Sentient Hull
  • 80 when using the strongest Cloaking part
  • 35 if it's a Bio-Adaptive Hull
  • 10 in a system with an owned Resonant Moon
  • 60 with a Multi-Spectral Shield in a system with an ordinary star
To a total of 235, 275 in a Ion Storm.
Which is higher than the highest Detection value of 200.

And as Oberlus pointed it some time ago, having Stealthed objects in the endgame (that is, with no way to raise the Empire's Detection over the Stealth value of some enemy objects) leads to paralyzing situations, where players have no way to defeat each other as they can't even see each others.

So I've modified the Detection techs, starting with Detect_5 (Omni-Scanner). Now the Omni-Scanner is Detect_Max and comes after 12 Detection Techs, not 4.

I attached them at the end, but apparently there's a limit to the number of files that can be attached to a single post so I'll have to make another one.
Attachments
DETECT_10.focs.txt
(847 Bytes) Downloaded 68 times
DETECT_9.focs.txt
(845 Bytes) Downloaded 70 times
DETECT_8.focs.txt
(843 Bytes) Downloaded 69 times
DETECT_7.focs.txt
(843 Bytes) Downloaded 68 times
DETECT_6.focs.txt
(842 Bytes) Downloaded 65 times
DETECT_5.focs.txt
(840 Bytes) Downloaded 66 times

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Situational Stealth

#4 Post by Oberlus »

LienRag wrote: Fri May 14, 2021 3:51 pm
  • 80 when using the strongest Cloaking part
  • 60 with a Multi-Spectral Shield in a system with an ordinary star
To a total of 235, 275 in a Ion Storm.
I think multi-spectral shield is considered a cloacking part, so 175, 215 with an Ion Storm.

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#5 Post by LienRag »

The new Detection techs mostly raise the Detection Meter value at a rate of 20 by tech (like Detect_1 to 4 do), up to 300 for Omni-Scanner; and also the Detection range at a rate of 50 per tech (also like detect_1 to 4 do).

That allows for Stealth strategies to be used quite late-game, as advanced stealth ships do not suddenly become useless with (a relatively cheap for late middle-game) Omni-Scanner.

I mean, yes they become useless with the new Omni-Scanner, but the new Omni-Scanner requires so much investment than it doesn't come before end-game, if it comes at all (that is, nobody will research it if it's not necessary to win, which imho is a good thing).

At first I made each new Detection tech cost twice as the one before, but on testing it quickly lead to levels nearly unattainable especially with the nerf that Influence represents¹, so I used a x1,5 factor instead.

I haven't tested the new 1,5 factor though.

Obviously we don't want the new Detection techs to pursue the race towards more stealth with new Planet and Ship cloaking parts since the end goal is to make everything detectable with Omni-Scanner.

So I so far made only two of these new Detection techs unlock situational stealth techs, one that unlock the Neutron Flare building that raises stealth on the planet but can be built only in a planet on a system with a Neutron star, and another that gives a quite heavy stealth bonus on planets with a Temporal Anomaly.

Both, even in combination, should not put the maximum Planetary Stealth (5 basic, 80 from Void Rift, 40 from Laenfa, and 10 from Resonant Moon) above the 300 that Omni-Scanner can detect.

In the Neutron Flare FOCS file (below) the line "Activation = Star type = Neutron" raises an error when starting the game, so I had to comment it to be able to playtest the building.
Which means that it's technically possible to micromanage the production of this building on every planet on an Empire, using the Starlane Drive to move each planet to a system with a Neutron star then (if wanted) moving it back to its desired position.

Code: Select all

BuildingType
    name = "BLD_NEUTRON_FLARE"
    description = "BLD_NEUTRON_FLARE_DESC"
    buildcost = 250 * [[BUILDING_COST_MULTIPLIER]]
    buildtime = 10
    location = AND [
        Planet
        Not Contains Building name = "BLD_NEUTRON_FLARE"
        OwnedBy empire = Source.Owner
	Star type = Neutron
    ]
    EnqueueLocation = [[ENQUEUE_BUILD_ONE_PER_PLANET]]
    effectsgroups = [
        EffectsGroup
            scope = WithinDistance distance = 0.00001 condition = Source
            stackinggroup = "NEUTRON_FLARE_STEALTH_STACK"
            activation = Star type = Neutron
	    accountinglabel = "NEUTRON_FLARE_STEALTH"
            effects = SetStealth value = Value + 40

     
    ]
    icon = "icons/building/lighthouse.png"

#include "/scripting/common/enqueue.macros"
#include "/scripting/common/base_prod.macros"
I'm quite surprised by this error, as I took this line from the code of the Black Hole Power Generator, which obviously doesn't raise an error.

¹ On 4.10 it was interesting though, very heavy investment but not impossible to reach.
Attachments
NEUTRON_FLARE.focs.txt
(835 Bytes) Downloaded 70 times
STEALTH_6.focs.txt
(811 Bytes) Downloaded 62 times
STEALTH_5.focs.txt
(480 Bytes) Downloaded 66 times
DETECT_MAX.focs.txt
(720 Bytes) Downloaded 69 times
DETECT_12.focs.txt
(851 Bytes) Downloaded 68 times
DETECT_11.focs.txt
(848 Bytes) Downloaded 65 times

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#6 Post by LienRag »

Oberlus wrote: Fri May 14, 2021 4:13 pm
LienRag wrote: Fri May 14, 2021 3:51 pm
  • 80 when using the strongest Cloaking part
  • 60 with a Multi-Spectral Shield in a system with an ordinary star
To a total of 235, 275 in a Ion Storm.
I think multi-spectral shield is considered a cloacking part, so 175, 215 with an Ion Storm.
I believe that in my test games MSS and cloaking parts stacked, reaching more than 100 stealth in combination.
And imho it's quite good that they stack, it shouldn't be modified.

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Situational Stealth

#7 Post by Ophiuchus »

LienRag wrote: Fri May 14, 2021 4:16 pm I'm quite surprised by this error, as I took this line from the code of the Black Hole Power Generator, which obviously doesn't raise an error.
probably from an old version. the FOCS files are now case sensitive and attributes are lower-case (this simplified the parsing). So it should be enqueuelocation and not EnqueueLocation
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#8 Post by LienRag »

Ophiuchus wrote: Fri May 14, 2021 4:22 pm probably from an old version. the FOCS files are now case sensitive and attributes are lower-case (this simplified the parsing). So it should be enqueuelocation and not EnqueueLocation
Weirdly, this may be the reason, as now it parses. Thanks.
I did correct the case to make the file parse, but it seems that I did not de-comment the "activation" line after that so did not test the corrected FOCS file for the Activation condition.
The error was clearly marked to be in the activation line though, not the EnqueueLocation.

Ophiuchus wrote: Fri May 14, 2021 4:22 pm the FOCS files are now case sensitive and attributes are lower-case (this simplified the parsing)
Certainly not the readability though.

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#9 Post by LienRag »

LienRag wrote: Fri May 14, 2021 3:10 pm To balance it a little bit, here's another Ship part, the Gravitic Resonator, that removes some stealth in systems which contains Tiny and/or Small planets
A precision : the Gravitic Resonator, at least with the original formula, did not remove the stealth in systems where a small planet was itself too stealthy to be detected.
I don't know if this works as intended (I mean, by who developed planet stealth, not by me) or if this is a bug, nor do I know how I could make it work differently in FOCS (nor even if I should).

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#10 Post by LienRag »

I also experimented with this hull, a clone of the Protoplasmic Hull, that gets some stealth by diving underwater (so from Ocean planets, and secondarily from Terran and Swamp).

Code: Select all

Hull
    name = "SH_HYDROPLASMIC"
    description = "SH_HYDROPLASMIC_DESC"
    speed = 90
    fuel = 2
    NoDefaultFuelEffect
    stealth = 25
    structure = 5
    slots = [
        Slot type = External position = (0.75, 0.40)
        Slot type = External position = (0.65, 0.65)
        Slot type = Internal position = (0.55, 0.30)
        Slot type = Internal position = (0.45, 0.525)
        Slot type = Internal position = (0.35, 0.75)
    ]
    buildCost = 45 * [[FLEET_UPKEEP_MULTIPLICATOR]] * [[SHIP_HULL_COST_MULTIPLIER]]
    buildTime = 7
    tags = [ "ORGANIC_HULL" "PEDIA_HULL_LINE_ORGANIC" "AVERAGE_FUEL_EFFICIENCY" ]
    location = And [
        Contains And [
            Building name = "BLD_SHIPYARD_ORG_CELL_GRO_CHAMB"
            OwnedBy empire = Source.Owner
        ]
        Contains And [
            Building name = "BLD_SHIPYARD_ORG_ORB_INC"
            OwnedBy empire = Source.Owner
        ]
        Contains And [
            Building name = "BLD_SHIPYARD_BASE"
            OwnedBy empire = Source.Owner
        ]

        Contains And [
            Building name = "BLD_BIO_LAB"
            OwnedBy empire = Source.Owner
        ]
        OwnedBy empire = Source.Owner
    ]
    effectsgroups = [
        EffectsGroup
            scope = Source
            accountinglabel = "ORGANIC_GROWTH"
            effects = SetMaxStructure value = Value + ( min(Source.Age*0.5, 20) * [[SHIP_STRUCTURE_FACTOR]] )

 	 EffectsGroup
            scope = Source
            activation = ContainedBy And [
                System 
		Contains Planet
                
            ]
	    // stackinggroup = "HYDROPLASMIC_STACK // No stacking group as we want all water-containing planets in the system to affect the stealth 
            accountinglabel = "HYDROPLASMIC_STEALTH_LABEL"
            effects = SetStealth value = Value + 2 * (Statistic Sum value = LocalCandidate.SizeAsDouble condition = And [ Planet InSystem id = Source.SystemID Planet type= Terran ]) + 3 * (Statistic Sum value = LocalCandidate.SizeAsDouble condition = And [ Planet InSystem id = Source.SystemID Planet type= Swamp ]) + 5 * (Statistic Sum value = LocalCandidate.SizeAsDouble condition = And [ Planet InSystem id = Source.SystemID Planet type= Ocean ])

        [[AVERAGE_FUEL_EFFICIENCY]]
        [[ADD_HULL_FUEL_TO_MAX_FUEL_METER]]
        [[LIVING_HULL_EFFECTS_GROUPS]]
        [[SCAVANGE_FUEL_UNOWNED]]
        [[UNOWNED_BAD_VISION]]
        [[UNOWNED_MOVE]]
    ]
    icon = "icons/ship_hulls/hydroplasmic_hull_small.png"
    graphic = "hulls_design/hydroplasmic_hull.png"

#include "organic.macros"

#include "../ship_hulls.macros"

#include "/scripting/common/upkeep.macros"

I wanted to add diversity in the Situational Stealth by not just making another Internal part that adds stealth but this time for Ocean planets rather than Gas Giants, so I tried a hull.

I tested it and it works (also the corresponding unlocking tech).

Code: Select all

Tech
    name = "SHP_HYDROCELL_EXP"
    description = "SHP_HYDROCELL_EXP_DESC"
    short_description = "SHIP_HULL_UNLOCK_SHORT_DESC"
    category = "SHIP_HULLS_CATEGORY"
    researchcost = 90 * [[TECH_COST_MULTIPLIER]]
    researchturns = 4
    tags = [ "PEDIA_ORGANIC_HULL_TECHS" ]
    prerequisites = [
        "SHP_CONT_SYMB"
    ]
    unlock = [
        Item type = ShipHull name = "SH_HYDROPLASMIC"
    ]
    graphic = "icons/ship_hulls/hydroplasmic_hull_small.png"

#include "/scripting/common/base_prod.macros"

Though it would need multiplayer test to know if it's balanced (and even if it is a valuable addition to the game), as AI is very bad at using or countering stealth.

I nerfed its initial formula to reduce its detection range, for the same reason than for the VariablePressureNanoCoating in the first post.

The range reduction is for the hull in general, not specifically when it is in a system with Ocean, Terran and Swamp planets. Maybe I should add a big reduction in Swamp planets because of the muddy waters ? Is it a problem if DetectionRange goes negative ?

It should still be a valuable scout, I considered that there would be less situations giving it a huge stealth bonus than the ubiquitous Gas Giants so that it would be harder to play and easier to counter.

Also it comes later in the game than NanoCoating so it should be more difficult to produce a few scouts and just leave them in enemy territory than it would have for Symbiotic ships with nano-valves that would benefit from the Symbiotic stealth bonus to put themselves in Gas Giants and then would be undetectable for a while if their owner got Xenological Hybridization.

Again, if someone has counter-arguments, I'm all ear.

For the icons I just colored the Protoplasmic ones in blue using GIMP, but it's distinctive enough imho.
Attachments
hydroplasmic_hull_small.png
hydroplasmic_hull_small.png (37.41 KiB) Viewed 3552 times
hydroplasmic_hull.png
hydroplasmic_hull.png (685.78 KiB) Viewed 3552 times
SHP_HYDROCELL_EXP.focs.txt
(518 Bytes) Downloaded 65 times
SH_HYDROPLASMIC_HULL.focs.txt
(2.61 KiB) Downloaded 67 times

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#11 Post by LienRag »

Again in the same spirit, I created a tech that allows a building, Reticular Control Network, that gives some stealth to Huge planets (and secondarily to Large ones).
In order to avoid the spamming of these buildings, I had this building reduce Industry and cost some Influence.

The thing is, I had it on a test game, and neither the Tech nor the Building seem to appear in the game ?

The tech is nowhere in the Tech Tree, and when I search for the building in a Large planet, even by toggling "unavailable" I can't see the building anywhere ?


Here's the code for the Building :

Code: Select all

BuildingType
    name = "BLD_RETICULAR_CONTROL"
    description = "BLD_RETICULAR_CONTROL_DESC"
    buildcost = 50 * [[BUILDING_COST_MULTIPLIER]]
    buildtime = 10
    location = And [
        Planet
	Or [
	   Planet size = Huge
	   Planet size = Large
		]
        Not Contains Building name = "BLD_RETICULAR_CONTROL"
        OwnedBy empire = Source.Owner
	
    ]
    enqueuelocation = [[ENQUEUE_BUILD_ONE_PER_PLANET]]
    effectsgroups = [
        EffectsGroup
            scope = And [ 
		WithinDistance distance = 0.00001 condition = Source
		Happiness low = 10
			]
            stackinggroup = "BLD_RETICULAR_CONTROL_STEALTH_STACK"
	    accountinglabel = "BLD_RETICULAR_CONTROL_STEALTH"
		
                    
            effects = [
		SetStealth value = Value + 10 + (20 * Statistic If condition = Planet size = Huge)
		SetTargetInfluence value = Value - 1
		SetTargetIndustry value = Value - 2
			]
	]
	
    icon = "icons/building/lighthouse.png"

#include "/scripting/common/enqueue.macros"
#include "/scripting/common/base_prod.macros"
And the code for the Tech :

Code: Select all

Tech
    name = "RETICULAR_CONTROL"
    description = "RETICULAR_CONTROL_DESC"
    short_description = "BUILDING_UNLOCK_SHORT_DESC"
    category = "SPY_CATEGORY"
    researchcost = 10 * [[TECH_COST_MULTIPLIER]]
    researchturns = 4
    tags = [ "PEDIA_DETECTION_PART_TECHS" ]
    prerequisites = "CON_ARCH_PSYCH"
    unlock = Item type = Building name = "BLD_RETICULAR_CONTROL"
       
    graphic = "icons/tech/biomimesis.png"

#include "/scripting/common/base_prod.macros"
And the stringtables :

Code: Select all

BLD_RETICULAR_CONTROL
Reticular Control Network

BLD_RETICULAR_CONTROL_DESC
Decentralizing the production limits the visibility of buildings and activity on the planet, providing higher stealth.

BLD_RETICULAR_CONTROL_STEALTH
Decentralized Production 

RETICULAR_CONTROL
Reticular Control

RETICULAR_CONTROL_DESC
Allows the building of a decentralized, reticular, command and control network

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Situational Stealth

#12 Post by Oberlus »

LienRag wrote: Mon May 24, 2021 12:28 am The tech is nowhere in the Tech Tree
Is the tech unlocked somewhere?

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#13 Post by LienRag »

Oberlus wrote: Mon May 24, 2021 6:47 am
LienRag wrote: Mon May 24, 2021 12:28 am The tech is nowhere in the Tech Tree
Is the tech unlocked somewhere?
I'm not sure that I understand your question ?
I checked the Tech Tree by name, after toggling the view of all techs (locked, unlocked, complete etc.).

One correction to my earlier post : the building does appear now (I don't know if I didn't notice it earlier of if something changed) in the list of buildings when I toggle the "unavailable" view; and lists "not unlocked for empire" as the reason for being unavailable.

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Situational Stealth

#14 Post by Oberlus »

When you add a new tech to FO, you need to unlock it somewhere, either at start or by adding it to some "unlock" clause in a tech (or policy or building, I think), or it won't show up in the game.

User avatar
LienRag
Cosmic Dragon
Posts: 2148
Joined: Fri May 17, 2019 5:03 pm

Re: Situational Stealth

#15 Post by LienRag »

Oh, that.
I believe that for Techs it doesn't need to be unlocked by another object, it handles that through the "prerequisite" instruction ?

It worked for the other Techs that I created, and actually that's the reason why I created an unlocking Tech for each object that I created, to avoid having to modify existing FOCS files each time there's an update - I just put the new Tech in the right folder and it stays here even if I have to re-copy the updated Default folder.

Post Reply