Compare commits

...

11 Commits

Author SHA1 Message Date
OMGeeky
40d84d8c78 add documentation to attack hit chance method 2023-10-28 14:10:06 +02:00
OMGeeky
f0988afaa5 Show a zero for AC 2023-10-28 14:09:34 +02:00
Nut.andor
ac669f4aaa some debug messages 2023-10-21 18:56:31 +02:00
Nut.andor
f73d993934 Merge branch 'pulls/1829009049/62' into V0.8.8 2023-10-19 22:10:30 +02:00
Nut.andor
15657d08da Rats are too pink. 2023-10-19 22:08:54 +02:00
Nut.andor
e31cee7fef Pull Request #62: Rats are too pink. 2023-10-17 00:55:58 +02:00
Omicronrg9
ec2f4d74b2 • Tweaked some sprites (rats). 2023-10-17 00:53:19 +02:00
Daniel–Ømicrón Rodríguez García
e99da003d1 Merge branch 'AndorsTrailRelease:V0.8.8' into V0.8.8 2023-10-12 15:20:56 +02:00
Daniel–Ømicrón Rodríguez García
6ee86d8c56 Merge branch 'AndorsTrailRelease:V0.8.8' into V0.8.8 2023-10-10 13:00:24 +02:00
Omicronrg9
b40eb7dc66 Ignored tmx bak files. 2023-10-08 02:33:51 +02:00
Omicronrg9
a3b74eb08a Merge remote-tracking branch 'origin/V0.8.8' into V0.8.8 2023-10-08 02:29:38 +02:00
7 changed files with 24 additions and 8 deletions

View File

@@ -579,6 +579,13 @@ public final class CombatController implements VisualEffectCompletedCallback {
private static final int n = 50;
private static final int F = 40;
private static final float two_divided_by_PI = (float) (2f / Math.PI);
/**
* @implNote
* formula: 50 * (1 + (2 / pi) * atan((attackChance - blockChance - n) / F))
* <br/>
* n = {@value n}; F = {@value F}
* @return [0..100] . 100 == always hit.
*/
private static int getAttackHitChance(final Actor attacker, final Actor target) {
final int c = attacker.getAttackChance() - target.getBlockChance();
// (2/pi)*atan(..) will vary from -1 to +1 .

View File

@@ -1,5 +1,6 @@
package com.gpl.rpg.AndorsTrail.controller;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.listeners.CombatActionListeners;
@@ -17,6 +18,7 @@ import com.gpl.rpg.AndorsTrail.model.item.ItemCategory;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
import com.gpl.rpg.AndorsTrail.util.ConstRange;
import com.gpl.rpg.AndorsTrail.util.L;
public final class SkillController {
private final ControllerContext controllers;
@@ -58,6 +60,9 @@ public final class SkillController {
public static int getDropChanceRollBias(DropItem item, Player player) {
if (player == null) return 0;
if(item.itemType == null && AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
L.log("Item type missing: " + item + " " + player.id);
}
if (ItemTypeCollection.isGoldItemType(item.itemType.id)) {
return getRollBias(item, player, SkillID.coinfinder, SkillCollection.PER_SKILLPOINT_INCREASE_COINFINDER_CHANCE_PERCENT);

View File

@@ -137,7 +137,8 @@ public final class ResourceLoader {
final ItemTypeParser itemTypeParser = new ItemTypeParser(loader, world.actorConditionsTypes, world.itemCategories, translationLoader);
final TypedArray itemsToLoad = r.obtainTypedArray(itemsResourceId);
for (int i = 0; i < itemsToLoad.length(); ++i) {
world.itemTypes.initialize(itemTypeParser, readStringFromRaw(r, itemsToLoad, i));
String s = readStringFromRaw(r, itemsToLoad, i);
world.itemTypes.initialize(itemTypeParser, s);
}
itemsToLoad.recycle();
if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ItemTypeParser");

View File

@@ -39,6 +39,12 @@ public final class DropListParser extends JsonCollectionParserFor<DropList> {
if (items == null) {
L.log("OPTIMIZE: Droplist \"" + droplistID + "\" has no dropped items.");
}
for (int i = 0; i < items.length; i++) {
DropItem item = items[i];
if (item.itemType == null) {
L.log("Item at index " + i + " in droplist " + droplistID + " was null");
}
}
}
return new Pair<String, DropList>(droplistID, new DropList(items));

View File

@@ -61,13 +61,9 @@ public final class TraitsInfoView {
tv.setText(Integer.toString(attackCost));
row = (TableRow) group.findViewById(R.id.traitsinfo_attack_chance_row);
if (attackChance == 0) {
row.setVisibility(View.GONE);
} else {
row.setVisibility(View.VISIBLE);
tv = (TextView) group.findViewById(R.id.traitsinfo_attack_chance);
tv.setText(Integer.toString(attackChance));
}
tv = (TextView) group.findViewById(R.id.traitsinfo_attack_chance);
tv.setText(Integer.toString(attackChance));
row = (TableRow) group.findViewById(R.id.traitsinfo_attack_damage_row);
if (damagePotential != null && damagePotential.max != 0) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 948 KiB

After

Width:  |  Height:  |  Size: 950 KiB

1
AndorsTrail/res/xml/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*.tmx.bak