Git Product home page Git Product logo

kingmakerturnbasedcombatfix's People

Contributors

spacehamster avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar Max Savenkov avatar

kingmakerturnbasedcombatfix's Issues

Allow corrections to movement

with the old TB mod, you were able to make movement adjustments... like: you started walking into the blue, saw an opponent and could change the direction. Now with the new mode, you click on your destination and your char walks there, no correction allowed. Note corrections are already allowed in the case of traps being detected.

Edit: Base game allows corrections with escape key. Allow for selecting a new destination while moving

Show obstacles in path when attempting to charge.

A clear path looks like this

image

When the target is blocked by obsticles, no indication is shown for the reason why charge is unavailable

image

Also, why is this a valid charge:

image

but this is not a valid charge

image

Confusion buff doesn't work in Turn Based

As title. Enemies that receive this buff do not ever waste their turn doing nothing, attack nearest ally, or poke themselves. They do lose their attacks of opportunity though. It is unclear to me why this behavior occurs since this block in the UnitConfusionController seems like attention was paid to this circumstance.

protected override void TickOnUnit(UnitEntityData unit)
{
if (CombatController.IsInTurnBasedCombat())
{
if (unit.IsCurrentUnit())
{
UnitPartConfusion unitPartConfusion = unit.Get();
if ((bool) (UnitPart) unitPartConfusion && unitPartConfusion.RoundStartTime < Game.Instance.TimeController.GameTime)
{
unitPartConfusion.Cmd?.Interrupt(true);
unitPartConfusion.RoundStartTime = TimeSpan.Zero;
}
}
else if (!CombatController.IsPassing() || unit.IsInCombat)
return;
}
if (unit.Descriptor.State.HasCondition(UnitCondition.Confusion) || unit.Descriptor.State.HasCondition(UnitCondition.AttackNearest))
{
UnitPartConfusion part = unit.Ensure();
bool flag = !unit.CombatState.HasCooldownForCommand(UnitCommand.CommandType.Standard);
if (Game.Instance.TimeController.GameTime - part.RoundStartTime > UnitConfusionController.RoundDuration & flag)
{
RuleRollDice ruleRollDice = Rulebook.Trigger(new RuleRollDice(unit, new DiceFormula(1, DiceType.D100)));
int num = unit.Descriptor.State.HasCondition(UnitCondition.AttackNearest) ? 100 : ruleRollDice.Result.Value;
part.State = num >= 26 ? (num >= 51 ? (num >= 76 ? ConfusionState.AttackNearest : ConfusionState.SelfHarm) : ConfusionState.DoNothing) : ConfusionState.ActNormally;
if (part.State == ConfusionState.ActNormally)
part.ReleaseControl();
else
part.RetainControl();
part.RoundStartTime = Game.Instance.TimeController.GameTime;
part.Cmd?.Interrupt(true);
part.Cmd = (UnitCommand) null;
}
if (part.Cmd != null || !unit.Descriptor.State.CanAct || part.State == ConfusionState.ActNormally)
return;
if (flag)
{
switch (part.State)
{
case ConfusionState.DoNothing:
part.Cmd = UnitConfusionController.DoNothing(part);
break;
case ConfusionState.SelfHarm:
part.Cmd = UnitConfusionController.SelfHarm(part);
break;
case ConfusionState.AttackNearest:
part.Cmd = UnitConfusionController.AttackNearest(part);
break;
default:
throw new ArgumentOutOfRangeException();
}
}
else
part.Cmd = UnitConfusionController.DoNothing(part);
if (part.Cmd == null)
return;
part.Owner.Unit.Commands.Run(part.Cmd);
}
else
unit.Remove();
}

Add Aoe spell highlighting to the turn order portraits

Sometimes, It is unclear whether a character is within range of an AoE spell, particularly when there are many particle effects on the screen, a feature to make it clear that a creature is within range by highlighting the portrait in the turn order portrait list would help.

AoE spell:

image

Portrait highlighting:

image

Sometimes taking a 5ft step will stop character from being able to full attack

Not consistently reproducible at the moment. Something causes certain 5ft step moves to eat the ability to full attack and only 1 attack will execute. Clicking a target and having the character move to them and full attack does not appear to ever cause this behavior. It has only been found when taking the 5ft step then separately attacking.

Issue is exacerbated with Proper Flanking 2 installed which encourages players to care more about being precise where they move.

Move action eaten after attacking (weirdly sidelong nerf to characters with multiple attacks)

Characters that begin a full attack on a target and kill it with the first attack do not get their move action back. This is a deviation from RTwP, PnP and Turn Based mod implementation. It makes the strange situation of a character with a single attack better in situations where they make an attack that is likely to kill a target, since they will be able to move after and multi attack characters will not.

Original note: If a character can do a full attack (multiple attacks per round), but kill a foe with the first attack, technically that first attack should count as a standard action. Assuming the character did not take a 5 foot step earlier, the character should be able to either 5 foot step or have a move action afterward. I notice that my character's turn ended immediately after doing the first attack in a full attack after killing a foe.

Charging sends characters to center of target

Charging does not behave as it would in PnP. The position that targets rush to goes to center mass of a creature. While not intuitive it is usually not problematic. It presents a larger issue when the target of the charge is Large size. The position they charge to will often block other creatures from charging the same target. This issue is related to the fact that allies cannot move through each other's space.

Turn based mode doesn't let players pause

While it seems like that wouldn't be an issue in a turn based version of the game it carries a few issues. Among them,
-If your character is moving and you realize you don't want to go to that spot exactly, pause will be the intuitive button to press to make sure you can survey the situation. Hold position is the button you maybe want there but pause is the button you'd reach for in RTwP and its the space bar instead of a middle keyboard key you very rarely use. Having that eat your turn is double frustrating.
-Players cannot pause mid full attack after an attack killed something to consider what to reselect as a target for the rest of the full attack
-Being sure that inputs will not do anything while in combat is valuable sometimes. If you are unsure on a hotkey or want to be able to click someplace without unintentionally moving especially since you can't pause once the move starts (again hold position solves this problem mostly but not entirely)
-When you want to check a specific attack in the log before other actions bury it.
-Having "pause on trap detected" makes for weird behavior in combat when the pause key skips your turn. This is more an issue about unpausing. This seems a reasonable place to log it

Players get extra surprise rounds and actions

If combat is initiated by moving into space that enemies can see the player, the start of combat behavior is correct.

However, if combat is begun with casting spell or making an attack from range, that action will not be viewed as part of combat, the character will still have their full first turn. Additionally, right clicking, attacking or spell casting from out of enemy "sight" range always results in a surprise round for the player. This is not consistent with the PnP rules nor is it how Turn Based Mod handled it.

The old mod would check if the character that initiated combat was not visible to the enemy. If so, then players get a surprise round, otherwise normal round starts combat. It would also check if a player initiated combat with an action and then deny that character the appropriate action, standard or full round, on their first turn of the combat to reflect that that was a "combat" action. This is in line with PnP expectations.

Old note phrasing:
So if you initiate combat with a ranged attack (probably also a spell), the tb mod did it right that only if you were undetected that attack would be your surprise round.

The way owlcat have done it is combat is initiated after that attack, and then it seems like your whole team get a surprise round

Remove 3x cap on animation speed

The game settings for turnbased combat include the options "Increase party animation speed" and "Increase enemy animation speed". These options have a maximum value of 10x speed, but the animation speed in turnbased combat never plays faster then 3x speed.

Standard actions can be unintentionally eaten with move implementation

Clicking a location that is further away from you than your speed will cause the game to move there using move and standard action. It can be unclear that that is what is happening when the click occurs. The game occasionally even lists the distance as your move speed exactly when it is in fact slightly further. This was mitigated by the turn based mod by stopping any movement at the move speed marker and making the player click a second time if they wanted to blow their standard action on a move.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.