diff --git a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/SkillController.java b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/SkillController.java index 013830d56..67c13c272 100644 --- a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/SkillController.java +++ b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/SkillController.java @@ -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); diff --git a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java index abba005a3..5adc30d91 100644 --- a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java +++ b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/ResourceLoader.java @@ -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"); diff --git a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/parsers/DropListParser.java b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/parsers/DropListParser.java index e9e1abaef..bcb87337f 100644 --- a/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/parsers/DropListParser.java +++ b/AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/resource/parsers/DropListParser.java @@ -39,6 +39,12 @@ public final class DropListParser extends JsonCollectionParserFor { 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(droplistID, new DropList(items));