-
Notifications
You must be signed in to change notification settings - Fork 408
Skill multipliers addition and refactoring #652
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
base: master
Are you sure you want to change the base?
Skill multipliers addition and refactoring #652
Conversation
| if (skill.Skill!.Number == 265 && !isPvp) // DragonSlasher | ||
| { | ||
| multiplier *= 3; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zTeamS6.3
emu: ObjAttack.cpp and BuffSkillEffect.xml.
| result.BaseAttributeValues.Add(this.CreateConstValueAttribute(39, Stats.MaximumHealth)); | ||
| result.BaseAttributeValues.Add(this.CreateConstValueAttribute(6, Stats.MaximumMana)); | ||
| result.BaseAttributeValues.Add(this.CreateConstValueAttribute(1, Stats.SkillMultiplier)); | ||
| result.BaseAttributeValues.Add(this.CreateConstValueAttribute(2, Stats.SkillMultiplier)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only TripleShot and MultiShot have a skill multiplier of 1 (multiple arrow skills), which are effected in SkillsInitializer.cs.
| result.AttributeCombinations.Add(this.CreateAttributeRelationship(Stats.MinimumPhysBaseDmg, 1.0f / 15, Stats.TotalVitality)); | ||
| result.AttributeCombinations.Add(this.CreateAttributeRelationship(Stats.MaximumPhysBaseDmg, 1.0f / 12, Stats.TotalVitality)); | ||
| result.AttributeCombinations.Add(this.CreateAttributeRelationship(Stats.SkillMultiplier, 0.001f, Stats.TotalEnergy)); | ||
| result.AttributeCombinations.Add(this.CreateAttributeRelationship(Stats.VitalitySkillMultiplier, 0.001f, Stats.TotalVitality)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| var powerUpDefinition = this.Context.CreateNew<PowerUpDefinition>(); | ||
| magicEffect.PowerUpDefinitions.Add(powerUpDefinition); | ||
| powerUpDefinition.TargetAttribute = Stats.MaximumHealth.GetPersistent(this.GameConfiguration); | ||
| powerUpDefinition.TargetAttribute = Stats.TotalVitality.GetPersistent(this.GameConfiguration); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zTeamS6.3: ObjUseSkill.cpp, ItemAddOption.h, BuffEffect.cpp
emu: ObjUseSkill.cpp, ObjCalCharacter.cpp

The max bonus is 200: MuMain5.2, emu (we need to add cap values 😃 )
| decDmgPowerUpDefinition.Boost.ConstantValue.Value = 0.05f; | ||
| decDmgPowerUpDefinition.Boost.ConstantValue.AggregateType = AggregateType.AddRaw; | ||
| } | ||
| } No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zTeamS6.3: ObjUseSkill.cpp, ObjAttack.cpp
| { Stats.IceResistance, 254f / 255 }, | ||
| { Stats.WaterResistance, 150f / 255 }, | ||
| { Stats.FireResistance, 150f / 255 }, | ||
| { Stats.SkillMultiplier, 2 }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zTeamS6.3: ObjAttack.cpp
He has 4 skill attacks, which correspond to skill numbers: 250, 251, 252, 253
| // Originally, starting weapon skills for DL (FallingSlash, Lunge, Uppercut, Cyclone) and RF (FallingSlash) have a constant multiplier of 2. | ||
| // In OpenMU they might be able to do more damage with such skills, if their Stats.SkillMultiplier increases above 2. | ||
| // Since this only applies to early game weapons, this is acceptable. | ||
| this.AddAttributeRelationship(SkillNumber.FallingSlash, Stats.SkillFinalMultiplier, 2.0f, Stats.SkillMultiplier, InputOperator.Maximum); // For RF |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is needed because RF has a base Stats.SkillMultiplier of 0.5
zTeamS6.3
| this.AddAttributeRelationship(SkillNumber.Explosion223, Stats.SkillFinalDamageBonus, Stats.IsBookEquipped, Stats.ExplosionBonusDmg); | ||
| this.AddAttributeRelationship(SkillNumber.Requiem, Stats.SkillFinalDamageBonus, Stats.IsBookEquipped, Stats.RequiemBonusDmg); | ||
| this.AddAttributeRelationship(SkillNumber.Pollution, Stats.SkillFinalDamageBonus, Stats.IsBookEquipped, Stats.PollutionBonusDmg); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| this.AddAttributeRelationship(SkillNumber.PlasmaStorm, Stats.SkillFinalMultiplier, 0.002f, Stats.TotalLevel); | ||
| this.AddAttributeRelationship(SkillNumber.PlasmaStorm, Stats.SkillFinalMultiplier, -0.6f, Stats.MaximumHealth, InputOperator.Minimum); // 0.002 * 300(min lvl) | ||
| this.AddAttributeRelationship(SkillNumber.PlasmaStorm, Stats.SkillFinalMultiplier, 2.0f, Stats.MaximumHealth, InputOperator.Minimum); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| this.AddAttributeRelationship(SkillNumber.PlasmaStorm, Stats.SkillFinalMultiplier, -0.6f, Stats.MaximumHealth, InputOperator.Minimum); // 0.002 * 300(min lvl) | ||
| this.AddAttributeRelationship(SkillNumber.PlasmaStorm, Stats.SkillFinalMultiplier, 2.0f, Stats.MaximumHealth, InputOperator.Minimum); | ||
|
|
||
| this.AddAttributeRelationship(SkillNumber.ChaoticDiseier, Stats.SkillFinalMultiplier, 0.8f, Stats.SkillMultiplier); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zTeamS6.3 (it's usually energy / 20)
| this.AddAttributeRelationship(SkillNumber.KillingBlow, Stats.SkillFinalMultiplier, 1.0f, Stats.VitalitySkillMultiplier); | ||
| this.AddAttributeRelationship(SkillNumber.BeastUppercut, Stats.SkillFinalMultiplier, 1.0f, Stats.VitalitySkillMultiplier); | ||
| this.AddAttributeRelationship(SkillNumber.ChainDrive, Stats.SkillFinalMultiplier, 1.0f, Stats.VitalitySkillMultiplier); | ||
| this.AddAttributeRelationship(SkillNumber.Charge, Stats.SkillFinalMultiplier, 1.0f, Stats.VitalitySkillMultiplier); | ||
| this.AddAttributeRelationship(SkillNumber.PhoenixShot, Stats.SkillFinalMultiplier, 1.0f, Stats.VitalitySkillMultiplier); | ||
|
|
||
| this.AddAttributeRelationship(SkillNumber.DarkSide, Stats.SkillFinalMultiplier, 0.5f, Stats.SkillMultiplier, InputOperator.Add); | ||
| this.AddAttributeRelationship(SkillNumber.DarkSide, Stats.SkillFinalMultiplier, 1.0f / 800, Stats.TotalAgility); | ||
|
|
||
| this.AddAttributeRelationship(SkillNumber.DragonRoar, Stats.SkillFinalMultiplier, 1.0f, Stats.SkillMultiplier); | ||
| this.AddAttributeRelationship(SkillNumber.DragonSlasher, Stats.SkillFinalMultiplier, 1.0f, Stats.SkillMultiplier); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zTeamS6.3: Normal, Master (I have left out the additions to simplify, and emu also doesn't have them).
emu: ObjectAttack.cpp, BuffSkillEffect.xml
For PhoenixShot (270) emu has a higher multiplier. For now I've left it like zTeamS6.3's. These skills still need to be revised for magic effects, number of hits, etc.
|
|
||
| this.AddAttributeRelationship(SkillNumber.Explosion223, Stats.SkillFinalDamageBonus, 1.0f, Stats.ExplosionBonusDmg); | ||
| this.AddAttributeRelationship(SkillNumber.Requiem, Stats.SkillFinalDamageBonus, 1.0f, Stats.RequiemBonusDmg); | ||
| this.AddAttributeRelationship(SkillNumber.Pollution, Stats.SkillFinalDamageBonus, 1.0f, Stats.PollutionBonusDmg); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.

To-do
Developments
Bugfixes
There is still quite some work to do to finalize the Rage Fighter skills. They are lacking some particular magic effects and I don't think all of them have the correct number of hits.