Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - xenoargh

Pages: 1 2 3 [4] 5 6 ... 338
46
Suggestions / Re: Questline: Infinity
« on: June 05, 2023, 05:35:27 PM »
Deathloop With Fleets, lol.

47
Suggestions / Re: Automated Ships Rework
« on: June 05, 2023, 11:30:58 AM »
@Gothars:  I agree, it's odd. [REDACTED] in a fleet should cause, at the very least, inspections. One would think that having such things implies that one's been into forbidden areas, doing forbidden things, and should generate a pretty strong negative response from Hegemony and Luddite fleets, as well as driving Pathers crazy. Moreover, inspections that find AI in charge of these ships should cause pretty major diplomatic difficulties. If I'm understanding correctly, some new penalty's been introduced making AI ships less affordable when given AI for balance reasons? That seems like the wrong way to handle this. The problem with having [REDACTED] in your fleets should be that most Factions react badly to this, for obvious reasons, starting with, "you've freed them to continue their mission".

On Derelicts: IMO, they should be the shieldless armor-tank ships you want to use as meat-shields. As it stands, a lot of them are neither fish nor fowl; fairly weak with shields, weak without them. The only ones getting much praise are disposable missile carriers, and frankly every time I read that that meta remains the most-viable option, I cringe; it's Carrier spam all over again, taking away player-centric combat. I presume that's what players are finding Fun, but I don't like that much.

At any rate, to get to the point where they'd be generally useful, they'd need considerably more armor, so that the bigger ones can shrug off some serious hits. Perhaps they need extra-special auto-repair systems, so that they're really, really hard to stun-lock. I think making them the missile platform of choice is a mistake, though; they should be ships you plan to dump into the enemy's center of mass while you sneak more fragile direct-damage player-ships onto flanks, etc.

48
Will this change alter how quickly Advance() is called?

<laughs in multithreading>

For your designed-for Battle Sizes, keeping 60FPS (at 4K, with the caveat that it's running on a 5900X) is now 100% guaranteed over here w/ the current bells and whistles. I'm still trying to get it to reliably stay there for 1500, but the performance problems w/ Pieces and a few other things remain difficult.

49
A totally tubular tribe of triangular triremes.
AI Image Source Note: these images were all made with img2img prompts and Stablity AI's Stable Diffusion, using the model known as Dread_V3. Text prompts were probably something like, "((spaceship)) ironclad, ((aerial view)), pipes, rivets, panel lines, greebles, (((detailed and intricate))), rocket engines, jet engines, small details, dirt, hydraulics, hatches, struts, grunge, rust, oil stains, post-apocalyptic, low-tech, steampunk, dieselpunk, machinery".

Lore:
Spoiler
Again, due to time considerations, I'll have to keep it short. Descriptions go from left to right.

1. Challenger-class Dreadnought: a venerable design from the Late Midline period of warship development, the Challenger was, according to the Blueprint, initially conceived as a Rapid Response Vessel for the Domain's Frontier Defense Corps, and was largely automated. Unfortunately, most of this tech is no longer available off-the-shelf in the Persean Sector, so this ship has had extensive modifications made internally to support an enormous crew. While it isn't as fast as a Conquest, it boasts incredibly thick armor belts, a high-efficiency 120-degree arc shield, and enough power to keep slugging until most foes are radioactive scrap. Its System is highly unusual for a vessel of its size: it boasts a Space Dynamic Folding (SDF) device. This differs sharply from the more-advanced version used by the famed Hyperion-class frigates. It takes a huge amount of time to recharge, but can jump the ship nearly half again as far. Typically, this means that the Challenger can use it to either suddenly enter an engagement or to leave a fight it knows it cannot win. Despite not being very fast, this may sometimes allow the Challenger to suddenly change the tides of battle.

2. Neolith-class Heavy Cruiser: an unusual design from the Late Midline period. The Neolith carries a surprisingly-light armament for a vessel of its displacement, but makes up for it with the installation of Flux Shunts capable of drawing off enemy firepower. However, its most unusual aspect may be its System, which allows it to dump its Flux load directionally, pushing the vessel backwards rapidly. It's very hard to kill one.

3. Aeschylus-class Light Cruiser: a more typical example of Late Midline, this vessel boasts a high-efficiency shield, surprisingly-strong armor and a relatively-weak armament. It relies largely on a System that allows it to briefly distort local gravity at a nearby location of its choosing, which can be used to line up shots or even cause enemy vessels to ram one another.

4. Catafalque-class Destroyer: a well-rounded example of Late Midline design, the Catafalque delivers long-range fire support through its Medium Missile hardpoints while providing the unusual benefit of 360-degree turret rotation for its Medium Energy mount. With its System, that causes all hostile missiles within a wide radius to fail self-tests and detonate prematurely, it is an excellent addition to a fleet specializing in long-range combat and defensive firepower.

5. Cornwall-class Heavy Frigate: a robustly-armored ship with unusual, side-mounted missile hardpoints, decent mobility and an efficient shield, Cornwells are typically used in a fleet-defense role, supporting larger warships, rather than as attack vessels.

6. Razorback-class Battle Barge: The Razorback is a Pirate innovation. It came about when Pirates captured a Neolith whose Flux Shunt had been destroyed. After several years of secretive tinkering, the resulting Blueprint is a nightmare of poor design decisions that somehow added up to a vessel better than the sum of its conceptually-bereft parts. This ship is shieldless, but boasts almost as much armor as a Dreadnought, and has a System allowing it to rapidly close ranges with enemy vessels. Its three spinally-mounted Ballistics pound shields, while its Large Missile mounts allow it to dump depressing amounts of firepower into targets foolish enough to resist. Thankfully, it's so unreliable and prone to breakdowns that this remarkable combination of armor and firepower barely delivers.

7. Niobium-class Auto-Cruiser: a recent innovation in the Sector has been putting ships under fully autonomous control. However, most such vessels break Luddite and Hegemony law by requiring banned AIs. The Niobium was developed to circumvent these requirements. It requires exactly 6 crew; one for each watch, serving as "Captain", and providing all of the main tactical instructions, plus one more for Engineering oversight. Advanced, but not forbidden, AI tech takes care of the rest, resulting in a ship that's cheap to operate whilst boasting decent levels of firepower and a surprising level of shielding. Its biggest weakness is that using so much automation required sacrifices to armor everywhere; it can deliver a punch, but can't take one.

8. Titanium-class Auto-Cruiser: like the Niobium, this advanced vessel trades crew size for massive amounts of automation, without going beyond the limits set down in the Book of Ludd. This vessel is oriented largely towards pilots who prefer high speeds and aggressive tactics. The side pods both contain additional thruster modules for use during pursuit or attack runs, but also contain "Death Blossom" missile barrage systems that can end a fight shortly after it began, or clear an area of smaller vessels.

9. Beryl-class Auto-Destroyer: Thinking that the automation-that-isn't-illegal trend would become quite popular, Tritachyon (who originally helped develop the Niobium and Titanium classes for the Mercenary Exchange) has offered up a more conventional take with the Beryl-class. Beryls boast 8 Small Energy slots and four Small Missile hardpoints, making them surprisingly versatile, middle-of-the-road vessels. However, their big secret is located in the large pylon-mounted structures on each side. These allow the Beryl to convert all current Hard Flux into a pair of beams whose power and duration directly correspond to the Flux load being dumped. The beams do no damage to physical components, but effectively transfer Flux to other ships who have their shields engaged, often pushing them into Overload. This gives Beryl captains a risky but potentially devastating optional attack mode.
[close]

50
Discussions / Re: Now That's Entertainment!
« on: May 25, 2023, 11:50:57 AM »
Ok, fine, moose:

Spoiler
I actually have two stories about moose that are semi-amusing. Unfortunately, these both happened sans photos long ago.

1. On a trip to Isle Royale (a god-forsaken, black-fly-infested spot on Lake Superior that tourists like for some reason) with my family long ago, we all hopped out, got bitten by lots of flies, and ascended the paths to the hotel they have there for tourists stupid enough to want to get eaten alive (seriously, this was my least-favorite excursion ever- the lowlight was a four-hour fishing expedition where we caught nothing, I got seasick, and biting flies attacked us the entire time).

As we went up the pathway, suddenly, we found ourselves blocked by a moose calf. It was only 4' high at the shoulder or so.

We all stood there, a bit confused, and the moose just stood there, blocking the way. Eventually my dad set his bag down, walked up to it and shouted while waving his arms (this is a universal technique for communication with large mammals, apparently). The moose looked at him slightly curiously, but didn't move. Dad then walked closer and slapped its rump while shouting "go", and, after a pause, it took this suggestion and wandered off the path. Then it tried wandering back into the path in the way of my mother, and Dad chased the animal through the woods off the path for about a hundred yards, shouting at it good-naturedly.

This was my first up-close encounter with moose, and what I mainly realized is that they aren't very bright... or they're majestically unconcerned with little beings. I guess it's optional; other than humans, pretty much nothing eats them unless they're sick or very young. Bears and big cats and wolves don't like messing with them much, and Smilodon is long-gone.

2. A few years later, we were driving up the ALCAN Highway (which is apparently more pleasant now than it was back then, because back then it was mile after dreary mile of rough, graveled road).

The campgrounds on the ALCAN back then were a really weird place; the population was maybe half Ultra Redneck, add a bunch of Dippy Hippies, mix in a tiny smatter of middle-class people Having An Adventure, usually young wealthy people without kids.

I don't think I've ever seen a crowd quite like that ever since. You'd see a dozen folks exit three beat-up aluminum-sided trailers and then they'd either set out a case of beer or improbably colorful tarps covered with Grateful Dead paisley right next to Range Rovers with a couple that looked like a photo out of Lands End. Really, those groups had a lot more in common than not; they all liked beer, music around the campfire, getting up earlier than is natural, mean dogs and dirty children. The yuppies, naturally, kept to themselves unless they encountered others of their kind.

We rode our bikes in these places around out of sheer ennui; after 10 hours of nonstop gravel road, we were always a bit carsick and bored out of our minds (you can't even read on roads that bad, let alone play).

One evening, however, was interrupted by a full-grown moose cow. Fully 6' high at the shoulder, probably 1200 pounds of animal. She'd just casually wandered in, completely oblivious to all the humans making yapping noises around her. One of her calves wandered the periphery, so there were a lot of sudden cries from mothers to their kids to "get the heck away from her baby!", etc. I, of course, being dumb, was maybe 30 feet away from her, just sitting there on my janky Schwinn.

I'm still not quite what irked her- the humans yapping all around might have finally penetrated her skull, or maybe she'd just remembered which bog she was headed to next- but she suddenly made a turn and picked up speed, heading out of the camp. Problem was, there were three parked Harleys in her path, and me. Without even slowing down, she casually brushed against one of them and knocked them all on their sides before joining her calf and heading off. Thankfully, she passed 15 feet to my side on the way out, moving like an unstoppable force.

The Harley's owners, some tough-looking old guys who emerged from one of the agglomerations, laughed at their situation; luckily, these weren't giant Gold Wings and their saddlebags were off, so the damage done was relatively minor, other than needing to be put back on their kickstands. No blood was seen on the Harley, so everybody presumed the moose was unharmed by her misadventure. As for moose, that was the last time I saw one that close. In Alaska, I saw Kodiaks and elk and moose, but largely from safer distances or from within tour busses.

Anyhow, that's my moose story. I doubt I'll ever get around to seeing elephants or hippos in their natural environment, but moose are pretty impressive, in a sort of dull, mountainous way. You definitely get the impression that they simply don't give a hoot about humans, unlike all the apex carnivores. I've known a couple of people who've shot them, and apparently, moose isn't all that great to eat (imagine tough, gamey deer with very little flavorful fat, and that's moose) but apparently they're considered an important hunting species to manage, and one hopes that climate change doesn't erase them, so that tomorrow's kids may enjoy their majesty, if they can be bothered from looking up from their phones.
[close]

51
Discussions / Re: Now That's Entertainment!
« on: May 24, 2023, 01:01:04 PM »
You managed to hit a coyote with .22 rimfire three times and it didn't even break the skin? Sheesh.

Being coyotes, they probably traded vests and helmets for meth they've been cooking in the woods. I swear, if those suckers ever get opposable thumbs, we're all goners in about a month. They'll ride the deer and coopt the dogs; it'll be a much better movie than Cocaine Bear was*.

I'm afraid I don't have any stories as funny about encountering North American mammals. Although there was that one time with a moose... but who wants to talk about moose?


*Seriously? It was a movie that had been clearly Edited To Death, with writing and acting that failed to ever figure out what tone it was going for. Classic "made by committee" film. Sorry I wasted my family's time watching it; we were all dumber afterwards, lol.

52
Oops, forgot to upload that file, lol.

These came out of a couple of rounds of experiments. The squarish ones were using a base design somewhat vaguely based on the CSS Virginia. It was a fairly-immobile floating fort with guns, so that was kind of the concept. The blobby ones were from something I already had lying around, but with different prompts that produced interesting results for industrial / mining stuff.

The more boat-shaped ones were trying to capture the weird looks of the ironclad sailing vessels in the strange period before more modern-looking designs emerged.

53
General Discussion / Re: Venture Mk. II Ordo Farming
« on: May 20, 2023, 02:56:51 PM »
Everything about this post is hilarious. A Venture is the Pirate Falcon of 0.96, lol.

54
Fantastic!

Please do add turret positions, etc., (there's a template PSD file of those here, and here, you can use mine, no credit required) if you want it featured on the OPs.

Meanwhile... do you want a Faction that's kind of steampunk, dieselpunk and grimy? 

Here is the Ironclade:
AI Image Source Note: these images were all made with img2img prompts and Stablity AI's Stable Diffusion, using the model known as Dread_V3. Text prompts were probably something like, "((spaceship)) ironclad, ((aerial view)), pipes, rivets, panel lines, greebles, (((detailed and intricate))), rocket engines, jet engines, small details, dirt, hydraulics, hatches, struts, grunge, rust, oil stains, post-apocalyptic, low-tech, steampunk, dieselpunk, machinery".

Fluff, if you want it:
Spoiler
Because this is basically a whole Faction's-worth of ships, I'll have to be unusually brief.

The Ironclade are misfit miners who were out at the very edges of Domain space in the Perseus Sector when the Collapse occurred. Deep-space miners are a very hardy, cantankerous lot; the Ironclade's infamous for its taciturn nature, penny-pinching attitude about money, and ruthless business acumen.

Their ships reflect their environment: far from the safer lanes of Sector traffic, the Ironclade lives independently of the Core Worlds, and only interacts with them to trade and occasionally recruit Indies who appear to have the "right stuff". Their ships use pre-Domain tech that's very tough and easy to maintain.

All Ironclade ships are shieldless, but have very unusual levels of armor protection, making them dangerous opponents in a short engagement, but putting them at a severe disadvantage vs. long-ranged foes. Most ships of the Ironclade are equipped with rams and many of them can "dump V" to deliberately collide with opponents, often causing catastrophic damage in the process. Some Ironclade ships use Integrity Fields to greatly improve their overall protection, and many use Regenerating Neutronium armor technology, that allows them to gradually rebuild damaged armor plates with early-Domain nanotech. (Should anybody actually make them into a Faction, other than me, the Ironclade would have pretty obscene Armor values and come with some nifty Hull Mods for improving impact damage and survivability of pure-armor ships, as well as using nastier variations of Burn Drive to ram).

The Ironclade's main weakness in combat is their ships are inherently very mass-heavy compared to anything else in the Sector, and are hence rather sluggish compared to their Core Worlds counterparts, being slow to turn and reverse. So Ironclade tactics tend to be pretty simple, if effective: charge their ramming vessels in amongst their foes, using their broadside weaponry and ramming attacks, and get the job done before their armor is penetrated, while their support vessels hang back. The Ironclade eschew fighter-craft entirely, as they feel that the cost in valuable trainees is too high to justify the investment. Instead, many of their ships are armed with a variety of weapons designed to neutralize strikecraft.

Short descriptions of the ships, from left to right:

1. Livingstone-class Dreadnought: this huge, ungainly monster is rarely seen in Ironclade fleets. Only a handful are known to exist. The Livingstone-class has surprisingly-weak armament for a vessel of its scale, but boasts an incredible amount of armor- the outer hull alone is meters thick- and its System allows it to very briefly use the Travel Drive to rapidly cross a long distance without colliding with normal-space objects, allowing it to be tactically placed on the battlefield, or show up when it's not expected.

2. Knightsbridge-class Heavy Cruiser: a typical product of the Ironclade's military arm, this vessel strikes terror into Pirates everywhere. Utilizing a souped-up Burn Drive, the Knightsbridge can launch itself into an enemy fleet like a huge, armored torpedo, and then follow up with a blistering barrage of missiles and gunfire.

3. Clerkenwell Support Cruiser: the many ships of the Ironclade need support vessels to provide some long-range fire support, and the Clerkenwell provides this. Boasting a wide variety of Composite type weapons positions, it can be outfitted to either deliver large numbers of missiles, blistering long-range support gunfire, or a mix of both.

4. London-class Mining Rig. The heart of the Ironclade's fleets, the London-class, despite its ugliness, is a highly-utilitarian craft that combines the roles of fleet tender, mining vessel, cargo ship and fuel tanker. While its relatively poorly armed and lightly armored by Ironclade standards, it is dangerous enough to give a small pack of Pirates pause.

5 . Liverpool-class Support Platform: this unusual design complements the Clerkenwell in the support role. Boasting very thick armor and a multitude of heavy guns and equipped with a long-range targeting system, the Liverpool's main problem is its relative immobility when not dumping lots of Flux into its drives for a very brief burst of high speed. Typically these are dispatched into the center of a firefight, with the Clerkenwells performing a more traditional standoff role.

6. Dublin-class Fast Frigate Destroyer: the Dublin-class, while outgunned by many ships in the Core Worlds, is certainly capable of briefly out-damaging them, with its incredible array of 8 Medium Missile mounts running down its flanks. A relatively fast vessel, it can speed up for short periods while turning on a high-end Integrity Field system, allowing it ram even larger vessels with impunity or crush Frigates beneath its keel.

7. Bristol-class Destroyer: this vessel is much less swift and maneuverable than the Dublin, but has much more armor. Its distinctive "fanged" prow is designed for ramming, allowing internal boarding parties to attempt to take control over the enemy vessel.

8. Manchester-class Destroyer: perhaps the most typical of Ironclade designs, this vessel is often seen guarding trade fleet convoys during the long runs into the Core Worlds. Slow but heavy-hitting, its giant Composite mount allows it to mount weapons large enough to keep most Pirates at bay.

9. Birmingham-class Armed Freighter: filling a role roughly analogous to the Core Worlds' ubiquitous Mule, "the Birm" as it's usually called, is a tough little vessel with just enough weaponry and armor to keep it intact throughout long journeys in Hyperspace.

10. Sheffield-class Patrol Frigate: in the Ironclade space, these tough, dependable vessels are usually used as search-and-rescue ships, saving miners whose vessels have suffered damage or who need assistance against Pirates. There are faster and better-armed frigates in the Core Worlds, but everyone knows that these are perhaps the toughest and most reliable.

11. Nottingham-class Long Range Patrol Frigate: perhaps the strangest of Ironclade designs, the Nottingham was conceived as an, "if everything else fails" design. Using lifting-body glider principles that were ancient before the Domain was even considered, it can land on the most primitive of worlds, so long as it has an atmosphere. Easily maintained using simple technology, it can be cheaply deployed en masse. It is, compared to most Ironclade designs, both primitive and fragile; more akin to a Kite or a Wolf in terms of overall protection. But it's cheap and roomy enough inside for a small crew of new members of the Clade to learn the details of prospecting and exploration whilst being available for local military emergencies, should they arise.
[close]

55
+1 to that.

While I'm on this subject, Neutron systems should be more Fun.

Neutron systems are something I totally avoid until I'm already over the shark and into Silly; in my current testing run, I hit them now that I'm flying around with Mark Zuckerberg's bank account and literally don't care, other than being mildly triggered by unmarked places on the map. They feel like pointlessly dangerous places, with practically no jackpots of interesting gameplay to enjoy, and all of the "fun" of maybe losing all of my Supplies if I jump in and didn't save first. If I ever played Iron Mode in Vanilla, I'd not bother unless past Omega and using some dreadfully-optimaxed fleet designed to just explore.

1. Neutron stars should never have inhabitable worlds, worlds with farmland etc., for obvious reasons. But they should generate unusual numbers of worlds for mining Transplutonics with a high probability of +3 production.

2. There should be some ultimate Domain gimmick mechanic whereby if Player has <MacGuffin> they can build something that surrounds a Neutron star with barriers in exchange for a ridiculous amount of Refined Metal, making these systems potentially actually useful.

3. It'd be Fun if there was a Hull Mod that allowed players to dip into Neutron Star streams and trade Supplies for Fuel in a real hurry. Something about harnessing all that energy in Nature's biggest particle accelerators or something.

4. It'd also be Fun if there was a Hull Mod that allowed players to "sail" with them, being pushed but safely, that allowed them to reach phenomenal velocities or something. IDK what fun could be had there, but it seems like there's an opportunity.

5. Neutron stars should have more than their fair share of Domain fleets / artefacts. Something about how the Von Neumann devices got fried by the constant exposure to neutrinos, and just stuck around in their default mode- replicating. I think it'd be pretty amusing to enter one of these Systems in search of treasure and possible danger ("Captain, we have a 1500-DP Domain drone fleet off the portside bow? Now what?"  "Oh, never fear, me hearties, I've been saving up all my slow-kiting skillz for this, tee hee").

56
Suggestions / Re: Regenerative armor.
« on: May 18, 2023, 10:16:44 AM »
Vacuum's a really, really early mod I built, back at the beginning of time. It had a bunch of features that are now part of the standard game or are still not available <shakes fist at lack of asteroid mining and invasion mechanics>.

Anyhow, yes, you'd want to adjust those numbers and:

Add something like this line to your hull_mods.csv, which you can edit with Notepad or any other text editor:

(ARM) Armor Regeneration,armor_regeneratingarmor,2,,,defensive,Defenses,10000,,,,4,8,12,16,data.hullmods.RegeneratingArmor,Allows this ship to regenerate %s of its armor in each damaged armor cell every second.,Armor regenerates slowly.,graphics/hullmods/armor_regeneration.png,,

You'll also need to put the icon into the graphics/hullmods/ folder of your mini-mod- see attachment. That should make it fully functional. 

Meanwhile I've done a little more testing and code cleanup:
Spoiler
package data.hullmods;

import com.fs.starfarer.api.Global;
import com.fs.starfarer.api.combat.ArmorGridAPI;
import com.fs.starfarer.api.combat.BaseHullMod;
import java.util.HashMap;
import java.util.Map;

import com.fs.starfarer.api.combat.ShipAPI;
import com.fs.starfarer.api.combat.ShipAPI.HullSize;
import com.fs.starfarer.api.util.IntervalUtil;
//import org.apache.log4j.Level;

public class RegeneratingArmor extends BaseHullMod {

   private final static Map<HullSize,Float> MAG = new HashMap();

   private int maxX;
   private int maxY;
   private float maxArmor;
   private boolean hasCalculatedCellArmorYet = false;
   
   static {
      MAG.put(HullSize.FIGHTER, 7f);   
      MAG.put(HullSize.FRIGATE, 7f);
      MAG.put(HullSize.DESTROYER, 4f);
      MAG.put(HullSize.CRUISER, 2.5f);
      MAG.put(HullSize.CAPITAL_SHIP, 2f);
   }
   private final IntervalUtil fastTracker = new IntervalUtil(0.9f, 1.1f);
   
    @Override
    public String getDescriptionParam(int index, HullSize hullSize) {
      return "" + MAG.get(hullSize) + "%";      
    }
      
   private void calcGridSizeAndArmor(ShipAPI ship, ArmorGridAPI grid){
      maxX = grid.getLeftOf() + grid.getRightOf(); 
      maxY = grid.getAbove() + grid.getBelow();
      maxArmor = grid.getMaxArmorInCell();
   }

    @Override
    public void advanceInCombat(ShipAPI ship, float amount)
    {         
      if (ship == null || Global.getCombatEngine().isPaused() || ship.isHulk() || ship.isPiece()) return;
      if(!hasCalculatedCellArmorYet){
         calcGridSizeAndArmor(ship, ship.getArmorGrid());
         hasCalculatedCellArmorYet = true;
      } else {
         fastTracker.advance(amount);
         if(fastTracker.intervalElapsed())
         {
            float armorToFix = MAG.get(ship.getHullSize());
            ArmorGridAPI grid = ship.getArmorGrid();
            for(int gridX = 0; gridX < maxX; gridX++) 
            { 
               for(int gridY = 0; gridY < maxY; gridY++)
               {
                  float armValue = grid.getArmorValue(gridX, gridY);
                  if(armValue < maxArmor){
                        armValue += (maxArmor * (armorToFix*0.01f));
                        grid.setArmorValue(gridX, gridY, Math.min(maxArmor,armValue));
                  }
               } 
            }
            fastTracker.randomize();
         }
      }
    }
}
[close]

These values work a bit better overall to reflect the big differences in Armor values for some things in my private mod. As for being a Luddite, well, everybody's gotta start somewhere!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 


57
Suggestions / Re: Storm Needler needs a rebalance
« on: May 17, 2023, 06:45:21 PM »
That'd be an interesting solution; it'd be vaguely able to kite Paragons without committing suicide, sometimes.

Note: I'm not advocating for the precise stat-line above; Rebal's ships have a lot more tools for dealing with Flux than Vanilla, and ships in general are tougher, so a 3:1 ratio's probably too high. But it should be net-positive on Flux trades, even after taking miss-rates into account, or have enough range to actually pose a kiting threat, etc.

58
Suggestions / Re: Regenerative armor.
« on: May 17, 2023, 06:39:09 PM »
Non-silly answer: I've got old code from Vacuum that worked, but was a bit of a mess; I've just modernized it:

Spoiler
package data.hullmods;

import com.fs.starfarer.api.Global;
import com.fs.starfarer.api.combat.ArmorGridAPI;
import com.fs.starfarer.api.combat.BaseHullMod;
import java.util.HashMap;
import java.util.Map;

import com.fs.starfarer.api.combat.ShipAPI;
import com.fs.starfarer.api.combat.ShipAPI.HullSize;
import com.fs.starfarer.api.util.IntervalUtil;
import org.apache.log4j.Level;

public class RegeneratingArmor extends BaseHullMod {

   private final static Map<HullSize,Float> MAG = new HashMap();

   private int maxX;
   private int maxY;
   private float maxArmor;
   private boolean hasCalculatedCellArmorYet = false;
   
   static {
      MAG.put(HullSize.FIGHTER, 10f);   
      MAG.put(HullSize.FRIGATE, 10f);
      MAG.put(HullSize.DESTROYER, 8f);
      MAG.put(HullSize.CRUISER, 6f);
      MAG.put(HullSize.CAPITAL_SHIP, 5f);
   }
   private final IntervalUtil fastTracker = new IntervalUtil(0.9f, 1.1f);
   
    @Override
    public String getDescriptionParam(int index, HullSize hullSize) {
      return "" + MAG.get(hullSize) + "%";      
    }
      
   private void calcGridSizeAndArmor(ShipAPI ship, ArmorGridAPI grid){
      maxX = grid.getLeftOf() + grid.getRightOf(); 
      maxY = grid.getAbove() + grid.getBelow();
      maxArmor = grid.getMaxArmorInCell();
   }

    @Override
    public void advanceInCombat(ShipAPI ship, float amount)
    {         
      if (ship == null || Global.getCombatEngine().isPaused() || ship.isHulk() || ship.isPiece()) return;
      if(!hasCalculatedCellArmorYet){
         calcGridSizeAndArmor(ship, ship.getArmorGrid());
         hasCalculatedCellArmorYet = true;
      } else {
         fastTracker.advance(amount);
         if(fastTracker.intervalElapsed())
         {
            float armorToFix = MAG.get(ship.getHullSize());
            ArmorGridAPI grid = ship.getArmorGrid();
            for(int gridX = 0; gridX < maxX; gridX++) 
            { 
               for(int gridY = 0; gridY < maxY; gridY++)
               {
                  float armValue = grid.getArmorValue(gridX, gridY);
                  if(armValue < maxArmor){
                        armValue += (maxArmor * (armorToFix*0.01f));
                        grid.setArmorValue(gridX, gridY, Math.min(maxArmor,armValue));
                  }
               } 
            }
            fastTracker.randomize();
         }
      }
    }
}

[close]
It'll probably work as written, but I haven't tested it yet. Nope, needed a rewrite because I wanted it to use a percentage, lol. Appears to work just fine now. Warning: not at all balanced in its current form; it'll feel a bit underwhelming w/ Vanilla values, especially on small weak things with thin Armor, but I'm probably going to have to nerf it over here, where armor's generally heavier and a bunch of mods may impact the final value, resulting in immortal ships.

I'd forgotten how much I liked that feature, tbh, thanks for reminding me to check all the weird Hull Mod code I wrote back then.

59
Suggestions / Re: Storm Needler needs a rebalance
« on: May 17, 2023, 03:45:10 PM »
Storm Needler is awful, always has been.

For 10 OPs more than competitors that do more real damage to armor, plus using up a Large Ballistic slot, it should be considerably more effective.
Spoiler
Current stat-line for the weapon in Rebal:
Storm Needler,multineedler,3,,15000,800,,750,,20,15,28,,,,KINETIC,250,,0,3,3,0.05,6.8,6.8,,,,800,,,20,,,,kinetic19, remnant, base_bp,,,,Anti Shield,,,,,,,,,,50,####,,1.014675531      

Note: this weapon fires a burst of shotgun-type projectiles that do equivalent total damage (i.e., 750 total Kinetic, but each small shot actually does 50, and the pattern spreads quite a lot). So its armor-killing potential is quite a lot lower than other things, and it's somewhat lousy against small, fast targets, but it does what it says on the tin against big things, rather than being too weak for most uses, let alone letting the AI use one.

The long windup, uninterruptable burst fire, mediocre accuracy and relatively-slow turning speed largely balance with the high Flux-to-DPS ratio.

At 800 range, users must generally get closer than is safe, which has always been one of the reasons why the current version is balanced incorrectly; it can't kite and stay even moderately efficient, even mounted on a Conquest that's doing a broadside while using Maneuvering Jets, unless the opponent is equipped very poorly for range, so the Conquest is taking return fire.

At the very least, Vanilla's version should have a much better efficiency, since it misses quite a lot, or be bumped to 1000 range, where it'd make a credible kiting weapon but be relatively inefficient because of misses- probably not a whole lot better than a Beam, vs. an opponent with Shield Mastery. For everybody who's going to go "1500 vs. shields for 250 Flux is OP"... nah, this thing's still not great at anything but its job, which is shield-killing. 50 Kinetic barely polishes the surface of anything with real armor, but it makes the weapon capable of bursting down a Paragon if the opponent is lucky enough to survive long enough to get into range.

Anyhow, that's my take. It's one of those weapons where it's so obviously bad I'm always kind of amused when I see attempts to make it work anywhere but very selective Sim runs, lol.
[close]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

60
Tried out latest build.

1. The alphabetical-sort method for JSON entries feature works for Hull Mods (although it skips anything between parentheses in testing). I think this feature should be TRUE by default; this is extremely useful, when dealing with an enormous list of Hull Mods.

This feature would be extremely nice to have for weapons as well!

However, it has a minor bug: when you switch Variants, it reverts to the old behavior.

Even worse... once it's reverted, it doesn't go back. Whatever's going on there is a bit obscure; I've tried a couple of things to see whether it can be fixed, to no avail.

Aha! it appears that it's attempting to write to the config file in between operations- i.e., when switching between Hull --> Variant or Variant --> Variant. Setting that file to read-only causes a crash. It really should be just reading that file once, and not changing values there during operation, imo.

2. The feature "fighter_bay_mods" is a little obscure, and probably should have the hullmod "converted_hangar,1". I eventually figured it out.

3. The "mod_dirs" JSON section keeps getting duplicate entries in it, e.g.:

"C:\\Users\\username\\Desktop\\SS_MOD_DIRECTORY\\mods\\MOD_NAME/",
"C:\\Users\\username\\Desktop\\SS_MOD_DIRECTORY\\mods\\MOD_NAME/",
"C:\\Users\\username\\Desktop\\SS_MOD_DIRECTORY\\mods\\MOD_NAME/",

4. What happened to the source? There isn't a link to GitHub; if you disappear tomorrow, how will we maintain the code? Not that compiling that was ever "fun", given what it was written with. I really kind of wish we'd ported this to something more modern / maintainable like GameMaker Studio, lol.

5. Took a further look at the alpha-sort issue w/ Hull Mods.

It's alphabetizing off of the wrong data field in the CSV. It should be sorted by the "name" field, not the "id" field. The ids are arbitrary and have nothing to do with the names, but the names are what we're selecting by in the user interface. For example, the first entry is "Shield Conversion (Omni)" because the id is "adaptiveshields", even though it hasn't been called "Adaptive Shields" even in Vanilla for years now.

Pages: 1 2 3 [4] 5 6 ... 338