Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Battle 2k3 - dual wield and double attack not implemented #1727

Closed
13 tasks done
fmatthew5876 opened this issue Mar 26, 2019 · 6 comments · Fixed by #2399
Closed
13 tasks done

Battle 2k3 - dual wield and double attack not implemented #1727

fmatthew5876 opened this issue Mar 26, 2019 · 6 comments · Fixed by #2399

Comments

@fmatthew5876
Copy link
Contributor

fmatthew5876 commented Mar 26, 2019

In 2k, dual wield is treated as a combined single attack with 2 weapons.

  • In 2k3, dual wield is actually 2 separate attacks.
  • If the first hit kills the enemy, the second hit will randomly select a 2nd target.
  • If both weapons have double attack, you will attack 4 times. Potentially killing up to 4 enemies if all the blows are lethal.
  • If one weapon has double attack and the other not, you will attack 3 times.
  • Weapons designed to attack multiple times and attack all targets at the same time are also unimplemented, only attacking a single target one time.
  • Attack all weapons still allow you to select a target, and then it hits all enemies
  • Ignore evasion flag is treated separately for each weapon
  • Weapon sp cost is deducted for every hit in 2k3
  • Correct CBA right and left hand animations for each weapon. Including when actor is mirrored.
  • When combo is applied, actor will do all combo hits with first weapon, and then all combo hits with second weapon

We don't do any of this. Instead it looks like we just emulate the 2k behavior of doing a single combined hit.

For a double attack, we don't select a 2nd target if the first one kills.

We also don't even show the 2 weapon animations in 2k3, only the first one.

Open Questions:

  • How is hit chance determined for attack? For each weapon individually or max()
  • How is hit chance determined for physical skills?
  • Ignore evasion flag?
@Ghabry Ghabry changed the title Battle 2k3 - dual wield and double attack are broken Battle 2k3 - dual wield and double attack not implemented Mar 26, 2019
@NovemberJoy
Copy link

Weapons designed to attack multiple times and attack all targets at the same time are also unimplemented, only attacking a single target one time.

@fdelapena fdelapena added this to the 0.6.1 milestone Mar 27, 2019
@Ghabry Ghabry modified the milestones: 0.6.1, 0.6.2 May 5, 2019
@Ghabry Ghabry modified the milestones: 0.6.2, 0.6.3 Apr 9, 2020
@fmatthew5876
Copy link
Contributor Author

A little more background here:

RPG_RT has a RPG_Actor::usedWeapon flag that it sets for dual wield attacks. Then it has an entirely different code path for actor normal attacks, including a copy of the functions like GetAtk(), AtkHasAttribute(), etc.. which only take the usedWeapon into account instead of both weapons.

@fmatthew5876
Copy link
Contributor Author

fmatthew5876 commented Sep 6, 2020

#2320 implements the ability to compute stats and attack flags based on 1 weapon at a time. So that part is now done.

@ghost
Copy link

ghost commented Oct 2, 2020

Answers to the open questions:

How is hit chance determined for attack? For each weapon individually or max()

In RPG Maker 2003 battles the hit chance is determined for each weapon individually. I tested this in RPG_RT with an actor who wields a 100% and a 0% hit chance weapon. The first strike (with the 100% hit chance weapon) always hits and the second strike (with the 0% hit chance weapon) always misses.

How is hit chance determined for physical skills?

The hit chance for physical skills is not affected by the weapons at all. The rules of a skill with failure_message set to 3 apply.

@fmatthew5876
Copy link
Contributor Author

fmatthew5876 commented Oct 2, 2020

Thanks, these behaviors are already implemented in #2320 and confirmed in RE. I just forgot to update this issue.

All that is left to do is to:

  • actually implement the multiple attack actions with correct timing and animations
  • Modify Normal algo to use Game_Battler::Weapon
  • Modify Normal algo states to support single or multiple weapons

@fmatthew5876
Copy link
Contributor Author

This is now fully implemented in #2399

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

4 participants