2
0
Fork 0
KeyLime17 12 months ago
parent b8e432170c
commit 8d30eb8168

@ -344,7 +344,7 @@ public class CinderLoE {
event.registerServerCommand(new CommandCinderCharacter()); event.registerServerCommand(new CommandCinderCharacter());
} }
public void registerEntities() { // Last ID added: 58 public void registerEntities() { // Last ID added: 60
///GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock"); ///GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock");
///.registerBlock(TileEntityRustedSword, "TileEntityRustedSword"); ///.registerBlock(TileEntityRustedSword, "TileEntityRustedSword");
@ -373,6 +373,8 @@ public class CinderLoE {
EntityRegistry.registerModEntity(FangornElk.class, "FangornElk", (entityID + 9), this, 64, 1, true); EntityRegistry.registerModEntity(FangornElk.class, "FangornElk", (entityID + 9), this, 64, 1, true);
EntityRegistry.registerModEntity(FangornWolf.class, "FangornWolf", (entityID + 10), this, 64, 1, true); EntityRegistry.registerModEntity(FangornWolf.class, "FangornWolf", (entityID + 10), this, 64, 1, true);
EntityRegistry.registerModEntity(Wraith.class, "Wraith", (entityID + 15), this, 64, 1, true); EntityRegistry.registerModEntity(Wraith.class, "Wraith", (entityID + 15), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptSkeleton.class, "CorruptSkeleton", (entityID + 59), this, 64, 1, true);
EntityRegistry.registerModEntity(CorruptSkeletonArcher.class, "CorruptSkeletonArcher", (entityID + 60), this, 64, 1, true);
//Misc //Misc
EntityRegistry.registerModEntity(EntityWarDart.class, "WarDart", (entityID + 44), this, 64, 1, true); EntityRegistry.registerModEntity(EntityWarDart.class, "WarDart", (entityID + 44), this, 64, 1, true);
@ -955,6 +957,8 @@ public class CinderLoE {
RenderingRegistry.registerEntityRenderingHandler(CorruptHobbit.class, new RenderCorruptHobbit()); RenderingRegistry.registerEntityRenderingHandler(CorruptHobbit.class, new RenderCorruptHobbit());
RenderingRegistry.registerEntityRenderingHandler(CorruptMan.class, new RenderCorruptMan()); RenderingRegistry.registerEntityRenderingHandler(CorruptMan.class, new RenderCorruptMan());
RenderingRegistry.registerEntityRenderingHandler(CorruptOrc.class, new RenderCorruptOrc()); RenderingRegistry.registerEntityRenderingHandler(CorruptOrc.class, new RenderCorruptOrc());
RenderingRegistry.registerEntityRenderingHandler(CorruptSkeleton.class, new RenderCorruptSkeleton());
RenderingRegistry.registerEntityRenderingHandler(CorruptSkeletonArcher.class, new RenderCorruptSkeleton());
RenderingRegistry.registerEntityRenderingHandler(SarumanFireball.class, new RenderSarumanFireball()); RenderingRegistry.registerEntityRenderingHandler(SarumanFireball.class, new RenderSarumanFireball());
RenderingRegistry.registerEntityRenderingHandler(Renegade.class, new RenderRenegade()); RenderingRegistry.registerEntityRenderingHandler(Renegade.class, new RenderRenegade());

@ -14,7 +14,7 @@ public class Materials {
public static void registerMaterials() { public static void registerMaterials() {
modifyMaterial("RED_DWARF", 700, 3.0F, 0.7F, 3, 7.0F, 10, CinderLoE.redDwarfSteel); modifyMaterial("RED_DWARF", 700, 3.0F, 0.7F, 3, 7.0F, 10, CinderLoE.redDwarfSteel);
modifyMaterial("WIZARD", 1000, 3.0F, 0.7F, 3, 7.0F, 10, null); modifyMaterial("WIZARD", 1000, 3.0F, 0.7F, 3, 7.0F, 10, null);
modifyMaterial("BONEMOLD", 674, 2.0F, 0.6F, 2, 6.0F, 10, CinderLoE.bonemold); //Original Durability = 350 | Add 162 | 2/4 modifyMaterial("BONEMOLD", 674, 2.5F, 0.6F, 2, 6.0F, 10, CinderLoE.bonemold); //Original Durability = 350 | Add 162 | 2/4
modifyMaterial("LIMWAITH_WOOD", 230, 1.5F, 0.5F, 2, 5.0F, 10, Item.getItemFromBlock(LOTRMod.driedReeds)); modifyMaterial("LIMWAITH_WOOD", 230, 1.5F, 0.5F, 2, 5.0F, 10, Item.getItemFromBlock(LOTRMod.driedReeds));
modifyMaterial("EVENT", 2400, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald); modifyMaterial("EVENT", 2400, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald);
modifyMaterial("BREE", 350, 2.5F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); modifyMaterial("BREE", 350, 2.5F, 0.6F, 2, 6.0F, 10, Items.iron_ingot);

@ -0,0 +1,37 @@
package com.zivilon.cinder_loe.client.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
/**
* ModelSunkenSkeleton - Cleric_red
* Created using Tabula 4.1.1
*/
public class ModelSunkenSkeleton
extends ModelBiped {
public ModelSunkenSkeleton() {
this(0.0f);
}
public ModelSunkenSkeleton(float f) {
super(f, 0.0f, 64, 32);
if (f == 0.0f) {
this.bipedRightArm = new ModelRenderer((ModelBase)this, 40, 16);
this.bipedRightArm.addBox(-1.0f, -2.0f, -1.0f, 2, 12, 2, f);
this.bipedRightArm.setRotationPoint(-5.0f, 2.0f, 0.0f);
this.bipedLeftArm = new ModelRenderer((ModelBase)this, 40, 16);
this.bipedLeftArm.mirror = true;
this.bipedLeftArm.addBox(-1.0f, -2.0f, -1.0f, 2, 12, 2, f);
this.bipedLeftArm.setRotationPoint(5.0f, 2.0f, 0.0f);
this.bipedRightLeg = new ModelRenderer((ModelBase)this, 0, 16);
this.bipedRightLeg.addBox(-1.0f, 0.0f, -1.0f, 2, 12, 2, f);
this.bipedRightLeg.setRotationPoint(-2.0f, 12.0f, 0.0f);
this.bipedLeftLeg = new ModelRenderer((ModelBase)this, 0, 16);
this.bipedLeftLeg.mirror = true;
this.bipedLeftLeg.addBox(-1.0f, 0.0f, -1.0f, 2, 12, 2, f);
this.bipedLeftLeg.setRotationPoint(2.0f, 12.0f, 0.0f);
}
}
}

@ -0,0 +1,36 @@
package com.zivilon.cinder_loe.client.render.corrupt;
import com.zivilon.cinder_loe.client.model.ModelFangornElk;
import com.zivilon.cinder_loe.client.model.ModelSunkenSkeleton;
import com.zivilon.cinder_loe.entity.corrupt.CorruptMan;
import lotr.client.model.LOTRModelHuman;
import lotr.client.model.LOTRModelSkeleton;
import lotr.client.render.entity.LOTRRandomSkins;
import lotr.client.render.entity.LOTRRenderBiped;
import lotr.client.render.entity.LOTRRenderGondorMan;
import lotr.client.render.entity.LOTRRenderSkeleton;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;
public class RenderCorruptSkeleton extends RenderBiped {
private static ResourceLocation skin = new ResourceLocation("textures/entity/skeleton/skeleton.png");
public RenderCorruptSkeleton() {
super(new ModelSunkenSkeleton(), 0.5F);
}
protected void func_82421_b() {
this.field_82423_g = new ModelSunkenSkeleton(1.0F);
this.field_82425_h = new ModelSunkenSkeleton(0.5F);
}
protected ResourceLocation func_110775_a(Entity entity) {
return skin;
}
}

@ -27,10 +27,6 @@ public class CorruptMan extends LOTREntityGondorMan {
public ItemStack getPickedResult(MovingObjectPosition target) { public ItemStack getPickedResult(MovingObjectPosition target) {
return null; return null;
} }
@Override
protected EntityAIBase createGondorAttackAI() {
return new LOTREntityAIAttackOnCollide(this, 1.45, true);
}
@Override @Override
public void setupNPCName() { public void setupNPCName() {

@ -0,0 +1,87 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.npc.LOTREntityGondorMan;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import lotr.common.quest.LOTRMiniQuest;
import lotr.common.quest.LOTRMiniQuestFactory;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class CorruptSkeleton extends CorruptMan {
public CorruptSkeleton(World world) {
super(world);
this.addTargetTasks(true);
}
@Override
public void setupNPCName() {
this.familyInfo.setName(LOTRNames.getGondorName(this.rand, this.familyInfo.isMale()));
}
@Override
protected void applyEntityAttributes() {
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(70.0);
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
return null;
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
public String getNPCName() {
return this.familyInfo.getName();
}
@Override
protected float getSoundPitch() {
return super.getSoundPitch() * 0.65f;
}
@Override
public String getHurtSound() {
return "mob.skeleton.hurt";
}
@Override
public String getDeathSound() {
return "mob.skeleton.death";
}
public String getLivingSound() {
return "mob.skeleton.say";
}
@Override
public String getAttackSound() {
return "mob.skeleton.say";
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corruptSpeak/all/skeleton";
}
return "corruptSpeak/all/skeleton";
}
@Override
protected void dropFewItems(boolean flag, int i) {
super.dropFewItems(flag, i);
int bones = this.rand.nextInt(3) + this.rand.nextInt(i + 1);
for (int l = 0; l < bones; ++l) {
this.dropItem(Items.bone, 1);
}
}
}

@ -0,0 +1,81 @@
package com.zivilon.cinder_loe.entity.corrupt;
import com.zivilon.cinder_loe.CinderLoE_Config;
import lotr.common.LOTRMod;
import lotr.common.entity.ai.LOTREntityAIAttackOnCollide;
import lotr.common.entity.ai.LOTREntityAIRangedAttack;
import lotr.common.entity.npc.LOTREntityNPC;
import lotr.common.entity.npc.LOTRNames;
import lotr.common.fac.LOTRFaction;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IEntityLivingData;
import net.minecraft.entity.ai.EntityAIAvoidEntity;
import net.minecraft.entity.ai.EntityAIBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class CorruptSkeletonArcher extends CorruptSkeleton {
public CorruptSkeletonArcher(World world) {
super(world);
((EntityLiving)this).tasks.addTask(0, (EntityAIBase)new LOTREntityAIRangedAttack(this, 1.4, 30, 50, 16.0f));
this.tasks.addTask(10, (EntityAIBase)new EntityAIAvoidEntity(this, EntityPlayerMP.class, 12.0f, 1.0, 1.5));
}
@Override
public void setupNPCName() {
this.familyInfo.setName(LOTRNames.getGondorName(this.rand, this.familyInfo.isMale()));
}
public void attackEntityWithRangedAttack(EntityLivingBase target, float f) {
npcArrowAttack(target, f);
}
@Override
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(data);
this.npcItemsInv.setRangedWeapon(new ItemStack(Items.bow));
this.npcItemsInv.setIdleItem(this.npcItemsInv.getRangedWeapon());
return data;
}
@Override
protected void dropFewItems(boolean flag, int i) {
super.dropFewItems(flag, i);
this.dropNPCArrows(i);
}
@Override
protected void onAttackModeChange(LOTREntityNPC.AttackMode mode, boolean mounted) {
if (mode == LOTREntityNPC.AttackMode.IDLE) {
this.setCurrentItemOrArmor(0, this.npcItemsInv.getIdleItem());
} else {
this.setCurrentItemOrArmor(0, this.npcItemsInv.getRangedWeapon());
}
}
@Override
public LOTRFaction getFaction() {
return LOTRFaction.valueOf(CinderLoE_Config.corrupt_faction);
}
@Override
public String getNPCName() {
return this.familyInfo.getName();
}
@Override
protected float getSoundPitch() {
return super.getSoundPitch() * 0.65f;
}
@Override
public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) {
return "corruptSpeak/all/skeleton";
}
return "corruptSpeak/all/skeleton";
}
}

@ -2,10 +2,7 @@ package com.zivilon.cinder_loe.mixins;
import com.zivilon.cinder_loe.enchants.LOTREnchantmentWeakProtectionRanged; import com.zivilon.cinder_loe.enchants.LOTREnchantmentWeakProtectionRanged;
import com.zivilon.cinder_loe.util.Utilities; import com.zivilon.cinder_loe.util.Utilities;
import lotr.common.enchant.LOTREnchantment; import lotr.common.enchant.*;
import lotr.common.enchant.LOTREnchantmentDamage;
import lotr.common.enchant.LOTREnchantmentProtectionRanged;
import lotr.common.enchant.LOTREnchantmentRangedDamage;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
@ -29,11 +26,20 @@ public class MixinLOTREnchantment {
LOTREnchantment protectRangedWeak2 = new LOTREnchantmentWeakProtectionRanged("protectRangedWeak2", -2).setEnchantWeight(0); LOTREnchantment protectRangedWeak2 = new LOTREnchantmentWeakProtectionRanged("protectRangedWeak2", -2).setEnchantWeight(0);
LOTREnchantment rangedWeak3 = new LOTREnchantmentRangedDamage("rangedWeak3", 0.25f); LOTREnchantment rangedWeak3 = new LOTREnchantmentRangedDamage("rangedWeak3", 0.25f);
LOTREnchantment weak4 = new LOTREnchantmentDamage("weak4", -3.0f).setEnchantWeight(0); LOTREnchantment weak4 = new LOTREnchantmentDamage("weak4", -3.0f).setEnchantWeight(0);
LOTREnchantment chill = new LOTREnchantmentDamage("strong5", 3.25f).setEnchantWeight(0);
LOTREnchantment rangedStrong4 = new LOTREnchantmentRangedDamage("rangedStrong4", 1.4f).setEnchantWeight(0).setSkilful();
LOTREnchantment meleeReach2 = new LOTREnchantmentMeleeReach("meleeReach2", 1.33f).setEnchantWeight(0).setSkilful();
LOTREnchantment meleeSpeed2 = new LOTREnchantmentMeleeSpeed("meleeSpeed2", 1.33f).setEnchantWeight(0).setSkilful();
LOTREnchantment.allEnchantments.add(protectRangedWeak1); LOTREnchantment.allEnchantments.add(protectRangedWeak1);
LOTREnchantment.allEnchantments.add(protectRangedWeak2); LOTREnchantment.allEnchantments.add(protectRangedWeak2);
rangedWeak3.allEnchantments.add(rangedWeak3); rangedWeak3.allEnchantments.add(rangedWeak3);
LOTREnchantment.allEnchantments.add(weak4); LOTREnchantment.allEnchantments.add(weak4);
LOTREnchantment.allEnchantments.add(chill);
LOTREnchantment.allEnchantments.add(rangedStrong4);
LOTREnchantment.allEnchantments.add(meleeReach2);
LOTREnchantment.allEnchantments.add(meleeSpeed2);
Field enchantsByNameField = LOTREnchantment.class.getDeclaredField("enchantsByName"); Field enchantsByNameField = LOTREnchantment.class.getDeclaredField("enchantsByName");
enchantsByNameField.setAccessible(true); enchantsByNameField.setAccessible(true);
@ -44,6 +50,10 @@ public class MixinLOTREnchantment {
enchantsByName.put(protectRangedWeak2.enchantName, protectRangedWeak2); enchantsByName.put(protectRangedWeak2.enchantName, protectRangedWeak2);
enchantsByName.put(rangedWeak3.enchantName, rangedWeak3); enchantsByName.put(rangedWeak3.enchantName, rangedWeak3);
enchantsByName.put(weak4.enchantName, weak4); enchantsByName.put(weak4.enchantName, weak4);
enchantsByName.put(chill.enchantName, chill);
enchantsByName.put(rangedStrong4.enchantName, rangedStrong4);
enchantsByName.put(meleeReach2.enchantName, meleeReach2);
enchantsByName.put(meleeSpeed2.enchantName, meleeSpeed2);
} catch (NoSuchFieldException | IllegalAccessException e) { } catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace(); e.printStackTrace();

@ -0,0 +1,63 @@
package com.zivilon.cinder_loe.mixins.overrides;
import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRMod;
import lotr.common.entity.animal.LOTREntityBear;
import lotr.common.entity.npc.LOTREntityWarg;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
@Mixin(LOTREntityBear.class)
public abstract class MixinLOTREntityBear extends Entity {
public MixinLOTREntityBear(World worldIn) {
super(worldIn);
}
/**
* @author KeyLime17
* @reason Mevans
*/
@Shadow
public abstract LOTREntityBear.BearType getBearType();
@Overwrite(remap = false)
protected void func_70628_a(boolean flag, int i) {
Item furItem = null;
int furMeta = 0;
switch(getBearType().bearID) {
case 0:
furItem = LOTRMod.fur;
break;
case 1:
furItem = CinderLoE.cinderFurItem;
furMeta = 5;
break;
case 2:
furItem = CinderLoE.cinderFurItem;
furMeta = 4;
break;
}
int furs = 1 + this.rand.nextInt(3) + this.rand.nextInt(i + 1);
for (int l = 0; l < furs; l++)
entityDropItem(new ItemStack(furItem, 1, furMeta), 0.0F);
int bones = 2 + this.rand.nextInt(2) + this.rand.nextInt(i + 1);
for (int j = 0; j < bones; j++)
dropItem(LOTRMod.wargBone, 1);
if (flag) {
int rugChance = 50 - i * 8;
rugChance = Math.max(rugChance, 1);
if (this.rand.nextInt(rugChance) == 0)
entityDropItem(new ItemStack(LOTRMod.wargskinRug, 1, (getBearType()).bearID), 0.0F);
}
}
}

@ -0,0 +1,48 @@
package com.zivilon.cinder_loe.mixins.overrides;
import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRMod;
import lotr.common.entity.animal.LOTREntityBear;
import lotr.common.item.LOTRItemLionRug;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
@Mixin(LOTREntityBear.class)
public abstract class MixinLOTREntityLioness extends Entity {
public MixinLOTREntityLioness(World worldIn) {
super(worldIn);
}
/**
* @author KeyLime17
* @reason Mevans
*/
protected LOTRItemLionRug.LionRugType getLionRugType() {
return LOTRItemLionRug.LionRugType.LIONESS;
}
@Overwrite(remap = false)
protected void func_70628_a(boolean flag, int i) {
Item furItem = CinderLoE.cinderFurItem;
int furMeta = 6;
int furs = 1 + this.rand.nextInt(3) + this.rand.nextInt(i + 1);
for (int l = 0; l < furs; l++)
entityDropItem(new ItemStack(furItem, 1, furMeta), 0.0F);
if (flag) {
int rugChance = 50 - i * 8;
rugChance = Math.max(rugChance, 1);
if (this.rand.nextInt(rugChance) == 0)
entityDropItem(new ItemStack(LOTRMod.lionRug, 1, (getLionRugType()).lionID), 0.0F);
}
}
}

@ -0,0 +1,17 @@
package com.zivilon.cinder_loe.mixins.overrides;
import lotr.client.gui.LOTRGuiMap;
import net.minecraft.util.ResourceLocation;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(LOTRGuiMap.class)
public class MixinSepiaOverride {
}

@ -77,7 +77,7 @@ item.lotr:helmetWarlord.name=Warlord Headdress
item.lotr:bodyWarlord.name=Warlord Chestplate item.lotr:bodyWarlord.name=Warlord Chestplate
item.lotr:legsWarlord.name=Warlord Leggings item.lotr:legsWarlord.name=Warlord Leggings
item.lotr:bootsWarlord.name=Warlord Boots item.lotr:bootsWarlord.name=Warlord Boots
item.lotr:cleaver=Cleaver item.lotr:cleaver.name=Cleaver
item.lotr:spearUnnamed.name=Drannach Oriour item.lotr:spearUnnamed.name=Drannach Oriour
item.lotr:frostblade.name=Frostblade item.lotr:frostblade.name=Frostblade
item.lotr:whip.name=Whip item.lotr:whip.name=Whip
@ -283,6 +283,8 @@ entity.cinder_loe.CorruptElf.name=Corrupt Elf
entity.cinder_loe.CorruptEnt.name=Corrupt Ent entity.cinder_loe.CorruptEnt.name=Corrupt Ent
entity.cinder_loe.CorruptHobit.name=Corrupt Hobbit entity.cinder_loe.CorruptHobit.name=Corrupt Hobbit
entity.cinder_loe.CorruptOrc.name=Corrupt Orc entity.cinder_loe.CorruptOrc.name=Corrupt Orc
entity.cinder_loe.CorruptSkeleton.name=Restless Undead
entity.cinder_loe.CorruptSkeletonArcher.name=Restless Undead
entity.cinder_loe.BladorthinSmith.name=Bladorthin Smith entity.cinder_loe.BladorthinSmith.name=Bladorthin Smith
@ -337,6 +339,10 @@ lotr.enchant.protectRangedWeak1=Punctured
lotr.enchant.protectRangedWeak2=Pierced lotr.enchant.protectRangedWeak2=Pierced
lotr.enchant.weak4=Bent lotr.enchant.weak4=Bent
lotr.enchant.rangedWeak3=Cracked lotr.enchant.rangedWeak3=Cracked
lotr.enchant.strong5=Infused
lotr.enchant.meleeReach2=Lengthy
lotr.enchant.meleeSpeed2=Rapid
lotr.enchant.rangedStrong4=Forceful
lotr.unit.Banner_Warg=Warg Rider Banner lotr.unit.Banner_Warg=Warg Rider Banner
lotr.unit.Banner_Horse=Mounted Banner Bearer lotr.unit.Banner_Horse=Mounted Banner Bearer

@ -0,0 +1,6 @@
ᛒᛟᚹ ᛒᛖᚠᛟᚱᛖ ᚦᛖ ᛞᛖᛞ!
ᛒᛖᚷ ᚠᛟᚱ ᛗᛖᚱᚲᛁ!
ᛖᛏᛖᚱᚾᚨᛚ ᛈᚨᛁᚾ ᚢᛈᛟᚾ ᛁᛟᚢ!
ᛞᛖᚦ ᚢᛈᛟᚾ ᛁᛟᚢ!
ᛈᚨᛁᚾ, ᛊᚺᚨᛗᛖ, ᚺᛟᚱᚱᛟᚱ ᛏᛟ ᛁᛟᚢ!
ᛞᚱᛟᚹᚾ ᛁᚾ ᛒᛚᛟᛟᛞ ᛊᛚᚨᚢᛖ!

@ -0,0 +1,6 @@
ᛒᛟᚹ ᛒᛖᚠᛟᚱᛖ ᚦᛖ ᛞᛖᛞ!
ᛒᛖᚷ ᚠᛟᚱ ᛗᛖᚱᚲᛁ!
ᛖᛏᛖᚱᚾᚨᛚ ᛈᚨᛁᚾ ᚢᛈᛟᚾ ᛁᛟᚢ!
ᛞᛖᚦ ᚢᛈᛟᚾ ᛁᛟᚢ!
ᛈᚨᛁᚾ, ᛊᚺᚨᛗᛖ, ᚺᛟᚱᚱᛟᚱ ᛏᛟ ᛁᛟᚢ!
ᛞᚱᛟᚹᚾ ᛁᚾ ᛒᛚᛟᛟᛞ ᛊᛚᚨᚢᛖ!
Loading…
Cancel
Save