Updated server/servermodlauncher, added arcanite necklace

This commit is contained in:
mstoppelli
2018-12-09 17:53:46 -05:00
parent ac04253f75
commit bf252ba215
37 changed files with 243 additions and 55 deletions

View File

@@ -0,0 +1,62 @@
package mod.sin.armour;
import com.wurmonline.server.MiscConstants;
import com.wurmonline.server.items.*;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.ItemTemplateBuilder;
import java.io.IOException;
import java.util.logging.Logger;
public class ArcaniteNecklace implements ItemTypes, MiscConstants {
public static Logger logger = Logger.getLogger(ArcaniteNecklace.class.getName());
public static int templateId;
private String name = "arcanite necklace";
public void createTemplate() throws IOException {
/*ItemTemplateCreator.createItemTemplate(473, 3, "drake hide jacket", "drake hide jackets", "excellent", "good", "ok", "poor",
* "A jacket made from finest drake hide with brass husks.",
* new short[]{108, 44, 23, 4, 99},
* 1060, 1, 0, 29030400, 2, 40, 40, -10, new byte[]{2},
* "model.armour.torso.dragon.", 70.0f, 600, 16, 100000, true, 9);
*/
ItemTemplateBuilder itemBuilder = new ItemTemplateBuilder("mod.item.arcanite.necklace");
itemBuilder.name(name, "arcanite necklaces", "A strange necklace, seems to have a slot for a gem...");
itemBuilder.itemTypes(new short[]{ // {108, 44, 23, 4, 99} - Drake hide jacket
ItemTypes.ITEM_TYPE_NAMED,
ItemTypes.ITEM_TYPE_REPAIRABLE,
ItemTypes.ITEM_TYPE_METAL,
ItemTypes.ITEM_TYPE_ARMOUR
});
itemBuilder.imageNumber((short) 268);
itemBuilder.behaviourType((short) 1);
itemBuilder.combatDamage(0);
itemBuilder.decayTime(Long.MAX_VALUE);
itemBuilder.dimensions(1, 1, 1);
itemBuilder.primarySkill(-10);
itemBuilder.bodySpaces(new byte[] {29, 36});
itemBuilder.modelName("model.decoration.necklace.");
itemBuilder.difficulty(90.0f);
itemBuilder.weightGrams(1000);
itemBuilder.material(Materials.MATERIAL_SERYLL);
itemBuilder.value(1000000);
ItemTemplate template = itemBuilder.build();
templateId = template.getTemplateId();
logger.info(name+" TemplateID: "+templateId);
}
public void initCreationEntry(){
logger.info("initCreationEntry()");
if(templateId > 0){
logger.info("Creating "+name+" creation entry, ID = "+templateId);
CreationEntryCreator.createSimpleEntry(SkillList.SMITHING_GOLDSMITHING, ItemList.anvilSmall, ItemList.seryllBar,
templateId, false, true, 0.0f, false, false, CreationCategories.ARMOUR);
//final AdvancedCreationEntry entry = CreationEntryCreator.createAdvancedEntry(SkillList.SMITHING_WEAPON_HEADS,
// ItemList.ironBand, ItemList.shaft, templateId, false, false, 0f, true, false, CreationCategories.TOOLS);
//entry.addRequirement(new CreationRequirement(1, ItemList.woodenHandleSword, 2, true));
//entry.addRequirement(new CreationRequirement(2, ItemList.nailsIronSmall, 1, true));
}else{
logger.info(name+" does not have a template ID on creation entry.");
}
}
}

View File

@@ -0,0 +1,65 @@
package mod.sin.armour;
import com.wurmonline.server.MiscConstants;
import com.wurmonline.server.items.*;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.ItemTemplateBuilder;
import java.io.IOException;
import java.util.logging.Logger;
public class ArcaniteNecklaceFocus implements ItemTypes, MiscConstants {
public static Logger logger = Logger.getLogger(ArcaniteNecklaceFocus.class.getName());
public static int templateId;
private String name = "arcanite necklace of focus";
public void createTemplate() throws IOException {
/*ItemTemplateCreator.createItemTemplate(473, 3, "drake hide jacket", "drake hide jackets", "excellent", "good", "ok", "poor",
* "A jacket made from finest drake hide with brass husks.",
* new short[]{108, 44, 23, 4, 99},
* 1060, 1, 0, 29030400, 2, 40, 40, -10, new byte[]{2},
* "model.armour.torso.dragon.", 70.0f, 600, 16, 100000, true, 9);
*/
ItemTemplateBuilder itemBuilder = new ItemTemplateBuilder("mod.item.arcanite.necklace.focus");
itemBuilder.name(name, "arcanite necklaces of focus", "A strange necklace, slotted with a star ruby");
itemBuilder.itemTypes(new short[]{ // {108, 44, 23, 4, 99} - Drake hide jacket
ItemTypes.ITEM_TYPE_NAMED,
ItemTypes.ITEM_TYPE_REPAIRABLE,
ItemTypes.ITEM_TYPE_METAL,
ItemTypes.ITEM_TYPE_ARMOUR,
ItemTypes.ITEM_TYPE_MAGIC
});
itemBuilder.imageNumber((short) 268);
itemBuilder.behaviourType((short) 1);
itemBuilder.combatDamage(0);
itemBuilder.decayTime(Long.MAX_VALUE);
itemBuilder.dimensions(1, 1, 1);
itemBuilder.primarySkill(-10);
itemBuilder.bodySpaces(new byte[] {29, 36});
itemBuilder.modelName("model.decoration.necklace.");
itemBuilder.difficulty(90.0f);
itemBuilder.weightGrams(1000);
itemBuilder.material(Materials.MATERIAL_SERYLL);
itemBuilder.value(1000000);
ItemTemplate template = itemBuilder.build();
templateId = template.getTemplateId();
logger.info(name+" TemplateID: "+templateId);
}
public void initCreationEntry(){
logger.info("initCreationEntry()");
if(templateId > 0){
logger.info("Creating "+name+" creation entry, ID = "+templateId);
//CreationEntryCreator.createSimpleEntry(SkillList.SMITHING_GOLDSMITHING, ArcaniteNecklace.templateId, ItemList.rubyStar,
//templateId, true, true, 0.0f, false, false, CreationCategories.ARMOUR);
CreationEntryCreator.createAdvancedEntry(SkillList.SMITHING_GOLDSMITHING, ArcaniteNecklace.templateId, ItemList.rubyStar,
templateId, true, false, 0.0f, true, false, CreationCategories.JEWELRY);
//final AdvancedCreationEntry entry = CreationEntryCreator.createAdvancedEntry(SkillList.SMITHING_WEAPON_HEADS,
// ItemList.ironBand, ItemList.shaft, templateId, false, false, 0f, true, false, CreationCategories.TOOLS);
//entry.addRequirement(new CreationRequirement(1, ItemList.woodenHandleSword, 2, true));
//entry.addRequirement(new CreationRequirement(2, ItemList.nailsIronSmall, 1, true));
}else{
logger.info(name+" does not have a template ID on creation entry.");
}
}
}

View File

@@ -4,6 +4,7 @@ import com.wurmonline.mesh.Tiles;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -68,7 +69,8 @@ public class Avenger implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("slam");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
//builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER);
builder.baseCombatRating(45.0f);
builder.combatDamageType(Wound.TYPE_COLD);
builder.maxPercentOfCreatures(0.005f);

View File

@@ -5,6 +5,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -62,7 +63,8 @@ public class Charger implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("burn");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
//builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER);
builder.baseCombatRating(6.5f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.denMaterial(Materials.MATERIAL_WOOD_BIRCH);

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
import com.wurmonline.shared.constants.CreatureTypes;
@@ -53,7 +54,7 @@ public class Facebreyker implements ModCreature, CreatureTypes {
builder.handDamString("slashe");
builder.kickDamString("eviscerate");
builder.maxAge(200);
builder.armourType(10);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(80.0f);
builder.combatDamageType(Wound.TYPE_CRUSH);
builder.maxGroupAttackSize(100);

View File

@@ -3,6 +3,7 @@ package mod.sin.creatures;
import com.wurmonline.mesh.Tiles;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
@@ -55,7 +56,7 @@ public class FireCrab implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("claw");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_CLOTH);
builder.baseCombatRating(7.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(100);

View File

@@ -3,6 +3,7 @@ package mod.sin.creatures;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
@@ -65,7 +66,7 @@ public class FireGiant implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("maul");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER);
builder.baseCombatRating(37.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(100);

View File

@@ -3,6 +3,7 @@ package mod.sin.creatures;
import com.wurmonline.mesh.Tiles;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
@@ -54,7 +55,7 @@ public class ForestSpider implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("pierce");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_CLOTH);
builder.baseCombatRating(10.0f);
builder.combatDamageType(Wound.TYPE_POISON);
builder.denMaterial(Materials.MATERIAL_STONE);

View File

@@ -4,6 +4,7 @@ import com.wurmonline.mesh.Tiles;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
@@ -71,7 +72,7 @@ public class Giant implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("maul");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER);
builder.baseCombatRating(32.0f);
builder.combatDamageType(Wound.TYPE_ACID);
builder.denMaterial(Materials.MATERIAL_WOOD_BIRCH);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
@@ -61,7 +62,7 @@ public class GuardianMagranon implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("hit");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER);
builder.baseCombatRating(30.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(100);

View File

@@ -5,6 +5,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -64,7 +65,7 @@ public class HornedPony implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("horn");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(Servers.localServer.PVPSERVER ? 15.0f : 20.0f);
builder.combatDamageType(Wound.TYPE_INTERNAL);
builder.maxPercentOfCreatures(0.001f);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,7 @@ public class IceCat implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("claw");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_CLOTH);
builder.baseCombatRating(5.0f);
builder.combatDamageType(Wound.TYPE_COLD);
builder.maxGroupAttackSize(100);

View File

@@ -4,6 +4,7 @@ import com.wurmonline.mesh.Tiles;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
@@ -55,7 +56,7 @@ public class LargeBoar implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("kick");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_CLOTH);
builder.baseCombatRating(18.0f);
builder.combatDamageType(Wound.TYPE_CRUSH);
builder.denMaterial(Materials.MATERIAL_WOOD_BIRCH);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -47,7 +48,7 @@ public class Reaper implements ModCreature, CreatureTypes {
builder.handDamString("slice");
builder.kickDamString("reap");
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(55.0f);
builder.combatDamageType(Wound.TYPE_PIERCE);
builder.maxGroupAttackSize(100);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -47,7 +48,7 @@ public class SpectralDrake implements ModCreature {
builder.handDamString("claw");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_LEATHER_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER_DRAGON);
builder.baseCombatRating(60.0f);
builder.combatDamageType(Wound.TYPE_COLD);
builder.maxGroupAttackSize(100);

View File

@@ -4,6 +4,7 @@ import com.wurmonline.mesh.Tiles;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -75,7 +76,7 @@ public class SpiritTroll implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("maul");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER);
builder.baseCombatRating(26.0f);
builder.combatDamageType(Wound.TYPE_COLD);
builder.denMaterial(Materials.MATERIAL_WOOD_BIRCH);

View File

@@ -3,6 +3,7 @@ package mod.sin.creatures;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -57,7 +58,7 @@ public class Terror implements ModCreature, CreatureTypes {
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(3.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(10);

View File

@@ -5,6 +5,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -79,7 +80,7 @@ public class WyvernBlack implements ModCreature, CreatureTypes {
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTypes.ARMOUR_CLOTH : ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTemplate.ARMOUR_TYPE_CLOTH : ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(28.0f);
builder.combatDamageType(Wound.TYPE_PIERCE);
builder.maxGroupAttackSize(10);

View File

@@ -4,6 +4,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -79,7 +80,7 @@ public class WyvernBlue implements ModCreature, CreatureTypes {
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTypes.ARMOUR_CLOTH : ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTemplate.ARMOUR_TYPE_CLOTH : ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(24.0f);
builder.combatDamageType(Wound.TYPE_WATER);
builder.maxGroupAttackSize(10);

View File

@@ -5,6 +5,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -77,7 +78,7 @@ public class WyvernGreen implements ModCreature, CreatureTypes {
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTypes.ARMOUR_CLOTH : ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTemplate.ARMOUR_TYPE_CLOTH : ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(27.0f);
builder.combatDamageType(Wound.TYPE_ACID);
builder.maxGroupAttackSize(10);

View File

@@ -5,6 +5,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -77,7 +78,7 @@ public class WyvernRed implements ModCreature, CreatureTypes {
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTypes.ARMOUR_LEATHER : ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTemplate.ARMOUR_TYPE_CLOTH : ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(30.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(10);

View File

@@ -5,6 +5,7 @@ import com.wurmonline.server.Servers;
import com.wurmonline.server.behaviours.Vehicle;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -79,7 +80,7 @@ public class WyvernWhite implements ModCreature, CreatureTypes {
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTypes.ARMOUR_CLOTH : ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTemplate.ARMOUR_TYPE_CLOTH : ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(25.0f);
builder.combatDamageType(Wound.TYPE_COLD);
builder.maxGroupAttackSize(10);

View File

@@ -3,6 +3,7 @@ package mod.sin.creatures.titans;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,8 @@ public class Ifrit implements ModCreature, CreatureTypes {
builder.handDamString("burn");
builder.kickDamString("ignite");
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
//builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(99.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(150);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures.titans;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,8 @@ public class IfritFiend implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("burn");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER_DRAGON);
//builder.armourType(ArmourTypes.ARMOUR_LEATHER_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER_DRAGON);
builder.baseCombatRating(25.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxPercentOfCreatures(0.005f);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures.titans;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,8 @@ public class IfritSpider implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("burn");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
//builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_CLOTH);
builder.baseCombatRating(15.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxPercentOfCreatures(0.005f);

View File

@@ -3,6 +3,7 @@ package mod.sin.creatures.titans;
import com.wurmonline.server.Servers;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,8 @@ public class Lilith implements ModCreature, CreatureTypes {
builder.handDamString("slashe");
builder.kickDamString("eviscerate");
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
//builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_SCALE_DRAGON);
builder.baseCombatRating(99.0f);
builder.combatDamageType(Wound.TYPE_INFECTION);
builder.maxGroupAttackSize(150);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures.titans;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,8 @@ public class LilithWraith implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("claw");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER_DRAGON);
//builder.armourType(ArmourTypes.ARMOUR_LEATHER_DRAGON);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_LEATHER_DRAGON);
builder.baseCombatRating(25.0f);
builder.combatDamageType(Wound.TYPE_INFECTION);
builder.maxPercentOfCreatures(0.005f);

View File

@@ -2,6 +2,7 @@ package mod.sin.creatures.titans;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTemplate;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
@@ -49,7 +50,8 @@ public class LilithZombie implements ModCreature, CreatureTypes {
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("claw");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
//builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.armourType(ArmourTemplate.ARMOUR_TYPE_CLOTH);
builder.baseCombatRating(15.0f);
builder.combatDamageType(Wound.TYPE_INFECTION);
builder.maxPercentOfCreatures(0.005f);

View File

@@ -19,7 +19,6 @@ import org.gotti.wurmunlimited.modloader.classhooks.InvocationHandlerFactory;
import org.gotti.wurmunlimited.modsupport.actions.ModActions;
import com.wurmonline.server.behaviours.ActionEntry;
import com.wurmonline.server.combat.Armour;
import com.wurmonline.server.combat.Weapon;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
@@ -107,6 +106,8 @@ public class ItemMod {
public static StableContract STABLE_CONTRACT = new StableContract();
public static MoreAnchors MORE_ANCHORS = new MoreAnchors();
public static WoodEssence WOOD_ESSENCE = new WoodEssence();
public static ArcaniteNecklace ARCANITE_NECKLACE = new ArcaniteNecklace();
public static ArcaniteNecklaceFocus ARCANITE_NECKLACE_FOCUS = new ArcaniteNecklaceFocus();
public static void createItems(){
logger.info("createItems()");
@@ -144,6 +145,8 @@ public class ItemMod {
PIPING_KIT.createTemplate();
STABLE_CONTRACT.createTemplate();
WOOD_ESSENCE.createTemplate();
ARCANITE_NECKLACE.createTemplate();
ARCANITE_NECKLACE_FOCUS.createTemplate();
// Arena Fragments
@@ -228,6 +231,9 @@ public class ItemMod {
//HUGE_CRATE.initCreationEntry();
MORE_ANCHORS.initCreationEntry();
WOOD_ESSENCE.initCreationEntry();
ARCANITE_NECKLACE.initCreationEntry();
ARCANITE_NECKLACE_FOCUS.initCreationEntry();
// Spectral set
/*SPECTRAL_BOOT.initCreationEntry();
@@ -265,12 +271,12 @@ public class ItemMod {
ItemList.staffSteel, false, true, 0.0f, false, false, CreationCategories.BLADES);*/
}
public static void createCustomArmours(){
/**public static void createCustomArmours(){
try {
logger.info("Beginning custom armour creation.");
Map<Integer, Armour> armours = ReflectionUtil.getPrivateField(null, ReflectionUtil.getField(Armour.class, "armours"));
armours.put(SpectralBoot.templateId, new Armour(SpectralBoot.templateId, 0.002f, 0.3f));
armours.put(SpectralBoot.templateId, new ArmourTemplate(SpectralBoot.templateId, ArmourTemplate.ARMOUR_TYPE_LEATHER_DRAGON, 0.3f));
armours.put(SpectralCap.templateId, new Armour(SpectralCap.templateId, 0.003f, 0.3f));
armours.put(SpectralGlove.templateId, new Armour(SpectralGlove.templateId, 0.002f, 0.3f));
armours.put(SpectralHose.templateId, new Armour(SpectralHose.templateId, 0.0075f, 0.3f));
@@ -288,7 +294,7 @@ public class ItemMod {
} catch (IllegalArgumentException | IllegalAccessException | ClassCastException | NoSuchFieldException e) {
e.printStackTrace();
}
}
}**/
public static void createCustomWeapons(){
try {
@@ -479,7 +485,7 @@ public class ItemMod {
// Still need to override the method for getting spaceLeft
createCustomWeapons();
createCustomArmours();
//createCustomArmours();
// Make huge crates larger
//ItemTemplate hugeCrate = ItemTemplateFactory.getInstance().getTemplate(HUGE_CRATE.getTemplateId());

View File

@@ -140,7 +140,7 @@ implements WurmServerMod, Configurable, PreInitable, Initable, ItemTemplatesCrea
Arena.preInit();
Titans.preInit();
RareSpawns.preInit();
PlayerTitles.preInit();
//PlayerTitles.preInit();
TeleportHandler.preInit();
MethodsBestiary.preInit();
MissionCreator.preInit();
@@ -336,7 +336,7 @@ implements WurmServerMod, Configurable, PreInitable, Initable, ItemTemplatesCrea
@Override
public void onPlayerLogin(Player p) {
DatabaseHelper.onPlayerLogin(p);
PlayerTitles.awardCustomTitles(p);
//PlayerTitles.awardCustomTitles(p);
}
@Override

View File

@@ -10,6 +10,7 @@ import javassist.ClassPool;
import javassist.CtClass;
import javassist.NotFoundException;
import javassist.bytecode.Descriptor;
import mod.sin.armour.ArcaniteNecklaceFocus;
import mod.sin.armour.GlimmerscaleVest;
import mod.sin.lib.Util;
import mod.sin.wyvern.MiscChanges;
@@ -33,6 +34,7 @@ public class ItemBonusOverhaul {
*/
public static void initializeBonuses() throws NoSuchTemplateException {
itemBonuses.add(new ItemBonusWrapper(GlimmerscaleVest.templateId, SpellEffectsEnum.ITEM_RING_CR, false, 1.0f, false));
itemBonuses.add(new ItemBonusWrapper(ArcaniteNecklaceFocus.templateId, SpellEffectsEnum.ITEM_NECKLACE_FOCUS, false, .2f, true));
for(ItemBonusWrapper wrapper: itemBonuses) {
ItemTemplate template = ItemTemplateFactory.getInstance().getTemplate(wrapper.getTemplateid());
@@ -137,9 +139,9 @@ public class ItemBonusOverhaul {
replace = "{ return " + ItemBonusOverhaul.class.getName() + ".getNewTimed($1); }";
Util.setBodyDeclared(thisClass, itemBonus, "isTimed", replace);
Util.setReason("Overwrite default check for bonus skillgain");
replace = "{ return " + ItemBonusOverhaul.class.getName() + ".getNewSkillBonus($1, $2); }";
Util.setBodyDeclared(thisClass, itemBonus, "getSkillGainBonus", replace);
//Util.setReason("Overwrite default check for bonus skillgain");
//replace = "{ return " + ItemBonusOverhaul.class.getName() + ".getNewSkillBonus($1, $2); }";
//Util.setBodyDeclared(thisClass, itemBonus, "getSkillGainBonus", replace);
Util.setReason("Overwrite default item spell effect lookup with one checking the custom list.");
replace = "{ return " + ItemBonusOverhaul.class.getName() + ".getNewEffectForTemplateId($1, $2); }";

View File

@@ -270,9 +270,6 @@ public class LootBounty {
if (tool != null) {
corpse.insertItem(tool, true);
}
if(random.nextInt(100) < 75){
corpse.insertItem(ItemFactory.createItem((random.nextBoolean() ? ItemList.adamantineBar : ItemList.glimmerSteelBar), 30+(30*random.nextFloat()), ""));
}
if(random.nextInt(100) < 25) {
Item item = ItemFactory.createItem(ItemUtil.getMysteryEggID(), 50, "");
item.setRarity((byte)1);