Improving the Gray Goo Armor ( Nova )

Renurb

Well-Known Member
Nov 7, 2023
61
13
The Gray Goo Armor (GGA) hasn't been upgraded in a while and Adjatha explained to me the reasons why new large upgrades are unlikely, so I scrapped my Double-Goo based idea for improving the armor with a sidegrade from Azra’s Tarkus exploration.

Instead I'd like to suggest a tweaking of some Gray Goo stats. My reasoning is simple; it’s my favorite armor and it’d be a shame for such a Good Goo Girl to go to waste in the final stretch of the game’s development; I thought I may as well contribute a little to a game and dev-group that I’ve been following since it was in Flash.

The adjustment I thought to suggest was regarding the Helmet ability which appears after the GGA comes into contact with a Lvl 5 PC wearing an airtight suit of armor (Ex. Atma Armor). The helmet is supposed to give an air-tight flag that reduces the impact of gaseous attacks on the PC. While I haven’t seen it significantly impact test fights I’ve tried against pheremone-based teasing and the like, I assume the flag is functional. However more importantly, a helmet being deployed decreases GGA defense by 2.

Given it’s largely cosmetic value this makes such an armor option unattractive to use compared to other defense lowering armor modifications (like the swimsuit and so on) which at the very least serve a purpose to raise exhibition and/or sexiness. A helmet ought to INCREASE defense since it protects the face and head from attacks. So this + an airtight flag could be changed to raise defense by 1 and resolve by 1 and for the sake of balance reduce sexiness by 2, as it hides the face from the hostiles faced.

If anyone has similar stat adjustment ideas, please post them. I only hope a Dev can see this and be amenable to a (relatively) minor adjustment of the code.


 
Last edited:

Isharon

Well-Known Member
Jun 15, 2019
53
14
44
GGA is my favorite armor too (I use her all the time regardless of whatever better armors i might have. Its not all about stats after all!). The helmet seems to reduce defense because it takes away material from rest of armor, and honestly, I feel like the defense reduction is relatively minor, but yeah, maybe it could be slightly less for that sexiness reduction.
There might be some minor improvement slots too... Maybe a bigger storage for medical charge? Or some further flags from different items... I really wish It was the 'Best armor if you put in sufficient effort'. I get the gearing thing, but myself, I don't care much about it, would prefer something a little more personal instead. And in the end I guess it doesnt have to be 'the best' armor but it would be nice if it had upgrades to make it competetive with top tier armors, whatever they currently are. Considering that with psionic warrior 'no weapon' is one the best weapons once you max your relevant stats...
 
Last edited:

Renurb

Well-Known Member
Nov 7, 2023
61
13
GGA is my favorite armor too (I use her all the time regardless of whatever better armors i might have. Its not all about stats after all!). The helmet seems to reduce defense because it takes away material from rest of armor, and honestly, I feel like the defense reduction is relatively minor, but yeah, maybe it could be slightly less for that sexiness reduction.
There might be some minor improvement slots too... Maybe a bigger storage for medical charge? Or some further flags from different items... I really wish It was the 'Best armor if you put in sufficient effort'. I get the gearing thing, but myself, I don't care much about it, would prefer something a little more personal instead. And in the end I guess it doesnt have to be 'the best' armor but it would be nice if it had upgrades to make it competetive with top tier armors, whatever they currently are.
Yeah. GGA is my favorite for how multi-functional it is tbh and how much it helps keep my inventory clean + it's a bubbly fun companion!

- Heal injuries, cure STDs and remove parasites: Meaning that if you're far from a medical station you can remove an STD or parasite when you want

- Protect from the cold and which can be toggled on and off to access blackout scenes on Uveto (means I don't have to constantly keep supplies of Heating Belts or other heating systems, or constantly abuse healing items to prevent freezing damage from taking me out)

- Do cum absorption/cleaning/sealing without a character having to become a goo creature through Galomax abuse or save-editing.

This saves me like 3-4 inventory slots worth of item space and the blurbs ad interactions are fun.
 
  • Like
Reactions: Emerald and Isharon

Isharon

Well-Known Member
Jun 15, 2019
53
14
44
I've got an idea, maybe grey goo could consume armors to upgrade or something? That way, you still technically need to buy new gears, even if it goes into upgrading an old armor.
 

Renurb

Well-Known Member
Nov 7, 2023
61
13
Theoretically a good idea, but as I said on the other servers even as a complete novice at coding I recognize the herculean task it would be to rewrite the code of an armor for it to combine with another armor. Especially an armor/interactable NPC. You'd have to write each armor being consumed separately as each one is a unique interaction and you'd have to have a specific set of "if [X] = Y, then Z, if not then [placeholder]" interactions, in which you'd have to also take into account the specific order of armors you "absorb". A cool idea, but almost impossible to replicate without a professional, full-time Dev Team.
 

Isharon

Well-Known Member
Jun 15, 2019
53
14
44
Theoretically a good idea, but as I said on the other servers even as a complete novice at coding I recognize the herculean task it would be to rewrite the code of an armor for it to combine with another armor. Especially an armor/interactable NPC. You'd have to write each armor being consumed separately as each one is a unique interaction and you'd have to have a specific set of "if [X] = Y, then Z, if not then [placeholder]" interactions, in which you'd have to also take into account the specific order of armors you "absorb". A cool idea, but almost impossible to replicate without a professional, full-time Dev Team.
When you say it like that it sounds complex. My idea was to just have the armor have tiers, and consuming a certain tier would upgrade GGA to that preset tier of stats and stuff. Absorbing could be generic.
 

Renurb

Well-Known Member
Nov 7, 2023
61
13
When you say it like that it sounds complex. My idea was to just have the armor have tiers, and consuming a certain tier would upgrade GGA to that preset tier of stats and stuff. Absorbing could be generic.
It sounds logical but as Gedan said, apparently even editing basic stats like defense and so on is complex for the GGA since it's a dynamic armor as is. If you look at the Github code link I have in the OP you'll see what I mean. There's like 37 mentions of the word "Helmet" alone.
 

Isharon

Well-Known Member
Jun 15, 2019
53
14
44
It sounds logical but as Gedan said, apparently even editing basic stats like defense and so on is complex for the GGA since it's a dynamic armor as is. If you look at the Github code link I have in the OP you'll see what I mean. There's like 37 mentions of the word "Helmet" alone.
Crazy.
 

Renurb

Well-Known Member
Nov 7, 2023
61
13
Having looked at the Raw Data for the GGA I think I found the part that determines the helmet causing a loss of defense.
Code:
if(airtight != pc.armor.hasFlag(GLOBAL.ITEM_FLAG_AIRTIGHT))
    {
        if(pc.armor.hasFlag(GLOBAL.ITEM_FLAG_AIRTIGHT))
        {
            msg += "<b>Your suit is now airtight!</b>";
            if(defToggle)
            {
                msg += " However, the armor displaced to form a helmet will make your suit a little weaker in combat.";
                pc.armor.defense -= 2;
            }
        }
        else
        {
            msg += "<b>Your suit is no longer airtight!</b>";
            if(defToggle)
            {
                msg += " The exclusion of a helmet will make your suit more armored in combat now.";
                pc.armor.defense += 2;
            }

By changing this to

Code:
if(airtight != pc.armor.hasFlag(GLOBAL.ITEM_FLAG_AIRTIGHT))
    {
        if(pc.armor.hasFlag(GLOBAL.ITEM_FLAG_AIRTIGHT))
        {
            msg += "<b>Your suit is now airtight!</b>";
            if(defToggle)
            {
                msg += " The armor helmet will increase protection and resolve but reduces sexiness in combat.";
                pc.armor.defense += 1; pc.armor.sexiness -= 2; pc.armor.resolve += 1;
            }
        }
        else
        {
            msg += "<b>Your suit is no longer airtight!</b>";
            if(defToggle)
            {
                msg += " The exclusion of a helmet will make your suit less armored in combat now, but shows your pretty face.";
                pc.armor.defense += 0; pc.armor.sexiness += 2; pc.armor.resolve += 0;
            }

At least that's how I think it should parse to, but I'm a complete novice to coding.
 
Last edited:

Renurb

Well-Known Member
Nov 7, 2023
61
13
The way you've currently written it, toggling defense will result in a net +1 Defense and Resolve every two toggles; the two += 0's in the second one should be -= 1's to properly reverse the +1's from the opposite toggle.
I see. I was trying to adjust for the fact that the helmet reduces base defense by 2, and so returns to a 0 reduction of defense when turned off, but in reverse (defense goes up and then drops back to normal 6 (or 8 if the Ganrael is met) but I see why that wouldn't work with the toggle-function.

Code:
if(airtight != pc.armor.hasFlag(GLOBAL.ITEM_FLAG_AIRTIGHT))
    {
        if(pc.armor.hasFlag(GLOBAL.ITEM_FLAG_AIRTIGHT))
        {
            msg += "<b>Your suit is now airtight!</b>";
            if(defToggle)
            {
                msg += " The armor helmet will increase protection and resolve but reduces sexiness in combat.";
                pc.armor.defense += 1; pc.armor.sexiness -= 2; pc.armor.resolve += 1;
            }
        }
        else
        {
            msg += "<b>Your suit is no longer airtight!</b>";
            if(defToggle)
            {
                msg += " The exclusion of a helmet will make your suit less armored in combat now, but shows your pretty face.";
                pc.armor.defense -= 1; pc.armor.sexiness += 2; pc.armor.resolve -= 1;

Would this be more correct?
 

Renurb

Well-Known Member
Nov 7, 2023
61
13
Yay, finally I'm starting to figure this out a little. How much of the code and text do you think I'd have to re-write for a submission? I downloaded the RAW data for the GGA to work on?
 

Wafflesnake

Well-Known Member
Nov 4, 2023
347
92
23
How much of the code and text do you think I'd have to re-write for a submission?
coding is not required for a submission. you would just need to describe what needs to be coded. however, since this is a balance related change and the team handles the final balance pass, you would most likely have to justify the change since this is what they determined to be balanced when it was added.
 
  • Like
Reactions: Renurb

Renurb

Well-Known Member
Nov 7, 2023
61
13
coding is not required for a submission. you would just need to describe what needs to be coded. however, since this is a balance related change and the team handles the final balance pass, you would most likely have to justify the change since this is what they determined to be balanced when it was added.
Yes, that's why I wanted to at least code an example as part of the proposal, as I want to understand it's intricacies and properly justify my suggestion, rather than just shout ideas out or be unconstructive.