Update to latest stable WyvernMods (1.6).

This commit is contained in:
Sindusk
2018-05-03 11:04:10 -04:00
parent 8d4cf4af8d
commit fd333de0ec
83 changed files with 6649 additions and 2656 deletions

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -19,14 +20,28 @@ public class Avenger implements ModCreature, CreatureTypes {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -35,7 +50,7 @@ public class Avenger implements ModCreature, CreatureTypes {
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.avenger", "Avenger", "Sent from the heavens to purge the unworthy.",
"model.creature.humanoid.avenger.light", types, BodyTemplate.TYPE_HUMAN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"model.creature.humanoid.avenger.light", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_HUMAN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.giant", "sound.death.giant", "sound.combat.hit.giant", "sound.combat.hit.giant",
0.3f, 25f, 0f, 0f, 0.0f, 0.0f, 1.2f, 500,
new int[]{}, 15, 70, Materials.MATERIAL_MEAT_HUMANOID);

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -46,24 +47,24 @@ public class Charger implements ModCreature, CreatureTypes {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.charger", "Charger", "A blazing-fast stallion.",
"model.creature.quadraped.horse.hell", types, BodyTemplate.TYPE_HORSE, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.horse", "sound.death.horse", "sound.combat.hit.horse", "sound.combat.hit.horse",
1.1f, 12f, 10f, 10.0f, 0.0f, 0.0f, 1.6f, 1000,
1.1f, 9f, 7f, 7f, 0.0f, 0.0f, 1.6f, 1000,
new int[]{}, 10, 74, Materials.MATERIAL_MEAT_HORSE);
builder.skill(SkillList.BODY_STRENGTH, 37.0f);
builder.skill(SkillList.BODY_STRENGTH, 32.0f);
builder.skill(SkillList.BODY_STAMINA, 30.0f);
builder.skill(SkillList.BODY_CONTROL, 25.0f);
builder.skill(SkillList.MIND_LOGICAL, 30.0f);
builder.skill(SkillList.MIND_SPEED, 20.0f);
builder.skill(SkillList.SOUL_STRENGTH, 30.0f);
builder.skill(SkillList.SOUL_DEPTH, 30.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 25.0f);
builder.skill(SkillList.GROUP_FIGHTING, 20.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 20.0f);
builder.skill(SkillList.GROUP_FIGHTING, 16.0f);
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("burn");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.baseCombatRating(13.0f);
builder.baseCombatRating(6.5f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.denMaterial(Materials.MATERIAL_WOOD_BIRCH);
builder.denName("charger lair");
@@ -87,13 +88,13 @@ public class Charger implements ModCreature, CreatureTypes {
vehicle.createPassengerSeats(0);
vehicle.setSeatFightMod(0, 0.8f, 1.1f);
vehicle.setSeatOffset(0, 0.0f, 0.0f, 0.3f);
vehicle.setSeatOffset(0, 0.0f, 0.0f, 0.0f);
vehicle.setCreature(true);
vehicle.setSkillNeeded(37.0f);
vehicle.setSkillNeeded(Servers.localServer.PVPSERVER ? 25.0f : 37.0f);
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(0.09f);
vehicle.setMaxHeightDiff(0.06f);
vehicle.setMaxDepth(-1.7f);
vehicle.setMaxSpeed(46.0f);
vehicle.setMaxSpeed(Servers.localServer.PVPSERVER ? 32.0f : 34.0f);
vehicle.setCommandType((byte) 3);
vehicle.setCanHaveEquipment(true);
}
@@ -105,12 +106,14 @@ public class Charger implements ModCreature, CreatureTypes {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_STEPPE.id)
.addCreatures(templateId, 1)
.build(3);
if(!Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_STEPPE.id)
.addCreatures(templateId, 1)
.build(3);
new EncounterBuilder(Tiles.Tile.TILE_STEPPE.id)
.addCreatures(templateId, 1)
.build(1);
new EncounterBuilder(Tiles.Tile.TILE_STEPPE.id)
.addCreatures(templateId, 1)
.build(1);
}
}
}

View File

@@ -0,0 +1,67 @@
package mod.sin.creatures;
import com.wurmonline.server.bodys.BodyTemplate;
import com.wurmonline.server.bodys.Wound;
import com.wurmonline.server.combat.ArmourTypes;
import com.wurmonline.server.creatures.CreatureTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
public class FireCrab implements ModCreature, CreatureTypes {
public static int templateId;
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_NON_NEWBIE
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.fire.crab", "Fire crab", "A crab lit on fire. I wonder how...",
"model.creature.quadraped.crab", types, BodyTemplate.TYPE_DOG, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.combat.crab.death", "sound.combat.crab.death", "sound.combat.crab.attack", "sound.combat.crab.attack2",
0.6f, 9f, 0f, 12.0f, 0.0f, 0.0f, 1.0f, 500,
new int[]{}, 10, 74, Materials.MATERIAL_MEAT_SEAFOOD);
builder.skill(SkillList.BODY_STRENGTH, 20.0f);
builder.skill(SkillList.BODY_STAMINA, 30.0f);
builder.skill(SkillList.BODY_CONTROL, 35.0f);
builder.skill(SkillList.MIND_LOGICAL, 30.0f);
builder.skill(SkillList.MIND_SPEED, 30.0f);
builder.skill(SkillList.SOUL_STRENGTH, 30.0f);
builder.skill(SkillList.SOUL_DEPTH, 30.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 35.0f);
builder.skill(SkillList.GROUP_FIGHTING, 25.0f);
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("claw");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.baseCombatRating(7.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(100);
templateId = builder.getTemplateId();
return builder;
}
@Override
public void addEncounters() {
if (templateId == 0)
return;
}
}

View File

@@ -0,0 +1,84 @@
package mod.sin.creatures;
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.ArmourTypes;
import com.wurmonline.server.creatures.CreatureTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
public class FireGiant implements ModCreature, CreatureTypes {
public static int templateId;
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.fire.giant", "Fire giant", "A lumbering, burning hulk.",
"model.creature.humanoid.giant.forest", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_ETTIN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.giant", "sound.death.giant", "sound.combat.hit.giant", "sound.combat.hit.giant",
0.3f, 22f, 18f, 0f, 0.0f, 0.0f, 0.7f, 300,
new int[]{ItemList.heart, ItemList.eye, ItemList.gland, ItemList.tooth}, 15, 70, Materials.MATERIAL_MEAT_TOUGH);
builder.skill(SkillList.BODY_STRENGTH, 55.0f);
builder.skill(SkillList.BODY_STAMINA, 65.0f);
builder.skill(SkillList.BODY_CONTROL, 30.0f);
builder.skill(SkillList.MIND_LOGICAL, 10.0f);
builder.skill(SkillList.MIND_SPEED, 10.0f);
builder.skill(SkillList.SOUL_STRENGTH, 10.0f);
builder.skill(SkillList.SOUL_DEPTH, 10.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 70.0f);
builder.skill(SkillList.GROUP_FIGHTING, 50.0f);
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("maul");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_LEATHER);
builder.baseCombatRating(37.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(100);
templateId = builder.getTemplateId();
return builder;
}
@Override
public void addEncounters() {
if (templateId == 0)
return;
}
}

View File

@@ -20,12 +20,14 @@ public class ForestSpider implements ModCreature, CreatureTypes {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -34,7 +36,7 @@ public class ForestSpider implements ModCreature, CreatureTypes {
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.forest.spider", "Forest spider", "Found amongst trees, these spiders are dangerous and poisonous.",
"model.creature.multiped.spider.huge", types, BodyTemplate.TYPE_SPIDER, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"model.creature.multiped.spider.fog", types, BodyTemplate.TYPE_SPIDER, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.spider", "sound.death.spider", "sound.combat.hit.spider", "sound.combat.hit.spider",
0.6f, 10f, 0f, 13.0f, 0.0f, 0.0f, 1.2f, 500,
new int[]{ItemList.heart}, 10, 74, Materials.MATERIAL_MEAT_INSECT);

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -20,24 +21,39 @@ public class Giant implements ModCreature, CreatureTypes {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.giant", "Giant", "A lumbering hulk.",
"model.creature.humanoid.giant.forest", types, BodyTemplate.TYPE_ETTIN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"model.creature.humanoid.giant.forest", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_ETTIN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.giant", "sound.death.giant", "sound.combat.hit.giant", "sound.combat.hit.giant",
0.3f, 19f, 15f, 0f, 0.0f, 0.0f, 0.7f, 300,
new int[]{ItemList.heart, ItemList.eye, ItemList.gland, ItemList.tooth}, 15, 70, Materials.MATERIAL_MEAT_TOUGH);

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Server;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -52,7 +53,7 @@ public class HornedPony implements ModCreature, CreatureTypes {
Servers.localServer.PVPSERVER ? 0.75f : 0.4f, 17f, 13f, 15.0f, 0.0f, 0.0f, 1.4f, 800,
new int[]{ItemList.heart}, 10, 74, Materials.MATERIAL_MEAT_HORSE);
builder.skill(SkillList.BODY_STRENGTH, Servers.localServer.PVPSERVER ? 40.0f : 60.0f);
builder.skill(SkillList.BODY_STRENGTH, 40.0f);
builder.skill(SkillList.BODY_STAMINA, 60.0f);
builder.skill(SkillList.BODY_CONTROL, 55.0f);
builder.skill(SkillList.MIND_LOGICAL, 40.0f);
@@ -107,8 +108,10 @@ public class HornedPony implements ModCreature, CreatureTypes {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_ENCHANTED_GRASS.id)
.addCreatures(templateId, 1)
.build(2);
if(!Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_ENCHANTED_GRASS.id)
.addCreatures(templateId, 1)
.build(2);
}
}
}

View File

@@ -0,0 +1,69 @@
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.ArmourTypes;
import com.wurmonline.server.creatures.CreatureTypes;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
public class IceCat implements ModCreature, CreatureTypes {
public static int templateId;
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_NON_NEWBIE
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.ice.cat", "Iced wild cat", "A bone-chilling feline.",
"model.creature.quadraped.cat.wild", types, BodyTemplate.TYPE_DOG, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.cat", "sound.death.cat", "sound.combat.hit.cat", "sound.combat.hit.cat",
0.6f, 7f, 0f, 10.0f, 0.0f, 0.0f, 1.0f, 500,
new int[]{}, 10, 74, Materials.MATERIAL_MEAT_CAT);
builder.skill(SkillList.BODY_STRENGTH, 20.0f);
builder.skill(SkillList.BODY_STAMINA, 30.0f);
builder.skill(SkillList.BODY_CONTROL, 35.0f);
builder.skill(SkillList.MIND_LOGICAL, 30.0f);
builder.skill(SkillList.MIND_SPEED, 30.0f);
builder.skill(SkillList.SOUL_STRENGTH, 30.0f);
builder.skill(SkillList.SOUL_DEPTH, 30.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 30.0f);
builder.skill(SkillList.GROUP_FIGHTING, 20.0f);
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("claw");
builder.maxAge(100);
builder.armourType(ArmourTypes.ARMOUR_CLOTH);
builder.baseCombatRating(5.0f);
builder.combatDamageType(Wound.TYPE_COLD);
builder.maxGroupAttackSize(100);
templateId = builder.getTemplateId();
return builder;
}
@Override
public void addEncounters() {
if (templateId == 0)
return;
}
}

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -20,12 +21,14 @@ public class LargeBoar implements ModCreature, CreatureTypes {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// int[] types = new int[]{7, 6, 13, 3, 29, 39, 60, 61}; - Spider
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -71,10 +74,10 @@ public class LargeBoar implements ModCreature, CreatureTypes {
new EncounterBuilder(Tiles.Tile.TILE_SAND.id)
.addCreatures(templateId, 1)
.build(2);
.build(Servers.localServer.PVPSERVER ? 1 : 2);
new EncounterBuilder(Tiles.Tile.TILE_GRASS.id)
.addCreatures(templateId, 1)
.build(3);
.build(Servers.localServer.PVPSERVER ? 1 : 3);
}
}

View File

@@ -22,18 +22,19 @@ public class Reaper implements ModCreature, CreatureTypes {
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_FENCEBREAKER,
//CreatureTypes.C_TYPE_FENCEBREAKER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_REGENERATING
};
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.reaper", "Reaper",
"The reaper, here to claim the soul of a powerful creature... and anything else.", "model.creature.gmdark",
"The reaper, here to claim the souls of the living.", "model.creature.gmdark",
types, BodyTemplate.TYPE_HUMAN, (short) 20, (byte) 0, (short) 350, (short) 100, (short) 60, "sound.death.dragon",
"sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
0.03f, 35.0f, 45.0f, 22.0f, 40.0f, 0.0f, 2.5f, 500,
new int[]{ItemList.boneCollar}, 40, 100, Materials.MATERIAL_MEAT_HUMANOID);
0.06f, 35.0f, 45.0f, 22.0f, 40.0f, 0.0f, 1.0f, 500,
new int[]{}, 20, 70, Materials.MATERIAL_MEAT_HUMANOID);
builder.skill(SkillList.BODY_STRENGTH, 60.0f);
builder.skill(SkillList.BODY_STAMINA, 70.0f);
builder.skill(SkillList.BODY_CONTROL, 60.0f);
@@ -50,7 +51,7 @@ public class Reaper implements ModCreature, CreatureTypes {
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.baseCombatRating(55.0f);
builder.combatDamageType(Wound.TYPE_INFECTION);
builder.combatDamageType(Wound.TYPE_PIERCE);
builder.maxGroupAttackSize(100);
templateId = builder.getTemplateId();

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -35,9 +36,11 @@ public class SolDemon implements ModCreature {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_SAND.id)
.addCreatures(templateId, 2)
.build(1);
if(Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_SAND.id)
.addCreatures(templateId, 2)
.build(1);
}
new EncounterBuilder(Tiles.Tile.TILE_MYCELIUM.id)
.addCreatures(templateId, 2)

View File

@@ -22,17 +22,18 @@ public class SpectralDrake implements ModCreature {
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_FENCEBREAKER,
//CreatureTypes.C_TYPE_FENCEBREAKER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_REGENERATING
};
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.spectraldrake", "Spectral drake",
"The spectral incarnation of a defeated dragon.", "model.creature.drake.spirit", types, BodyTemplate.TYPE_DRAGON,
(short) 20, (byte) 0, (short) 350, (short) 100, (short) 60, "sound.death.dragon", "sound.death.dragon",
"sound.combat.hit.dragon", "sound.combat.hit.dragon",
0.06f, 45.0f, 50.0f, 22.0f, 45.0f, 0.0f, 2.0f, 500,
new int[]{ItemList.boneCollar}, 40, 100, Materials.MATERIAL_MEAT_DRAGON);
0.08f, 45.0f, 50.0f, 27.0f, 45.0f, 0.0f, 1.0f, 500,
new int[]{}, 20, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, 60.0f);
builder.skill(SkillList.BODY_STAMINA, 70.0f);

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -19,26 +20,44 @@ public class SpiritTroll implements ModCreature, CreatureTypes {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
// new int[]{7, 6, 40, 13, 16, 18, 29, 30, 32, 36, 39, 45, 60, 61}; - Troll
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_FENCEBREAKER,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_CLIMBER,
CreatureTypes.C_TYPE_UNDEAD,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_FENCEBREAKER,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_CLIMBER,
CreatureTypes.C_TYPE_UNDEAD,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_FENCEBREAKER,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_CLIMBER,
CreatureTypes.C_TYPE_UNDEAD,
CreatureTypes.C_TYPE_DETECTINVIS,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.spirit.troll", "Spirit troll", "A spirit troll.",
"model.creature.humanoid.troll.standard", types, BodyTemplate.TYPE_HUMAN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"model.creature.humanoid.troll.standard", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_HUMAN, (short) 5, (byte) 0, (short) 85, (short) 50, (short) 85,
"sound.death.troll", "sound.death.troll", "sound.combat.hit.troll", "sound.combat.hit.troll",
0.15f, 15f, 17f, 19.0f, 0.0f, 0.0f, 1.2f, 500,
new int[]{}, 10, 74, (byte) 82);

View File

@@ -0,0 +1,105 @@
package mod.sin.creatures;
import com.wurmonline.mesh.Tiles;
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.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.creatures.CreatureTypes;
import com.wurmonline.server.items.Item;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
import org.gotti.wurmunlimited.modsupport.vehicles.ModVehicleBehaviour;
import org.gotti.wurmunlimited.modsupport.vehicles.VehicleFacade;
public class Terror implements ModCreature, CreatureTypes {
public static int templateId;
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
int[] types = {
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_HERBIVORE,
//CreatureTypes.C_TYPE_FENCEBREAKER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_REGENERATING
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.terror", "Terror", "Run.",
"model.creature.dragon.red", types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.dragon", "sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
1.0f, 3.0f, 3.0f, 0.0f, 0.0f, 0.0f, 2.5f, 2500,
new int[]{}, 7, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, 22.0f);
builder.skill(SkillList.BODY_STAMINA, 20.0f);
builder.skill(SkillList.BODY_CONTROL, 20.0f);
builder.skill(SkillList.MIND_LOGICAL, 20.0f);
builder.skill(SkillList.MIND_SPEED, 20.0f);
builder.skill(SkillList.SOUL_STRENGTH, 20.0f);
builder.skill(SkillList.SOUL_DEPTH, 20.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 25.0f);
builder.skill(SkillList.GROUP_FIGHTING, 25.0f);
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.baseCombatRating(3.0f);
builder.combatDamageType(Wound.TYPE_BURN);
builder.maxGroupAttackSize(10);
templateId = builder.getTemplateId();
return builder;
}
public ModVehicleBehaviour getVehicleBehaviour() {
return new ModVehicleBehaviour() {
@Override
public void setSettingsForVehicle(Item item, Vehicle vehicle) {
}
@Override
public void setSettingsForVehicle(Creature creature, Vehicle v) {
VehicleFacade vehicle = wrap(v);
vehicle.createPassengerSeats(0);
vehicle.setSeatFightMod(0, 0.8f, 1.1f);
vehicle.setSeatOffset(0, 0.2f, 0.0f, 0.0f);
vehicle.setCreature(true);
vehicle.setSkillNeeded(95f);
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(0.10f);
vehicle.setMaxDepth(-50f);
vehicle.setMaxSpeed(90.0f);
vehicle.setCommandType((byte) 3);
vehicle.setCanHaveEquipment(true);
}
};
}
@Override
public void addEncounters() {
if (templateId == 0)
return;
}
}

View File

@@ -25,17 +25,34 @@ public class WyvernBlack implements ModCreature, CreatureTypes {
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
int[] types = {
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -44,12 +61,12 @@ public class WyvernBlack implements ModCreature, CreatureTypes {
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.wyvern.black", "Black wyvern", "A battle-hardened wyvern with scales as black as night.",
"model.creature.drake.black", types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"model.creature.drake.black", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.dragon", "sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
Servers.localServer.PVPSERVER ? 0.65f : 0.35f, 20.0f, 23.0f, 0.0f, 0.0f, 0.0f, 1.3f, 800,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 40, 70, Materials.MATERIAL_MEAT_DRAGON);
Servers.localServer.PVPSERVER ? 0.65f : 0.35f, 20.0f, 23.0f, 0.0f, 0.0f, 0.0f, 1.0f, 700,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 10, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, Servers.localServer.PVPSERVER ? 39f : 54f);
builder.skill(SkillList.BODY_STRENGTH, 39f);
builder.skill(SkillList.BODY_STAMINA, 50.0f);
builder.skill(SkillList.BODY_CONTROL, 50.0f);
builder.skill(SkillList.MIND_LOGICAL, 50.0f);
@@ -93,7 +110,7 @@ public class WyvernBlack implements ModCreature, CreatureTypes {
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(0.15f);
vehicle.setMaxDepth(-50f);
vehicle.setMaxSpeed(51.0f);
vehicle.setMaxSpeed(35.0f);
vehicle.setCommandType((byte) 3);
}
};
@@ -104,18 +121,18 @@ public class WyvernBlack implements ModCreature, CreatureTypes {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_SAND.id)
.addCreatures(templateId, 1)
.build(1);
if(Servers.localServer.PVPSERVER){
new EncounterBuilder(Tiles.Tile.TILE_GRASS.id)
if(!Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_SAND.id)
.addCreatures(templateId, 1)
.build(1);
//}else if(Servers.localServer.PVPSERVER){
/*new EncounterBuilder(Tiles.Tile.TILE_GRASS.id)
.addCreatures(templateId, 1)
.build(1);
new EncounterBuilder(Tiles.Tile.TILE_TREE.id)
.addCreatures(templateId, 1)
.build(1);
.build(1);*/
}
}
}

View File

@@ -0,0 +1,123 @@
package mod.sin.creatures;
import com.wurmonline.mesh.Tiles;
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.ArmourTypes;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.creatures.CreatureTypes;
import com.wurmonline.server.items.Item;
import com.wurmonline.server.items.ItemList;
import com.wurmonline.server.items.Materials;
import com.wurmonline.server.skills.SkillList;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.EncounterBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
import org.gotti.wurmunlimited.modsupport.vehicles.ModVehicleBehaviour;
import org.gotti.wurmunlimited.modsupport.vehicles.VehicleFacade;
public class WyvernBlue implements ModCreature, CreatureTypes {
public static int templateId;
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
int[] types = {
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_GRAZER,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_GRAZER,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.wyvern.blue", "Blue wyvern", "A battle-hardened wyvern with scales reflecting the colors of the sea.",
"model.creature.drake.blue", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.dragon", "sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
Servers.localServer.PVPSERVER ? 0.5f : 0.25f, 20.0f, 23.0f, 0.0f, 0.0f, 0.0f, 1.4f, 1200,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 10, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, 41.0f);
builder.skill(SkillList.BODY_STAMINA, 50.0f);
builder.skill(SkillList.BODY_CONTROL, 65.0f);
builder.skill(SkillList.MIND_LOGICAL, 50.0f);
builder.skill(SkillList.MIND_SPEED, 50.0f);
builder.skill(SkillList.SOUL_STRENGTH, 50.0f);
builder.skill(SkillList.SOUL_DEPTH, 50.0f);
builder.skill(SkillList.WEAPONLESS_FIGHTING, 50.0f);
builder.skill(SkillList.GROUP_FIGHTING, 50.0f);
builder.boundsValues(-0.5f, -1.0f, 0.5f, 1.42f);
builder.handDamString("bite");
builder.kickDamString("wingbuff");
builder.maxAge(200);
builder.armourType(Servers.localServer.PVPSERVER ? ArmourTypes.ARMOUR_CLOTH : ArmourTypes.ARMOUR_SCALE_DRAGON);
builder.baseCombatRating(24.0f);
builder.combatDamageType(Wound.TYPE_WATER);
builder.maxGroupAttackSize(10);
templateId = builder.getTemplateId();
return builder;
}
public ModVehicleBehaviour getVehicleBehaviour() {
return new ModVehicleBehaviour() {
@Override
public void setSettingsForVehicle(Item item, Vehicle vehicle) {
}
@Override
public void setSettingsForVehicle(Creature creature, Vehicle v) {
VehicleFacade vehicle = wrap(v);
vehicle.createPassengerSeats(0);
vehicle.setSeatFightMod(0, 0.9f, 1.2f);
vehicle.setSeatOffset(0, 0.2f, 0.0f, 0.0f);
vehicle.setCanHaveEquipment(true);
vehicle.setCreature(true);
vehicle.setSkillNeeded(Servers.localServer.PVPSERVER ? 45f : 50f);
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(0.18f);
vehicle.setMaxDepth(-10f);
vehicle.setMaxSpeed(38.0f);
vehicle.setCommandType((byte) 3);
}
};
}
@Override
public void addEncounters() {
if (templateId == 0)
return;
}
}

View File

@@ -25,30 +25,46 @@ public class WyvernGreen implements ModCreature, CreatureTypes {
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
int[] types = {
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_GRAZER
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_GRAZER,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_HERBIVORE,
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_GRAZER,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
// final String modelName, final int[] types, final byte bodyType, final short vision, final byte sex, final short centimetersHigh, final short centimetersLong, final short centimetersWide,
// final String deathSndMale, final String deathSndFemale, final String hitSndMale, final String hitSndFemale,
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.wyvern.green", "Green wyvern", "A battle-hardened wyvern with scales as green as the leaves.",
"model.creature.drake.green", types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"model.creature.drake.green", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.dragon", "sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
Servers.localServer.PVPSERVER ? 0.7f : 0.4f, 20.0f, 23.0f, 0.0f, 0.0f, 0.0f, 1.7f, 1500,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 40, 70, Materials.MATERIAL_MEAT_DRAGON);
Servers.localServer.PVPSERVER ? 0.7f : 0.4f, 20.0f, 23.0f, 0.0f, 0.0f, 0.0f, 1.4f, 1200,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 10, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, Servers.localServer.PVPSERVER ? 40f : 55f);
builder.skill(SkillList.BODY_STRENGTH, 39.0f);
builder.skill(SkillList.BODY_STAMINA, 50.0f);
builder.skill(SkillList.BODY_CONTROL, 50.0f);
builder.skill(SkillList.MIND_LOGICAL, 50.0f);
@@ -92,7 +108,7 @@ public class WyvernGreen implements ModCreature, CreatureTypes {
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(0.18f);
vehicle.setMaxDepth(-10f);
vehicle.setMaxSpeed(52.0f);
vehicle.setMaxSpeed(35.0f);
vehicle.setCommandType((byte) 3);
}
};
@@ -103,12 +119,14 @@ public class WyvernGreen implements ModCreature, CreatureTypes {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_GRASS.id)
.addCreatures(templateId, 1)
.build(1);
new EncounterBuilder(Tiles.Tile.TILE_TREE.id)
.addCreatures(templateId, 1)
.build(1);
if(!Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_GRASS.id)
.addCreatures(templateId, 1)
.build(1);
new EncounterBuilder(Tiles.Tile.TILE_TREE.id)
.addCreatures(templateId, 1)
.build(1);
}
}
}

View File

@@ -25,16 +25,32 @@ public class WyvernRed implements ModCreature, CreatureTypes {
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
int[] types = {
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -43,12 +59,12 @@ public class WyvernRed implements ModCreature, CreatureTypes {
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.wyvern.red", "Red wyvern", "A battle-hardened wyvern with scales as red as fire.",
"model.creature.drake.red", types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"model.creature.drake.red", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.dragon", "sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
Servers.localServer.PVPSERVER ? 0.6f : 0.17f, 22.0f, 25.0f, 0.0f, 0.0f, 0.0f, 1.4f, 900,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 40, 70, Materials.MATERIAL_MEAT_DRAGON);
Servers.localServer.PVPSERVER ? 0.6f : 0.2f, 22.0f, 25.0f, 0.0f, 0.0f, 0.0f, 1.2f, 800,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 7, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, Servers.localServer.PVPSERVER ? 37f : 52f);
builder.skill(SkillList.BODY_STRENGTH, 39.0f);
builder.skill(SkillList.BODY_STAMINA, 50.0f);
builder.skill(SkillList.BODY_CONTROL, 50.0f);
builder.skill(SkillList.MIND_LOGICAL, 50.0f);
@@ -87,11 +103,11 @@ public class WyvernRed implements ModCreature, CreatureTypes {
vehicle.setSeatFightMod(0, 0.8f, 1.1f);
vehicle.setSeatOffset(0, 0.2f, 0.0f, 0.0f);
vehicle.setCreature(true);
vehicle.setSkillNeeded(Servers.localServer.PVPSERVER ? 35 : 43f);
vehicle.setSkillNeeded(43f);
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(Servers.localServer.PVPSERVER ? 0.15f : 0.10f);
vehicle.setMaxHeightDiff(0.10f);
vehicle.setMaxDepth(-50f);
vehicle.setMaxSpeed(50.0f);
vehicle.setMaxSpeed(35.0f);
vehicle.setCommandType((byte) 3);
vehicle.setCanHaveEquipment(true);
}
@@ -103,8 +119,10 @@ public class WyvernRed implements ModCreature, CreatureTypes {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_ROCK.id)
.addCreatures(templateId, 1)
.build(1);
if(!Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_ROCK.id)
.addCreatures(templateId, 1)
.build(1);
}
}
}

View File

@@ -25,17 +25,34 @@ public class WyvernWhite implements ModCreature, CreatureTypes {
public CreatureTemplateBuilder createCreateTemplateBuilder() {
// {C_TYPE_MOVE_LOCAL, C_TYPE_VEHICLE, C_TYPE_ANIMAL, C_TYPE_LEADABLE, C_TYPE_GRAZER, C_TYPE_OMNIVORE, C_TYPE_DOMINATABLE, C_TYPE_AGG_HUMAN, C_TYPE_NON_NEWBIE, C_TYPE_BURNING}; - Hell Horse
int[] types = {
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_DOMINATABLE,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
int[] pvpTypes = {
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_MOVE_GLOBAL,
CreatureTypes.C_TYPE_VEHICLE,
CreatureTypes.C_TYPE_REGENERATING,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_SWIMMING,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_MONSTER,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_ANIMAL,
CreatureTypes.C_TYPE_NO_REBIRTH,
CreatureTypes.C_TYPE_MISSION_OK,
CreatureTypes.C_TYPE_MISSION_TRAITOR_OK
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -44,12 +61,12 @@ public class WyvernWhite implements ModCreature, CreatureTypes {
// final float naturalArmour, final float handDam, final float kickDam, final float biteDam, final float headDam, final float breathDam, final float speed, final int moveRate,
// final int[] itemsButchered, final int maxHuntDist, final int aggress) {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.wyvern.white", "White wyvern", "A battle-hardened wyvern with scales as white as the moon.",
"model.creature.drake.white", types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"model.creature.drake.white", Servers.localServer.PVPSERVER ? pvpTypes : types, BodyTemplate.TYPE_DRAGON, (short) 10, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.dragon", "sound.death.dragon", "sound.combat.hit.dragon", "sound.combat.hit.dragon",
Servers.localServer.PVPSERVER ? 0.7f : 0.3f, 17.0f, 20.0f, 0.0f, 0.0f, 0.0f, 1.4f, 900,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 40, 70, Materials.MATERIAL_MEAT_DRAGON);
Servers.localServer.PVPSERVER ? 0.7f : 0.3f, 17.0f, 20.0f, 0.0f, 0.0f, 0.0f, 1.2f, 800,
new int[]{ItemList.animalHide, ItemList.tail, ItemList.eye, ItemList.gland, ItemList.tooth}, 10, 70, Materials.MATERIAL_MEAT_DRAGON);
builder.skill(SkillList.BODY_STRENGTH, Servers.localServer.PVPSERVER ? 43f : 58f);
builder.skill(SkillList.BODY_STRENGTH, 39.0f);
builder.skill(SkillList.BODY_STAMINA, 50.0f);
builder.skill(SkillList.BODY_CONTROL, 50.0f);
builder.skill(SkillList.MIND_LOGICAL, 50.0f);
@@ -88,11 +105,11 @@ public class WyvernWhite implements ModCreature, CreatureTypes {
vehicle.setSeatFightMod(0, 0.8f, 1.1f);
vehicle.setSeatOffset(0, 0.2f, 0.0f, 0.0f);
vehicle.setCreature(true);
vehicle.setSkillNeeded(Servers.localServer.PVPSERVER ? 33f : 40f);
vehicle.setSkillNeeded(40f);
vehicle.setName(creature.getName());
vehicle.setMaxHeightDiff(Servers.localServer.PVPSERVER ? 0.15f : 0.10f);
vehicle.setMaxHeightDiff(0.10f);
vehicle.setMaxDepth(-50f);
vehicle.setMaxSpeed(53.0f);
vehicle.setMaxSpeed(36.0f);
vehicle.setCommandType((byte) 3);
vehicle.setCanHaveEquipment(true);
}
@@ -104,14 +121,14 @@ public class WyvernWhite implements ModCreature, CreatureTypes {
if (templateId == 0)
return;
new EncounterBuilder(Tiles.Tile.TILE_SNOW.id)
.addCreatures(templateId, 1)
.build(1);
if(Servers.localServer.PVPSERVER){
if(!Servers.localServer.PVPSERVER) {
new EncounterBuilder(Tiles.Tile.TILE_SNOW.id)
.addCreatures(templateId, 1)
.build(1);
new EncounterBuilder(Tiles.Tile.TILE_TUNDRA.id)
.addCreatures(templateId, 1)
.build(1);
.addCreatures(templateId, 1)
.build(1);
}
}
}

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures.titans;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -15,11 +16,12 @@ public class Ifrit implements ModCreature, CreatureTypes {
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -30,7 +32,7 @@ public class Ifrit implements ModCreature, CreatureTypes {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.raid.ifrit", "Ifrit", "A valiant warrior of the flame. You feel the presence of Magranon.",
"model.creature.humanoid.giant.juggernaut", types, BodyTemplate.TYPE_HUMAN, (short) 5, (byte) 0, (short) 350, (short) 100, (short) 60,
"sound.death.magranon.juggernaut", "sound.death.magranon.juggernaut", "sound.combat.hit.magranon.juggernaut", "sound.combat.hit.magranon.juggernaut",
0.014f, 10.0f, 13.0f, 0.0f, 0.0f, 0.0f, 0.5f, 400,
Servers.localServer.PVPSERVER ? 0.028f :0.014f, 10.0f, 13.0f, 0.0f, 0.0f, 0.0f, 0.5f, 400,
new int[]{}, 40, 100, Materials.MATERIAL_MEAT_HUMANOID);
builder.skill(SkillList.BODY_STRENGTH, 99.0f);

View File

@@ -1,5 +1,6 @@
package mod.sin.creatures.titans;
import com.wurmonline.server.Servers;
import org.gotti.wurmunlimited.modsupport.CreatureTemplateBuilder;
import org.gotti.wurmunlimited.modsupport.creatures.ModCreature;
@@ -15,11 +16,12 @@ public class Lilith implements ModCreature, CreatureTypes {
@Override
public CreatureTemplateBuilder createCreateTemplateBuilder() {
int[] types = {
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE
CreatureTypes.C_TYPE_MOVE_LOCAL,
CreatureTypes.C_TYPE_AGG_HUMAN,
CreatureTypes.C_TYPE_CARNIVORE,
CreatureTypes.C_TYPE_HUNTING,
CreatureTypes.C_TYPE_NON_NEWBIE,
CreatureTypes.C_TYPE_NO_REBIRTH
};
//public CreatureTemplateBuilder(final String identifier, final String name, final String description,
@@ -30,7 +32,7 @@ public class Lilith implements ModCreature, CreatureTypes {
CreatureTemplateBuilder builder = new CreatureTemplateBuilder("mod.creature.raid.lilith", "Lilith", "A bold warrior corrupted by darkness. You feel the presence of Libila.",
"model.creature.humanoid.giant.incarnation", types, BodyTemplate.TYPE_HUMAN, (short) 5, (byte) 1, (short) 350, (short) 100, (short) 60,
"sound.death.libila.incarnation", "sound.death.libila.incarnation", "sound.combat.hit.libila.incarnation", "sound.combat.hit.libila.incarnation",
0.015f, 8.0f, 11.0f, 0.0f, 0.0f, 0.0f, 0.5f, 400,
Servers.localServer.PVPSERVER ? 0.03f :0.015f, 8.0f, 11.0f, 0.0f, 0.0f, 0.0f, 0.5f, 400,
new int[]{}, 40, 100, Materials.MATERIAL_MEAT_HUMANOID);
builder.skill(SkillList.BODY_STRENGTH, 99.0f);