2
0
Fork 0

LOTRMaterialTransformer can now modify weapon damages

main
Shinare 4 months ago
parent 183f5a8f8d
commit cc80be23dc

@ -20,38 +20,38 @@ public class LOTRMaterialTransformer implements IClassTransformer {
reader.accept(classNode, 0); reader.accept(classNode, 0);
modifyMaterial("ANGMAR", 350, 0.6F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 1/4 (Unupgraded) modifyMaterial("ANGMAR", 350, 0.6F, 2.5F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 1/4 (Unupgraded)
modifyMaterial("URUK", 550, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 1/4 (Unupgraded) modifyMaterial("URUK", 550, 0.7F, 3.0F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 1/4 (Unupgraded)
modifyMaterial("BLACK_URUK", 550, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 2/4 (Unupgraded) modifyMaterial("BLACK_URUK", 550, 0.7F, 3.0F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 2/4 (Unupgraded)
modifyMaterial("HALF_TROLL", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) modifyMaterial("HALF_TROLL", 350, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded)
// Good Humans // Good Humans
modifyMaterial("DALE", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) modifyMaterial("DALE", 350, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded)
modifyMaterial("GONDOR", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 3/4 (Unupgraded) modifyMaterial("GONDOR", 450, 0.6F, 2.5F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 3/4 (Unupgraded)
modifyMaterial("DORWINION_ELF", 500, 0.6F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 3/4 (Unupgraded) modifyMaterial("DORWINION_ELF", 500, 0.6F, 3.0F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 3/4 (Unupgraded)
modifyMaterial("ROHAN", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 modifyMaterial("ROHAN", 350, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4
modifyMaterial("TAUREDAIN", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 modifyMaterial("TAUREDAIN", 350, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4
modifyMaterial("DORWINION", 400, 0.6F, classNode); //Original Durability = 400 | Add 75 | 150 if Upgraded Armory | 0/4 modifyMaterial("DORWINION", 400, 0.6F, 2.5F, classNode); //Original Durability = 400 | Add 75 | 150 if Upgraded Armory | 0/4
modifyMaterial("LOSSARNACH", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory 0/4 modifyMaterial("LOSSARNACH", 350, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory 0/4
modifyMaterial("LAMEDON", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 modifyMaterial("LAMEDON", 350, 0.6F, 2.0F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4
// Evil Humans // Evil Humans
modifyMaterial("RHUN_GOLD", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 0/4 modifyMaterial("RHUN_GOLD", 450, 0.6F, 2.5F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 0/4
modifyMaterial("RHUN", 400, 0.6F, classNode); //Original Durability = 400 | Add 75 | 150 if Upgraded Armory | 0/4 modifyMaterial("RHUN", 400, 0.6F, 2.5F, classNode); //Original Durability = 400 | Add 75 | 150 if Upgraded Armory | 0/4
modifyMaterial("DUNLENDING", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 1/4 (Unupgraded) modifyMaterial("DUNLENDING", 350, 0.6F, 2.0F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 1/4 (Unupgraded)
modifyMaterial("NEAR_HARAD", 450, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 3/4 (Unupgraded) modifyMaterial("NEAR_HARAD", 450, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 3/4 (Unupgraded)
modifyMaterial("HARNEDOR", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4 modifyMaterial("HARNEDOR", 350, 0.6F, 2.0F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4
modifyMaterial("CORSAIR", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 modifyMaterial("CORSAIR", 350, 0.6F, 2.5F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4
modifyMaterial("GULF_HARAD", 350, 0.6F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 0/4 modifyMaterial("GULF_HARAD", 350, 0.6F, 2.5F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 0/4
modifyMaterial("UMBAR", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 2/4 (Unupgraded) modifyMaterial("UMBAR", 450, 0.6F, 2.5F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 2/4 (Unupgraded)
modifyMaterial("MOREDAIN", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4 modifyMaterial("MOREDAIN", 350, 0.6F, 2.0F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4
//Elves //Elves
modifyMaterial("WOOD_ELVEN", 500, 0.6F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 4/4 (Unupgraded) modifyMaterial("WOOD_ELVEN", 500, 0.6F, 3.0F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 4/4 (Unupgraded)
// Custom // Custom
modifyMaterial("UTUMNO", 1500, 0.7F, classNode); modifyMaterial("UTUMNO", 1500, 0.7F, 3.5F, classNode);
addMaterial("RED_DWARF", classNode); addMaterial("RED_DWARF", classNode);
addMaterial("WIZARD", classNode); addMaterial("WIZARD", classNode);
@ -96,11 +96,12 @@ public class LOTRMaterialTransformer implements IClassTransformer {
classNode.fields.add(field); classNode.fields.add(field);
} }
public void modifyMaterial(String fieldName, int durability, float protection, ClassNode classNode) { public void modifyMaterial(String fieldName, int durability, float protection, float weapon_damage, ClassNode classNode) {
MethodNode clinit = null; MethodNode clinit = null;
boolean foundField = false; boolean foundField = false;
boolean durabilityModified = false; boolean durabilityModified = false;
boolean protectionModified = false; boolean protectionModified = false;
boolean damageModified = false;
// First, find the <clinit> method // First, find the <clinit> method
for (MethodNode method : classNode.methods) { for (MethodNode method : classNode.methods) {
@ -152,7 +153,17 @@ public class LOTRMaterialTransformer implements IClassTransformer {
} }
} }
if (durabilityModified && protectionModified) { if (foundField && !damageModified && insn instanceof MethodInsnNode && ((MethodInsnNode) insn).name.equals("setDamage")) {
AbstractInsnNode damage_insn = insn.getPrevious();
if (damage_insn instanceof LdcInsnNode) {
((LdcInsnNode) damage_insn).cst = weapon_damage;
System.out.println("[CinderLoE] Updated damage for " + fieldName + " to " + weapon_damage);
damageModified = true;
}
}
if (durabilityModified && protectionModified && damageModified) {
return; return;
} }
} }

Loading…
Cancel
Save