Skip to content

Commit

Permalink
0.6 For 1.3
Browse files Browse the repository at this point in the history
Recompiled to work with 1.3. Added useable, transportable altar of
three.
  • Loading branch information
ausimus committed Mar 7, 2017
1 parent c110bc5 commit 7cb4468
Show file tree
Hide file tree
Showing 8 changed files with 233 additions and 23 deletions.
8 changes: 8 additions & 0 deletions mods.properties/morecraftables.properties
Expand Up @@ -191,4 +191,12 @@ CS_all = true
################################################################
RechargeCost = 0
################################################################
#Towers
################################################################
CanConvertTowerTypes = true
################################################################
#Great Altars only altar of three atm
################################################################
CanCraftGreatAltars = true
AltarofThreeTemplateID = 7543
Debug = false
74 changes: 74 additions & 0 deletions src/com/wurmonline/server/behaviours/AusAltarPray.java
@@ -0,0 +1,74 @@
package com.wurmonline.server.behaviours;
import com.wurmonline.server.MiscConstants;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
import com.wurmonline.server.items.ItemTypes;
import com.wurmonline.server.players.Player;
import org.ausimus.wurmunlimited.mods.morecraftables.configurator.Constants;
import org.gotti.wurmunlimited.modloader.interfaces.WurmServerMod;
import org.gotti.wurmunlimited.modsupport.actions.ActionPerformer;
import org.gotti.wurmunlimited.modsupport.actions.BehaviourProvider;
import org.gotti.wurmunlimited.modsupport.actions.ModAction;
import org.gotti.wurmunlimited.modsupport.actions.ModActions;
import java.util.Collections;
import java.util.List;

public class AusAltarPray implements WurmServerMod, ItemTypes, MiscConstants, ModAction, BehaviourProvider, ActionPerformer {

private static short PRAYID;
private static ActionEntry PRAYActionEntry;

public AusAltarPray() {
PRAYID = (short) ModActions.getNextActionId();
PRAYActionEntry = ActionEntry.createEntry(PRAYID, "Pray", "Converting", new int[]{});
ModActions.registerAction(PRAYActionEntry);
}

@Override
public BehaviourProvider getBehaviourProvider() {
return this;
}

@Override
public ActionPerformer getActionPerformer() {
return this;
}

@Override
public short getActionId() {
return PRAYID;
}


@Override
public List<ActionEntry> getBehavioursFor(Creature performer, Item source, Item target) {
return getBehavioursFor(performer, target);
}

@Override
public List<ActionEntry> getBehavioursFor(Creature performer, Item target) {
if (performer instanceof Player) {
if (target.getTemplateId() == Constants.AltarofThreeTemplateID) {
return Collections.singletonList(PRAYActionEntry);
} else {
return null;
}
} else {
return null;
}
}

@Override
public boolean action(Action act, Creature performer, Item source, Item target, short action, float counter) {
return action(act, performer, target, action, counter);
}

@Override
public boolean action(Action act, Creature performer, Item target, short action, float counter) {
boolean done = false;
if(action == PRAYID && target.getTemplateId() == Constants.AltarofThreeTemplateID) {
done = MethodsReligion.pray(act, performer, target, counter);
}
return done;
}
}
75 changes: 75 additions & 0 deletions src/com/wurmonline/server/behaviours/AusAltarSac.java
@@ -0,0 +1,75 @@
package com.wurmonline.server.behaviours;

import com.wurmonline.server.MiscConstants;
import com.wurmonline.server.creatures.Creature;
import com.wurmonline.server.items.Item;
import com.wurmonline.server.items.ItemTypes;
import com.wurmonline.server.players.Player;
import org.ausimus.wurmunlimited.mods.morecraftables.configurator.Constants;
import org.gotti.wurmunlimited.modloader.interfaces.WurmServerMod;
import org.gotti.wurmunlimited.modsupport.actions.ActionPerformer;
import org.gotti.wurmunlimited.modsupport.actions.BehaviourProvider;
import org.gotti.wurmunlimited.modsupport.actions.ModAction;
import org.gotti.wurmunlimited.modsupport.actions.ModActions;
import java.util.Collections;
import java.util.List;

public class AusAltarSac implements WurmServerMod, ItemTypes, MiscConstants, ModAction, BehaviourProvider, ActionPerformer {

private static short SACID;
private static ActionEntry SACActionEntry;

public AusAltarSac() {
SACID = (short) ModActions.getNextActionId();
SACActionEntry = ActionEntry.createEntry(SACID, "Sacrifice", "Sacrificing", new int[]{});
ModActions.registerAction(SACActionEntry);
}

@Override
public BehaviourProvider getBehaviourProvider() {
return this;
}

@Override
public ActionPerformer getActionPerformer() {
return this;
}

@Override
public short getActionId() {
return SACID;
}


@Override
public List<ActionEntry> getBehavioursFor(Creature performer, Item source, Item target) {
return getBehavioursFor(performer, target);
}

@Override
public List<ActionEntry> getBehavioursFor(Creature performer, Item target) {
if (performer instanceof Player) {
if (target.getTemplateId() == Constants.AltarofThreeTemplateID) {
return Collections.singletonList(SACActionEntry);
} else {
return null;
}
} else {
return null;
}
}

@Override
public boolean action(Action act, Creature performer, Item source, Item target, short action, float counter) {
return action(act, performer, target, action, counter);
}

@Override
public boolean action(Action act, Creature performer, Item target, short action, float counter) {
boolean done = false;
if(action == SACID && target.getTemplateId() == Constants.AltarofThreeTemplateID) {
done = performer.getFaith() < 10.0F || MethodsReligion.sacrifice(act, performer, target);
}
return done;
}
}
3 changes: 2 additions & 1 deletion src/com/wurmonline/server/spells/RechargeTargetItem.java
@@ -1,4 +1,5 @@
package com.wurmonline.server.spells;
import com.wurmonline.server.items.ItemList;
import org.ausimus.wurmunlimited.mods.morecraftables.configurator.Constants;
import org.gotti.wurmunlimited.modsupport.actions.ModActions;
import com.wurmonline.server.behaviours.ActionEntry;
Expand Down Expand Up @@ -61,7 +62,7 @@ boolean precondition(final Skill castSkill, final Creature performer, final Crea
@Override
void doEffect(final Skill castSkill, double power, final Creature performer, final Item target)
{
if (target.getTemplateId() == 526)
if (target.getTemplateId() == ItemList.wandNature)
{
int favorStored = ((int) performer.getFavor());
target.setAuxData((byte) favorStored);
Expand Down
46 changes: 31 additions & 15 deletions src/org/ausimus/wurmunlimited/mods/morecraftables/Initiator.java
@@ -1,4 +1,6 @@
package org.ausimus.wurmunlimited.mods.morecraftables;
import com.wurmonline.server.behaviours.AusAltarPray;
import com.wurmonline.server.behaviours.AusAltarSac;
import com.wurmonline.server.deities.Deities;
import com.wurmonline.server.deities.Deity;
import com.wurmonline.server.spells.RechargeTargetItem;
Expand All @@ -8,9 +10,16 @@
import org.ausimus.wurmunlimited.mods.morecraftables.items.AusItemTemplateCreator;
import org.gotti.wurmunlimited.modloader.ReflectionUtil;
import org.gotti.wurmunlimited.modloader.interfaces.*;
import org.gotti.wurmunlimited.modsupport.actions.ModActions;

import java.lang.reflect.InvocationTargetException;
import java.util.Properties;
public class Initiator implements WurmServerMod, ServerStartedListener, ItemTemplatesCreatedListener, Configurable {
public class Initiator implements WurmServerMod, ServerStartedListener, ItemTemplatesCreatedListener, Configurable, PreInitable {

@Override
public void preInit() {
ModActions.init();
}

@Override
public void onItemTemplatesCreated() {
Expand All @@ -19,6 +28,8 @@ public void onItemTemplatesCreated() {

@Override
public void onServerStarted() {
ModActions.registerAction(new AusAltarPray());
ModActions.registerAction(new AusAltarSac());
new AusCreationEntrys();
new Runnable() {
@Override
Expand Down Expand Up @@ -134,7 +145,23 @@ public void configure(Properties properties) {
//Seasonal Items
Constants.YuleGoatTemplateID = Integer.parseInt(properties.getProperty("YuleGoatTemplateID", Integer.toString(Constants.YuleGoatTemplateID)));
Constants.YuleRainDeerTemplateID = Integer.parseInt(properties.getProperty("YuleRainDeerTemplateID", Integer.toString(Constants.YuleRainDeerTemplateID)));
//Spell Shit
Constants.RechargeCoolDown = Long.parseLong(properties.getProperty("RechargeCoolDown", Long.toString(Constants.RechargeCoolDown)));
Constants.RechargeDifficulty = Integer.parseInt(properties.getProperty("RechargeDifficulty", Integer.toString(Constants.RechargeDifficulty)));
Constants.RechargeLevel = Integer.parseInt(properties.getProperty("RechargeLevel", Integer.toString(Constants.RechargeLevel)));
Constants.RechargeCastTimer = Integer.parseInt(properties.getProperty("RechargeCastTimer", Integer.toString(Constants.RechargeCastTimer)));
Constants.RechargeCost = Integer.parseInt(properties.getProperty("RechargeCost", Integer.toString(Constants.RechargeCost)));
Constants.AddCS = Boolean.parseBoolean(properties.getProperty("AddCS", Boolean.toString(Constants.AddCS)));
Constants.CS_vyn = Boolean.parseBoolean(properties.getProperty("CS_vyn", Boolean.toString(Constants.CS_vyn)));
Constants.CS_mag = Boolean.parseBoolean(properties.getProperty("CS_mag", Boolean.toString(Constants.CS_mag)));
Constants.CS_lib = Boolean.parseBoolean(properties.getProperty("CS_lib", Boolean.toString(Constants.CS_lib)));
Constants.CS_fo = Boolean.parseBoolean(properties.getProperty("CS_fo", Boolean.toString(Constants.CS_fo)));
Constants.CS_all = Boolean.parseBoolean(properties.getProperty("CS_all", Boolean.toString(Constants.CS_all)));
//Cavalier Helmet
Constants.CavalierHelmetTemplateID = Integer.parseInt(properties.getProperty("CavalierHelmetTemplateID", Integer.toString(Constants.CavalierHelmetTemplateID)));
//Main Mod Activation
Constants.CanCraftLSpeedItem = Boolean.parseBoolean(properties.getProperty("CanCraftLSpeedItem", Boolean.toString(Constants.CanCraftLSpeedItem)));
Constants.CanCraftMagChests = Boolean.parseBoolean(properties.getProperty("CanCraftMagChests", Boolean.toString(Constants.CanCraftMagChests)));
Constants.CanCraftCavHelm = Boolean.parseBoolean(properties.getProperty("CanCraftCavHelm", Boolean.toString(Constants.CanCraftCavHelm)));
Constants.CanCraftSOL = Boolean.parseBoolean(properties.getProperty("CanCraftSOL", Boolean.toString(Constants.CanCraftSOL)));
Constants.CanCraftMasks = Boolean.parseBoolean(properties.getProperty("CanCraftMasks", Boolean.toString(Constants.CanCraftMasks)));
Expand All @@ -151,20 +178,9 @@ public void configure(Properties properties) {
Constants.CanCraftSeasonalItems = Boolean.parseBoolean(properties.getProperty("CanCraftSeasonalItems", Boolean.toString(Constants.CanCraftSeasonalItems)));
Constants.CanCraftGraniteWand = Boolean.parseBoolean(properties.getProperty("CanCraftGraniteWand", Boolean.toString(Constants.CanCraftGraniteWand)));
Constants.Debug = Boolean.parseBoolean(properties.getProperty("Debug", Boolean.toString(Constants.Debug)));
//Spell Shit
Constants.RechargeCoolDown = Long.parseLong(properties.getProperty("RechargeCoolDown", Long.toString(Constants.RechargeCoolDown)));
Constants.RechargeDifficulty = Integer.parseInt(properties.getProperty("RechargeDifficulty", Integer.toString(Constants.RechargeDifficulty)));
Constants.RechargeLevel = Integer.parseInt(properties.getProperty("RechargeLevel", Integer.toString(Constants.RechargeLevel)));
Constants.RechargeCastTimer = Integer.parseInt(properties.getProperty("RechargeCastTimer", Integer.toString(Constants.RechargeCastTimer)));
Constants.RechargeCost = Integer.parseInt(properties.getProperty("RechargeCost", Integer.toString(Constants.RechargeCost)));
Constants.AddCS = Boolean.parseBoolean(properties.getProperty("AddCS", Boolean.toString(Constants.AddCS)));
Constants.CS_vyn = Boolean.parseBoolean(properties.getProperty("CS_vyn", Boolean.toString(Constants.CS_vyn)));
Constants.CS_mag = Boolean.parseBoolean(properties.getProperty("CS_mag", Boolean.toString(Constants.CS_mag)));
Constants.CS_lib = Boolean.parseBoolean(properties.getProperty("CS_lib", Boolean.toString(Constants.CS_lib)));
Constants.CS_fo = Boolean.parseBoolean(properties.getProperty("CS_fo", Boolean.toString(Constants.CS_fo)));
Constants.CS_all = Boolean.parseBoolean(properties.getProperty("CS_all", Boolean.toString(Constants.CS_all)));
//Cavalier Helmet
Constants.CavalierHelmetTemplateID = Integer.parseInt(properties.getProperty("CavalierHelmetTemplateID", Integer.toString(Constants.CavalierHelmetTemplateID)));
//Great Altars
Constants.AltarofThreeTemplateID = Integer.parseInt(properties.getProperty("AltarofThreeTemplateID", Integer.toString(Constants.AltarofThreeTemplateID)));
Constants.CanCraftGreatAltars = Boolean.parseBoolean(properties.getProperty("CanCraftGreatAltars", Boolean.toString(Constants.CanCraftGreatAltars)));
//The End
}
}
Expand Down
Expand Up @@ -28,6 +28,9 @@ public class Constants {
public static boolean CanCraftSeasonalItems;
public static boolean CanCraftGraniteWand;
public static boolean CanCraftCavHelm;
public static boolean CanCraftMagChests;
public static boolean RequireSpell;
public static boolean CanCraftLSpeedItem;
//Debug
public static boolean Debug;
//Staff of Land
Expand Down Expand Up @@ -109,4 +112,7 @@ public class Constants {
public static int YuleRainDeerTemplateID;
//Cavalier Helmet
public static int CavalierHelmetTemplateID;
//GreatAltars
public static int AltarofThreeTemplateID;
public static boolean CanCraftGreatAltars;
}
Expand Up @@ -126,12 +126,18 @@ public AusCreationEntrys() {
AdvancedCreationEntry SnowLantern = CreationEntryCreator.createAdvancedEntry(SkillList.SMITHING_GOLDSMITHING, ItemList.anvilLarge, ItemList.silverBar, ItemList.snowLantern, false, true, 0.0f, false, false, CreationCategories.LIGHTS_AND_LAMPS);
SnowLantern.addRequirement(new CreationRequirement(1, ItemList.silverBar, 10, true));
}
if (Constants.CanCraftGraniteWand){
if (Constants.CanCraftGraniteWand) {
CreationEntryCreator.createAdvancedEntry(SkillList.MASONRY, ItemList.staffSteel, ItemList.slateShard, ItemList.wandNature, true, true, 0.0f, false, false, CreationCategories.MAGIC);
}
if (Constants.CanCraftCavHelm){
if (Constants.CanCraftCavHelm) {
CreationEntryCreator.createAdvancedEntry(SkillList.SMITHING_ARMOUR_PLATE, ItemList.blackWolfRug, ItemList.helmetGreat, Constants.CavalierHelmetTemplateID, true, true, 0.0f, false, false, CreationCategories.ARMOUR);
new Armour(Constants.CavalierHelmetTemplateID, 0.07F, -0.3F);
}
if (Constants.CanCraftGreatAltars) {
AdvancedCreationEntry AOT = CreationEntryCreator.createAdvancedEntry(SkillList.MASONRY, ItemList.marbleBrick, ItemList.clay, Constants.AltarofThreeTemplateID, true, true, 0.0f, false, false, CreationCategories.ALTAR);
AOT.addRequirement(new CreationRequirement(1, ItemList.marbleBrick, 500, true));
AOT.addRequirement(new CreationRequirement(2, ItemList.clay, 500, true));
AOT.addRequirement(new CreationRequirement(3, ItemList.papyrusSheet, 1, true));
}
}
}

0 comments on commit 7cb4468

Please sign in to comment.