Useful links
Source code of the game - Contribution guide - ATCS Editor - Translate the game on Weblate - Example walkthrough - Andor's Trail Directory - Join the Discord
Get the game (v0.8.10) from Google, F-Droid, our server, or itch.io
Source code of the game - Contribution guide - ATCS Editor - Translate the game on Weblate - Example walkthrough - Andor's Trail Directory - Join the Discord
Get the game (v0.8.10) from Google, F-Droid, our server, or itch.io
FSTH damage potential increase?
- Voom
- VIP
- Posts: 617
- Joined: Sat Dec 19, 2015 5:24 pm
- android_version: 7.0
- Location: Fort Lauderdale, FL
Re: FSTH damage potential increase?
The ideal solution (as discussed before):
Weapon stats equal a stated % of base stats.
All equipment stats equal a stated % of character's base stats.
There are many types of stats that are exceptions (ones that do not appear as a base stat).
This undoubtedly allows weapons to scale and minimizes their base stat uselessness.
Was that simple or what?
The base stats to be treated like this include HP, AC, AD, and BC.
Example: If a character has 100 HP, 200 AC, 30 AD, and 60 BC, then holding Valugha's shimmering hat could give the character +3% HP, +8% AC, -7% AD, -8% BC, and -1 Move Cost.
Weapon stats equal a stated % of base stats.
All equipment stats equal a stated % of character's base stats.
There are many types of stats that are exceptions (ones that do not appear as a base stat).
This undoubtedly allows weapons to scale and minimizes their base stat uselessness.
Was that simple or what?
The base stats to be treated like this include HP, AC, AD, and BC.
Example: If a character has 100 HP, 200 AC, 30 AD, and 60 BC, then holding Valugha's shimmering hat could give the character +3% HP, +8% AC, -7% AD, -8% BC, and -1 Move Cost.
Voom
- Zukero
- Lead Developer
- Posts: 2028
- Joined: Thu Jul 21, 2011 9:56 am
- android_version: 8.0
- Location: Eclipse
Re: FSTH damage potential increase?
Sounds easy right? Code-wise it is. But then we have to rebalance the whole game. All equipment, all weapons, all enemies. THAT is hard, and long.
Combat system overhaul is more or less planned for v0.8.0, but our priority is creating the content for v0.7.2.
Combat system overhaul is more or less planned for v0.8.0, but our priority is creating the content for v0.7.2.
Lvl: 78, XP: 8622632, Gold: 271542, RoLS: 1, ElyR: -, RoL: -, ChaR: 1, GoLF: 1, ShaF: 1, SRoV: 1, VSH: 1, WMC: 1, GoW: 1
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2
- rijackson741
- Posts: 4451
- Joined: Tue Aug 20, 2013 2:04 am
- android_version: 10 - Android 10
- Location: Somewhere in Dhayavar
- Contact:
Re: FSTH damage potential increase?
Well, if you read through the damage per round thread that I pointed to (http://andorstrail.com/viewtopic.php?f=4&t=4096), no, it's not simple. The devil is in the details, and there are a lot of details. What should the multiplier be for different weapons? What about BC, and multipliers for shields vs armor? What about DR (IMO this should be left static, as it is now)? What do we do about rings, which, as others have pointed out (http://andorstrail.com/viewtopic.php?f= ... 798#p56798), are rather overpowered? Is DPR even the best solution (I think it's a great starting point, but I am not sure it's the total answer). And, as Zukero points out, once we have the details worked out and the new system implemented, almost every item, and possibly every monster, will need to be adjusted.Voom wrote: ↑Sat Jul 08, 2017 4:10 am The ideal solution (as discussed before):
Weapon stats equal a stated % of base stats.
All equipment stats equal a stated % of character's base stats.
There are many types of stats that are exceptions (ones that do not appear as a base stat).
This undoubtedly allows weapons to scale and minimizes their base stat uselessness.
Was that simple or what?
Like I said, we only want to do this once, which means a lot of upfront work making sure we got it right, and then a lot of work adjusting everything. It's a huge project.
Level:71, XP:6493739, PV:608, FQ:84
HP:210, AC:212, AD:58-77, AP:4, ECC:16%, CM:1.5, BC:188, DR:3
Gold: 237559 | RoLS:1, RoL:1, GoW:1, VSH:1, RoFLS:1, WoB:1
HH:1, WA:1, CS:2, Cl:1, IF:4, Ev:3, Re:2, WP:DA:1, WP:1S:1, WP:B:1, AP:L:1, FS:DW:2, S:DW:1
HP:210, AC:212, AD:58-77, AP:4, ECC:16%, CM:1.5, BC:188, DR:3
Gold: 237559 | RoLS:1, RoL:1, GoW:1, VSH:1, RoFLS:1, WoB:1
HH:1, WA:1, CS:2, Cl:1, IF:4, Ev:3, Re:2, WP:DA:1, WP:1S:1, WP:B:1, AP:L:1, FS:DW:2, S:DW:1
- Voom
- VIP
- Posts: 617
- Joined: Sat Dec 19, 2015 5:24 pm
- android_version: 7.0
- Location: Fort Lauderdale, FL
Re: FSTH damage potential increase?
I'm sure it is a huge project. Unfortunately, I don't see the next update without it. Advancing the narrative without an established foundation might be bad news. However, I could be wrong. Maybe we can implement a new equipment arrangement in v7.4 after the next two updates that go together.
I've read through the DPR thread but it is easy to lose track due to side bar conversations. So I didn't get the whole BC issue (I'll read up). I believe the best way to go is to leave every stat static except for the four base stats, whether it's Multiplier, DR, Move cost, CS, AP/Attack cost (are there more?). Conditions like BW Misery need not be changed either. Conditions, like it was mentioned in the DPR thread, do need to be adjusted.
It is hard to come up with a place to start so that changes we want to see are done fairly and in context with AT's other game elements. I have thought a little about this and I propose we start equating %HP, %AC, %AD, and %BC as a simple reference point to the adjustments we make to equipment, etc. Right now, as apportioned by level ups, 5 HP = 5 AC = 1 AD = 3 BC. Of course, we know this is flawed due to the scaling issue. That is why %Stat should be used.
I understand that coming up with a formula might be difficult and arbitrary, but if the devs do not come up with the formula (arbitrary or not), then who else will? Oskar came up with stat pricing through, I'm guessing, an arbitrary means. In ATCS, as I have discussed before in other threads, every buyable/sellable item has a price in terms of gold based on its stats and conditions. This pricing is scaled exponentially based on the models that I recreated (except for DR, which I believe is a straight line when plotted). Every stat has its own unique, originally created equation. I wonder if Oskar or anyone else still has those equations b/c my recreations using excel can't ever be 100% accurate (trust me, I tried). As a note, when I say that each stats' pricing equation is exponential, I mean that the more HP you have the less even more HP is worth. That is the scaling inherent in the value of each stat.
So, the point is that we need to decide how much +1% HP equals in terms of %AC, %ADmin, %ADmax, %BC. According to the ATCS pricing equations, ADmin is worth a little more than ADmax all throughout the graphed scale. Example: +10% HP = +5% AC = +40% ADmin = +45% ADmax = +15% BC. Yes, this will be an arbitrary measure of equipment, etc., but we can use the ATCS pricing equations as a guide.
I've read through the DPR thread but it is easy to lose track due to side bar conversations. So I didn't get the whole BC issue (I'll read up). I believe the best way to go is to leave every stat static except for the four base stats, whether it's Multiplier, DR, Move cost, CS, AP/Attack cost (are there more?). Conditions like BW Misery need not be changed either. Conditions, like it was mentioned in the DPR thread, do need to be adjusted.
It is hard to come up with a place to start so that changes we want to see are done fairly and in context with AT's other game elements. I have thought a little about this and I propose we start equating %HP, %AC, %AD, and %BC as a simple reference point to the adjustments we make to equipment, etc. Right now, as apportioned by level ups, 5 HP = 5 AC = 1 AD = 3 BC. Of course, we know this is flawed due to the scaling issue. That is why %Stat should be used.
I understand that coming up with a formula might be difficult and arbitrary, but if the devs do not come up with the formula (arbitrary or not), then who else will? Oskar came up with stat pricing through, I'm guessing, an arbitrary means. In ATCS, as I have discussed before in other threads, every buyable/sellable item has a price in terms of gold based on its stats and conditions. This pricing is scaled exponentially based on the models that I recreated (except for DR, which I believe is a straight line when plotted). Every stat has its own unique, originally created equation. I wonder if Oskar or anyone else still has those equations b/c my recreations using excel can't ever be 100% accurate (trust me, I tried). As a note, when I say that each stats' pricing equation is exponential, I mean that the more HP you have the less even more HP is worth. That is the scaling inherent in the value of each stat.
So, the point is that we need to decide how much +1% HP equals in terms of %AC, %ADmin, %ADmax, %BC. According to the ATCS pricing equations, ADmin is worth a little more than ADmax all throughout the graphed scale. Example: +10% HP = +5% AC = +40% ADmin = +45% ADmax = +15% BC. Yes, this will be an arbitrary measure of equipment, etc., but we can use the ATCS pricing equations as a guide.
Voom
- rijackson741
- Posts: 4451
- Joined: Tue Aug 20, 2013 2:04 am
- android_version: 10 - Android 10
- Location: Somewhere in Dhayavar
- Contact:
Re: FSTH damage potential increase?
The next one has to be new content, because people have already waited too long. Adding some new content will not make the combat problems any worse, except to the extent that there will be more content that needs to be adjusted later.Voom wrote: ↑Sat Jul 08, 2017 7:08 pm I'm sure it is a huge project. Unfortunately, I don't see the next update without it. Advancing the narrative without an established foundation might be bad news. However, I could be wrong. Maybe we can implement a new equipment arrangement in v7.4 after the next two updates that go together.
However, after that, I agree with you. We need to fix it sooner rather than later, because that will have the minimum impact on players builds going forward.
I would leave HP static too. It's mainly AD that needs the fix, but AC and BC would also benefit.Voom wrote: ↑Sat Jul 08, 2017 7:08 pm I've read through the DPR thread but it is easy to lose track due to side bar conversations. So I didn't get the whole BC issue (I'll read up). I believe the best way to go is to leave every stat static except for the four base stats, whether it's Multiplier, DR, Move cost, CS, AP/Attack cost (are there more?). Conditions like BW Misery need not be changed either. Conditions, like it was mentioned in the DPR thread, do need to be adjusted.
It is hard to come up with a place to start so that changes we want to see are done fairly and in context with AT's other game elements. I have thought a little about this and I propose we start equating %HP, %AC, %AD, and %BC as a simple reference point to the adjustments we make to equipment, etc. Right now, as apportioned by level ups, 5 HP = 5 AC = 1 AD = 3 BC. Of course, we know this is flawed due to the scaling issue. That is why %Stat should be used.
I've never looked into how the pricing of items is calculated, but I have been meaning to because I think that needs adjusting too. The equations are buried in the code somewhere, just have to find themVoom wrote: ↑Sat Jul 08, 2017 7:08 pm I understand that coming up with a formula might be difficult and arbitrary, but if the devs do not come up with the formula (arbitrary or not), then who else will? Oskar came up with stat pricing through, I'm guessing, an arbitrary means. In ATCS, as I have discussed before in other threads, every buyable/sellable item has a price in terms of gold based on its stats and conditions. This pricing is scaled exponentially based on the models that I recreated (except for DR, which I believe is a straight line when plotted). Every stat has its own unique, originally created equation. I wonder if Oskar or anyone else still has those equations b/c my recreations using excel can't ever be 100% accurate (trust me, I tried). As a note, when I say that each stats' pricing equation is exponential, I mean that the more HP you have the less even more HP is worth. That is the scaling inherent in the value of each stat.
Only if we believe that the pricing equations are currently balanced correctly This kind of question is what I mean by getting it right when we do it, so that we don't have to do it again.Voom wrote: ↑Sat Jul 08, 2017 7:08 pm So, the point is that we need to decide how much +1% HP equals in terms of %AC, %ADmin, %ADmax, %BC. According to the ATCS pricing equations, ADmin is worth a little more than ADmax all throughout the graphed scale. Example: +10% HP = +5% AC = +40% ADmin = +45% ADmax = +15% BC. Yes, this will be an arbitrary measure of equipment, etc., but we can use the ATCS pricing equations as a guide.
Level:71, XP:6493739, PV:608, FQ:84
HP:210, AC:212, AD:58-77, AP:4, ECC:16%, CM:1.5, BC:188, DR:3
Gold: 237559 | RoLS:1, RoL:1, GoW:1, VSH:1, RoFLS:1, WoB:1
HH:1, WA:1, CS:2, Cl:1, IF:4, Ev:3, Re:2, WP:DA:1, WP:1S:1, WP:B:1, AP:L:1, FS:DW:2, S:DW:1
HP:210, AC:212, AD:58-77, AP:4, ECC:16%, CM:1.5, BC:188, DR:3
Gold: 237559 | RoLS:1, RoL:1, GoW:1, VSH:1, RoFLS:1, WoB:1
HH:1, WA:1, CS:2, Cl:1, IF:4, Ev:3, Re:2, WP:DA:1, WP:1S:1, WP:B:1, AP:L:1, FS:DW:2, S:DW:1
- Zukero
- Lead Developer
- Posts: 2028
- Joined: Thu Jul 21, 2011 9:56 am
- android_version: 8.0
- Location: Eclipse
Re: FSTH damage potential increase?
From ATCS' code (which is a port of AT's code in this instance) :
I hope it helps. You'll have to decipher it, but I believe that variables are named well-enough for you to figure it out.
Code: Select all
public Integer computePrice() {
int price = 0;
if (category != null && category.action_type != null) {
if (category.action_type == ItemCategory.ActionType.use) {
price += kill_effect == null ? 0 : calculateUseCost();
} else if (category.action_type == ItemCategory.ActionType.equip) {
price += equip_effect == null ? 0 : calculateEquipCost(isWeapon());;
price += hit_effect == null ? 0 : calculateHitCost();
price += kill_effect == null ? 0 : calculateKillCost();
}
}
return Math.max(1, price);
}
Code: Select all
public int calculateUseCost() {
final float averageHPBoost = (zeroForNull(kill_effect.hp_boost_min) + zeroForNull(kill_effect.hp_boost_max)) / 2.0f;
if (averageHPBoost == 0) return 0;
return (int) (0.1*Math.signum(averageHPBoost)*Math.pow(Math.abs(averageHPBoost), 2) + 3*averageHPBoost);
}
public int calculateEquipCost(boolean isWeapon) {
final int costBC = (int) (3*Math.pow(Math.max(0, zeroForNull(equip_effect.increase_block_chance)), 2.5) + 28*zeroForNull(equip_effect.increase_block_chance));
final int costAC = (int) (0.4*Math.pow(Math.max(0,zeroForNull(equip_effect.increase_attack_chance)), 2.5) - 6*Math.pow(Math.abs(Math.min(0,zeroForNull(equip_effect.increase_attack_chance))),2.7));
final int costAP = isWeapon ?
(int) (0.2*Math.pow(10.0f/zeroForNull(equip_effect.increase_attack_cost), 8) - 25*zeroForNull(equip_effect.increase_attack_cost))
:-3125 * zeroForNull(equip_effect.increase_attack_cost);
final int costDR = 1325 * zeroForNull(equip_effect.increase_damage_resistance);
final int costDMG_Min = isWeapon ?
(int) (10*Math.pow(Math.max(0, zeroForNull(equip_effect.damage_boost_min)), 2.5))
:(int) (10*Math.pow(Math.max(0, zeroForNull(equip_effect.damage_boost_min)), 3) + zeroForNull(equip_effect.damage_boost_min)*80);
final int costDMG_Max = isWeapon ?
(int) (2*Math.pow(Math.max(0, zeroForNull(equip_effect.damage_boost_max)), 2.1))
:(int) (2*Math.pow(Math.max(0, zeroForNull(equip_effect.damage_boost_max)), 3) + zeroForNull(equip_effect.damage_boost_max)*20);
final int costCS = (int) (2.2*Math.pow(zeroForNull(equip_effect.increase_critical_skill), 3));
final int costCM = (int) (50*Math.pow(Math.max(0, zeroForNull(equip_effect.critical_multiplier)), 2));
final int costMaxHP = (int) (30*Math.pow(Math.max(0,zeroForNull(equip_effect.max_hp_boost)), 1.2) + 70*zeroForNull(equip_effect.max_hp_boost));
final int costMaxAP = (int) (50*Math.pow(Math.max(0,zeroForNull(equip_effect.max_ap_boost)), 3) + 750*zeroForNull(equip_effect.max_ap_boost));
final int costMovement = (int) (510*Math.pow(Math.max(0,-zeroForNull(equip_effect.increase_move_cost)), 2.5) - 350*zeroForNull(equip_effect.increase_move_cost));
final int costUseItem = (int)(915*Math.pow(Math.max(0,-zeroForNull(equip_effect.increase_use_item_cost)), 3) - 430*zeroForNull(equip_effect.increase_use_item_cost));
final int costReequip = (int)(450*Math.pow(Math.max(0,-zeroForNull(equip_effect.increase_reequip_cost)), 2) - 250*zeroForNull(equip_effect.increase_reequip_cost));
return costBC + costAC + costAP + costDR + costDMG_Min + costDMG_Max + costCS + costCM
+ costMaxHP + costMaxAP
+ costMovement + costUseItem + costReequip;
}
public int calculateHitCost() {
final float averageHPBoost = (zeroForNull(hit_effect.hp_boost_min) + zeroForNull(hit_effect.hp_boost_max)) / 2.0f;
final float averageAPBoost = (zeroForNull(hit_effect.ap_boost_min) + zeroForNull(hit_effect.ap_boost_max)) / 2.0f;
if (averageHPBoost == 0 && averageAPBoost == 0) return 0;
final int costBoostHP = (int)(2770*Math.pow(Math.max(0,averageHPBoost), 2.5) + 450*averageHPBoost);
final int costBoostAP = (int)(3100*Math.pow(Math.max(0,averageAPBoost), 2.5) + 300*averageAPBoost);
return costBoostHP + costBoostAP;
}
public int calculateKillCost() {
final float averageHPBoost = (zeroForNull(kill_effect.hp_boost_min) + zeroForNull(kill_effect.hp_boost_max)) / 2.0f;
final float averageAPBoost = (zeroForNull(kill_effect.ap_boost_min) + zeroForNull(kill_effect.ap_boost_max)) / 2.0f;
if (averageHPBoost == 0 && averageAPBoost == 0) return 0;
final int costBoostHP = (int)(923*Math.pow(Math.max(0,averageHPBoost), 2.5) + 450*averageHPBoost);
final int costBoostAP = (int)(1033*Math.pow(Math.max(0,averageAPBoost), 2.5) + 300*averageAPBoost);
return costBoostHP + costBoostAP;
}
Lvl: 78, XP: 8622632, Gold: 271542, RoLS: 1, ElyR: -, RoL: -, ChaR: 1, GoLF: 1, ShaF: 1, SRoV: 1, VSH: 1, WMC: 1, GoW: 1
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2
- rijackson741
- Posts: 4451
- Joined: Tue Aug 20, 2013 2:04 am
- android_version: 10 - Android 10
- Location: Somewhere in Dhayavar
- Contact:
Re: FSTH damage potential increase?
Thanks. That will save me some time
Level:71, XP:6493739, PV:608, FQ:84
HP:210, AC:212, AD:58-77, AP:4, ECC:16%, CM:1.5, BC:188, DR:3
Gold: 237559 | RoLS:1, RoL:1, GoW:1, VSH:1, RoFLS:1, WoB:1
HH:1, WA:1, CS:2, Cl:1, IF:4, Ev:3, Re:2, WP:DA:1, WP:1S:1, WP:B:1, AP:L:1, FS:DW:2, S:DW:1
HP:210, AC:212, AD:58-77, AP:4, ECC:16%, CM:1.5, BC:188, DR:3
Gold: 237559 | RoLS:1, RoL:1, GoW:1, VSH:1, RoFLS:1, WoB:1
HH:1, WA:1, CS:2, Cl:1, IF:4, Ev:3, Re:2, WP:DA:1, WP:1S:1, WP:B:1, AP:L:1, FS:DW:2, S:DW:1
- Voom
- VIP
- Posts: 617
- Joined: Sat Dec 19, 2015 5:24 pm
- android_version: 7.0
- Location: Fort Lauderdale, FL
Re: FSTH damage potential increase?
Thanks, Zukero. I can see all the formulas, but I'm not sure I understand some of the terminology.
I think out of principle, HP shouldn't be static b/c it might have a scaling issue as well. But that is something that can be discussed.
I think out of principle, HP shouldn't be static b/c it might have a scaling issue as well. But that is something that can be discussed.
Voom
- marquinho
- Posts: 36
- Joined: Mon Jul 03, 2017 6:09 am
- android_version: 4.4 - Kitkat
Re: FSTH damage potential increase?
I think you don't need %HP items when there's Increased Fortitude. That gives you enough HP that you need.
%HP items + IF would be too strong imo.
%HP items + IF would be too strong imo.
Tarobinha Lv52 Blackwater Thief
AP:12/3 HP:134 AC:309% AD:47-52, CHS:-49, BC:182%, DR:1
IF:3, CS:2, MF:1, S:DW, DP:3, LAP:3
BWH, BWA, BWD:2, Mt, RotP, RoLS, GotG, ECB
GoW:1
There is no honor among thieves.
AP:12/3 HP:134 AC:309% AD:47-52, CHS:-49, BC:182%, DR:1
IF:3, CS:2, MF:1, S:DW, DP:3, LAP:3
BWH, BWA, BWD:2, Mt, RotP, RoLS, GotG, ECB
GoW:1
There is no honor among thieves.
- Zukero
- Lead Developer
- Posts: 2028
- Joined: Thu Jul 21, 2011 9:56 am
- android_version: 8.0
- Location: Eclipse
Re: FSTH damage potential increase?
On the other hand, it would stop IF from being mandatory by giving a reasonable alternative.
Lvl: 78, XP: 8622632, Gold: 271542, RoLS: 1, ElyR: -, RoL: -, ChaR: 1, GoLF: 1, ShaF: 1, SRoV: 1, VSH: 1, WMC: 1, GoW: 1
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2
HP: 71, AC: 301%, AD: 38-47, AP: 3, ECC: 50%, CM: 3.75, BC: 101%, DR: 2