Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: 1 ... 3 4 [5] 6 7

Author Topic: High Energy Focus - auto-deactivate would be nice  (Read 25345 times)

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24154
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #60 on: December 12, 2012, 07:58:49 PM »

So... what happened here? :) Is anyone that actually tried out the various versions able to share their findings?
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 5078
  • naively breaking things!
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #61 on: December 12, 2012, 08:08:21 PM »

Personally, I think my variant in Vacuum worked best; 100% more range, beam weapons only, damage reduced by 75%, beam weapons only, damage taken up 25%, no shield, toggle, very short up/down time, no Flux costs, can lose Hard Flux.

This turned HEF into an effective beam-only sniper system, situational but quite useful for engine sniping and early long-range PD vs. fighter rushes and Pilum spam; the AI used it quite effectively during early engagements and generally did not have too many issues with keeping it on at inappropriate times.  

It'd have been perfect for certain things if beams could do hard flux damage at all, but that'll have to wait for the patch.
Logged
Please check out my SS projects :)
Xeno's Mod Pack

LazyWizard

  • Global Moderator
  • Admiral
  • *****
  • Posts: 1365
    • View Profile
    • GitHub Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #62 on: December 12, 2012, 08:19:31 PM »

I have a few thoughts.

Quote
HEF variant 1: all flux generated is hard flux, +50% damage
HEF variant 2: all flux generated is hard flux, energy damage bonus based on flux (50-150%)
HEF variant 3: +50% range on energy weapons, +25% flux generated
HEF variant 4: beams get +50% range, other energy weapons get +50% damage, generate +50% flux
HEF variant 5: +50% damage, engines are disabled and ship slows to a halt quickly
HEF variant 6: +50% damage, halved shield efficiency
HEF variant 7: +50% damage, +50% flux generated
HEF variant 9: Energy damage bonus based on flux (up to 30%), range bonus based on flux (up to +70%), generates hard flux
HEF Variant 10: +50% damage, no flux dissipation, 30 sec cooldown
HEF Variant 11: constantly generates hard flux, 3% bonus to energy weapon range and damage per second the system is active, 10 second cooldown

For 1 and 2, I think having all flux be hard flux makes the system even more unwieldy than the current system, though unlike the current system it disadvantages all builds - just a bit too much. ;)

4 works, but the numbers might need tweaking.

5 was interesting. I think it could work well on a ship built around it (if you added a range bonus you could make a ship that fills the role of SC1's siege tank, great for defense orders), but not for the ships that have HEF right now.

9 and 11 were fun, but overpowered if you put any points into capacity. Though it was great to have a system that let you temporarily recreate the old Tachyon Lance. :)

I think I liked 7's basic DPS increase the most. It's a good way of front-loading damage, though it might work better if the flux generated was increased to +100% (right now there's no reason not to use it whenever you can). Sometimes simplicity is best.
Logged

Wyvern

  • Admiral
  • *****
  • Posts: 3803
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #63 on: December 12, 2012, 08:39:23 PM »

Oh hey.  This.  Yeah, I should poke at this, see what I think.  Got distracted.

(Thing about number 9, though: it was supposed to be a flat range bonus, not a percent range bonus, so it shouldn't have been a big deal for the tachyon lance.  Apparently that wasn't doable?  Eh.  I'll take a look at it this weekend at the latest.)
Logged
Wyvern is 100% correct about the math.

LazyWizard

  • Global Moderator
  • Admiral
  • *****
  • Posts: 1365
    • View Profile
    • GitHub Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #64 on: December 12, 2012, 08:51:59 PM »

Oh hey.  This.  Yeah, I should poke at this, see what I think.  Got distracted.

(Thing about number 9, though: it was supposed to be a flat range bonus, not a percent range bonus, so it shouldn't have been a big deal for the tachyon lance.  Apparently that wasn't doable?  Eh.  I'll take a look at it this weekend at the latest.)

Ah, I did change your concept. Sorry, that's an easy fix. Just replace data/shipsystems/scripts/HEFStats9.java with the following:

Code
package data.shipsystems.scripts;

import com.fs.starfarer.api.combat.FluxTrackerAPI;
import com.fs.starfarer.api.combat.MutableShipStatsAPI;
import com.fs.starfarer.api.combat.ShipAPI;
import com.fs.starfarer.api.plugins.ShipSystemStatsScript;
import data.scripts.plugins.CombatUtils;

public class HEFStats9 implements ShipSystemStatsScript
{
    public static final float MAX_RANGE_BONUS = 600f;
    public static final float MAX_DAMAGE_BONUS_PERCENT = 30f;
    private float rangeBonus, damageBonus;

    @Override
    public void apply(MutableShipStatsAPI stats, String id, State state, float effectLevel)
    {
        ShipAPI owner = CombatUtils.getOwner(stats);
        FluxTrackerAPI flux = owner.getFluxTracker();

        rangeBonus = MAX_RANGE_BONUS
                * (flux.getCurrFlux() / flux.getMaxFlux());

        stats.getBallisticWeaponRangeBonus().modifyFlat(id, rangeBonus);
        stats.getEnergyWeaponRangeBonus().modifyFlat(id, rangeBonus);

        damageBonus = MAX_DAMAGE_BONUS_PERCENT
                * (flux.getCurrFlux() / flux.getMaxFlux());
        stats.getEnergyWeaponDamageMult().modifyPercent(id, damageBonus);
    }

    @Override
    public void unapply(MutableShipStatsAPI stats, String id)
    {
        stats.getBallisticWeaponRangeBonus().unmodify(id);
        stats.getEnergyWeaponRangeBonus().unmodify(id);
        stats.getEnergyWeaponDamageMult().unmodify(id);
    }

    @Override
    public StatusData getStatusData(int index, State state, float effectLevel)
    {
        if (index == 0)
        {
            return new StatusData("weapon range +" + rangeBonus, false);
        }
        else if (index == 1)
        {
            return new StatusData("flux damage boost +" + (int) damageBonus + "%", false);
        }

        return null;
    }
}

Although I have to say, I don't like flat range bonuses. They benefit small weapons/frigates way too much. Advanced Optics only gives 1/4-1/3 the bonus you suggested, and it's already a lot of peoples' favorite hullmod - even with it now being most of the way up a not-very-useful skill tree. ;)

Of course, if there were a separate MutableStat for each weapon size, it would be a different story. :)
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 5078
  • naively breaking things!
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #65 on: December 12, 2012, 08:58:01 PM »

Code
	public static enum WeaponSize {
SMALL("Small"),
MEDIUM("Medium"),
LARGE("Large");

private String displayName;
private WeaponSize(String name) {
this.displayName = name;
}
public String getDisplayName() {
return displayName;
}
}
Dunno whether you can... hmm... seems like there should be a way to apply the mutable to single weapons once you have the list and the size, IDK, can't look at this in detail tonight...
« Last Edit: December 12, 2012, 09:00:55 PM by xenoargh »
Logged
Please check out my SS projects :)
Xeno's Mod Pack

Gothars

  • Global Moderator
  • Admiral
  • *****
  • Posts: 4403
  • Eschewing obfuscatory verbosity.
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #66 on: December 12, 2012, 09:01:32 PM »

For me the reason was that I wasn't particularly happy with any of them. I wanted to modify some systems but never came around to it.
Variant 10 is surprisingly the most interesting one, I think the cooldown has potential.  

HEF variant 1: all flux generated is hard flux, +50% damage
Good balance in a shield-up situation, but too powerful if they can stay down (if either you out-range the enemy or your armor is too thick for him, aka flyswatter mode). A standard Odyssey wont raise flux with HEF and shields down.


HEF variant 2: all flux generated is hard flux, energy damage bonus based on flux (50-150%)
interesting, but too hard to manage. overpowered since 50% basic damage bonus.


HEF variant 3: +50% range on energy weapons, +25% flux generated
boring. encourages staying out of range with shields down

HEF variant 4: beams get +50% range, other energy weapons get +50% damage, generate +50% flux


HEF variant 5: +50% damage, engines are disabled and ship slows to a halt quickly
Overpowered, almost no disadvantage for cruisers/caps.


HEF variant 6: +50% damage, halved shield efficiency
Totally overpowered

HEF variant 7: +50% damage, +50% flux generated
similar to variant 1

HEF variant 9: Energy damage bonus based on flux (up to 30%), range bonus based on flux (up to +70%), generates hard flux
In most situations this means that your range get greater if you go for a melee (to raise flux) where you don't need it.

HEF Variant 10: +50% damage, no flux dissipation, 30 sec cooldown
The cooldown is very interesting. It puts me in a conflict, I really want to keep my HEF on because it's so good and I can't use it again fast, but then I know that I should really turn it off now because my shields can overload any time. No flux dissipation takes that interesting decision away from me, though. So cooldown yay, no dissipation nay.

Maybe combine it with 1 or 7?


HEF Variant 11: constantly generates hard flux, 3% bonus to energy weapon range and damage per second the system is active, 10 second cooldown
This requires some weird tactic, hanging back and waiting for your system to charge. Don't like it.
Logged
The game was completed 8 years ago and we get a free expansion every year.

Arranging holidays in an embrace with the Starsector is priceless.

Thaago

  • Global Moderator
  • Admiral
  • *****
  • Posts: 7231
  • Harpoon Affectionado
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #67 on: December 12, 2012, 09:20:42 PM »

Blearg, haven't had a chance to test! Will tomorrow.
Logged

arcibalde

  • Admiral
  • *****
  • Posts: 1730
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #68 on: December 12, 2012, 11:41:37 PM »

I only tested this one (HEF 10), and AI do not use it well, it activate it immediately (i do not think he knows about cooldown) or in moment when he can't use it. I did try it myself and it build up flux extremely fast. So this is what i propose.

Lazy Wizard can you change this:
HEF Variant 10: +50% damage, no flux dissipation, 30 sec cooldown
to this
HEF Variant 10: +50% damage, shield ON in same time when it's activated and all time it's active (when deactivated shield turn off), 30 sec cooldown



Logged
Creator of:
Relics MOD - vanilla balanced - Campaign integrated
Vanilla addon MOD - vanilla balanced - Campaign integrated
Project ONI MOD - mission only

Gabrybbo

  • Lieutenant
  • **
  • Posts: 76
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #69 on: December 13, 2012, 03:08:58 AM »

I had an idea about another possible variant of the HEF:
Basically, I reduced the energy weapons range by 50% while giving them 50% more damage and adding 70% damage to shields.
Also, to counter the fact that PD is made nearly useless by the range reduction i gave beam weapons a flat 200 bonus to range (so only PD really benefits from it).

Basically, this forces the ships into close range if they want the 50% damage bonus, exposing them to easier overloads given the reduced efficiency of the shields.

Here's the code if you want to try it out:
Code
package data.shipsystems.scripts;

import com.fs.starfarer.api.combat.MutableShipStatsAPI;
import com.fs.starfarer.api.plugins.ShipSystemStatsScript;

public class HighEnergyFocusStats implements ShipSystemStatsScript {

public static final float DAMAGE_BONUS_PERCENT = 50f;
public static final float RANGE_MALUS_PERCENT = 50f;
public static final float EXTRA_DAMAGE_TAKEN_PERCENT = 70f;
//public static final float TURRET_SPEED_BONUS_PERCENT = 100f;
public static final int BEAM_RANGE_BONUS = 200;

public void apply(MutableShipStatsAPI stats, String id, State state, float effectLevel) {

float bonusPercent = DAMAGE_BONUS_PERCENT * effectLevel;
stats.getEnergyWeaponDamageMult().modifyPercent(id, bonusPercent);

float rangeMalusPercent = RANGE_MALUS_PERCENT * effectLevel;
stats.getEnergyWeaponRangeBonus().modifyPercent(id, -rangeMalusPercent);
stats.getBeamWeaponRangeBonus().modifyFlat(id, BEAM_RANGE_BONUS);

float damageTakenPercent = EXTRA_DAMAGE_TAKEN_PERCENT * effectLevel;
stats.getShieldDamageTakenMult().modifyPercent(id, damageTakenPercent);

//stats.getWeaponTurnRateBonus().modifyPercent(id, TURRET_SPEED_BONUS_PERCENT);
//stats.getBeamWeaponTurnRateBonus().modifyPercent(id, TURRET_SPEED_BONUS_PERCENT);
}
public void unapply(MutableShipStatsAPI stats, String id) {
stats.getEnergyWeaponDamageMult().unmodify(id);
stats.getEnergyWeaponRangeBonus().unmodify(id);
stats.getBeamWeaponRangeBonus().unmodify(id);
stats.getShieldDamageTakenMult().unmodify(id);
//stats.getBeamWeaponTurnRateBonus().unmodify(id);
//stats.getWeaponTurnRateBonus().unmodify(id);
}

public StatusData getStatusData(int index, State state, float effectLevel) {
float bonusPercent = DAMAGE_BONUS_PERCENT * effectLevel;
float damageTakenPercent = EXTRA_DAMAGE_TAKEN_PERCENT * effectLevel;
float rangeMalusPercent = RANGE_MALUS_PERCENT * effectLevel;
if (index == 0) {
return new StatusData("energy weapon damage +" + (int) bonusPercent + "%", false);
} else if (index == 1) {
return new StatusData("Energy weapon range -"+(int) rangeMalusPercent + "%", false);
} else if (index == 2) {
return new StatusData("Shield efficiency -" + (int) damageTakenPercent + "%", true);
}
return null;
}
}

I know, the numbers are not that balanced right now, but what do you think of the "less range, more damage dealt and received" idea? :)
Logged
...you can be assured that whatever comes out of the dev-oven will be fantastic and delicious. And it will also include frosting and sprinkles.

Wyvern

  • Admiral
  • *****
  • Posts: 3803
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #70 on: December 13, 2012, 09:56:24 AM »

Although I have to say, I don't like flat range bonuses. They benefit small weapons/frigates way too much. Advanced Optics only gives 1/4-1/3 the bonus you suggested, and it's already a lot of peoples' favorite hullmod - even with it now being most of the way up a not-very-useful skill tree. ;)

Of course, if there were a separate MutableStat for each weapon size, it would be a different story. :)

That was actually kindof the point - benefit things that were short-ranged more than things that were long-ranged.  Don't have to worry about it overly helping frigates - there aren't any frigates with HEF, and the only destroyer with HEF doesn't have any small slots.  Still, the numbers may be off; I was also assuming that you wouldn't want to run around with over half flux level, and thus the highest range bonuses would only be available when they weren't relevant.  Needs playtesting; it may be that +200 range at max flux would be a better call.

As noted, I'll play around with it this weekend.  Had a very busy week, haven't had a chance to do as much with Starfarer as I'd wanted to.  >.<
Logged
Wyvern is 100% correct about the math.

Gothars

  • Global Moderator
  • Admiral
  • *****
  • Posts: 4403
  • Eschewing obfuscatory verbosity.
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #71 on: December 13, 2012, 11:55:46 AM »

How about this combination:

- 30 sec cooldown
Spoiler
As said, makes you want to keep the HEF up as long as possible while other factors make you want to shut it off, resulting in an interesting conflict. Also really makes you consider when to activate it, since if you have to deactivate it again you might miss your chance to exploit an enemy weakness. Considerably reduces the actual system micromanagement the player has to do to play optimal (not necessary the thought he has to put in, though).
[close]

- 50% more flux production
Spoiler
This prevents the player from just storming into battle with HEF on. You have to get into a position where you have your flux under control, that means either you are in a melee and the enemy is venting/overloaded or you are out of distance. Still allows enough shield protection against escort ships etc., so the AI should not be too scared to use it I think.
[close]

- X% of incoming damage is dealt again as EMP damage.
Spoiler
You can put your shields down to stay longer in HEF, but it is dangerous, although not as dangerous as it is now since it's just temporary. On the other hand fighters and small ships are more dangerous, since the EMP can knock out your weapons even if their small weapons with the current 150% normal damage could not get through your armor, so the "flyswatter mode" is not so OP.  I'd assume the AI doesn't have to worry about this one too much, since it would avoid situations where the shields are lowered.
[close]

I would totally try to mod this myself, but I have no idea how this 30sec cooldown is implemented in the code.



BTW Alex, if you have a clear concept of the role the weapon should fill and are just looking for the best way how it can do that, please tell us what it is. There's been some confusion about what the intended role is (opportunistic good/bad? good for long range support/ good for melee?). It's easier to think in a specific direction than in too many at once.
Logged
The game was completed 8 years ago and we get a free expansion every year.

Arranging holidays in an embrace with the Starsector is priceless.

Thaago

  • Global Moderator
  • Admiral
  • *****
  • Posts: 7231
  • Harpoon Affectionado
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #72 on: December 13, 2012, 11:59:04 AM »

How about this combination:

- 30 sec cooldown
Spoiler
As said, makes you want to keep the HEF up as long as possible while other factors make you want to shut it off, resulting in an interesting conflict. Also really makes you consider when to activate it, since if you have to deactivate it again you might miss your chance to exploit an enemy weakness. Considerably reduces the actual system micromanagement the player has to do to play optimal (not necessary the thought he has to put in, though).
[close]

- 50% more flux production
Spoiler
This prevents the player from just storming into battle with HEF on. You have to get into a position where you have your flux under control, that means either you are in a melee and the enemy is venting/overloaded or you are out of distance. Still allows enough shield protection against escort ships etc., so the AI should not be too scared to use it I think.
[close]

- X% of incoming damage is dealt again as EMP damage.
Spoiler
You can put your shields down to stay longer in HEF, but it is dangerous, although not as dangerous as it is now since it's just temporary. On the other hand fighters and small ships are more dangerous, since the EMP can knock out your weapons even if their small weapons with the current 150% normal damage could not get through your armor, so the "flyswatter mode" is not so OP.  I'd assume the AI doesn't have to worry about this one too much, since it would avoid situations where the shields are lowered.
[close]

I would totally try to mod this myself, but I have no idea how this 30sec cooldown is implemented in the code.



BTW Alex, if you have a clear concept of the role the weapon should fill and are just looking for the best way how it can do that, please tell us what it is. There's been some confusion about what the intended role is (opportunistic good/bad? good for long range support/ good for melee?). It's easier to think in a specific direction than in too many at once.

There is a cooldown column in the .csv file :).

One question - what bonus does the above provide? +%damage?
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24154
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #73 on: December 13, 2012, 12:06:32 PM »

Thanks for the feedback and ideas, guys.

BTW Alex, if you have a clear concept of the role the weapon should fill and are just looking for the best way how it can do that, please tell us what it is. There's been some confusion about what the intended role is (opportunistic good/bad? good for long range support/ good for melee?). It's easier to think in a specific direction than in too many at once.

The initial intention was to enable quick high-damage strikes, with an associated risk to using the system.

For the Aurora, this means increasing its effectiveness in the "attack cruiser" role. For the Odyssey, that fits with its battlecruiser niche - exchanging protection for firepower. For the Sunder... well, whatever role it fills, it's supposed to be a bit of a "glass cannon" in it.
Logged

Gothars

  • Global Moderator
  • Admiral
  • *****
  • Posts: 4403
  • Eschewing obfuscatory verbosity.
    • View Profile
Re: High Energy Focus - auto-deactivate would be nice
« Reply #74 on: December 13, 2012, 12:06:59 PM »

There is a cooldown column in the .csv file :).

One question - what bonus does the above provide? +%damage?

Ah, there it is. Thanks :)

Yes, i was thinking of a simple damage bonus, flux dependent dmg has proofed itself too complicated and +range is somewhat useless/counter intuitive.
Logged
The game was completed 8 years ago and we get a free expansion every year.

Arranging holidays in an embrace with the Starsector is priceless.
Pages: 1 ... 3 4 [5] 6 7