WyvernMods Configurable Phase 3

This commit is contained in:
Sindusk
2019-05-08 02:15:14 -04:00
parent acf5d74a9c
commit 17ddab3783
11 changed files with 538 additions and 322 deletions

View File

@@ -99,60 +99,4 @@ public class RareSpawns {
}
}
}
public static void preInit(){
try {
ClassPool classPool = HookManager.getInstance().getClassPool();
Class<RareSpawns> thisClass = RareSpawns.class;
String replace;
/*Util.setReason("Disable casting Smite on titans.");
CtClass ctSmite = classPool.get("com.wurmonline.server.spells.Smite");
replace = "if("+RareSpawns.class.getName()+".isRareCreature($3)){"
+ " $2.getCommunicator().sendNormalServerMessage(\"This creature is immune to Smite.\");"
+ " return false;"
+ "}";
Util.insertBeforeDeclared(thisClass, ctSmite, "precondition", replace);*/
Util.setReason("Disable casting Worm Brains on titans.");
CtClass ctWormBrains = classPool.get("com.wurmonline.server.spells.WormBrains");
replace = "if("+RareSpawns.class.getName()+".isRareCreature($3)){"
+ " $2.getCommunicator().sendNormalServerMessage(\"This creature is immune to Worm Brains.\");"
+ " return false;"
+ "}";
Util.insertBeforeDeclared(thisClass, ctWormBrains, "precondition", replace);
/* Disabled in Wurm Unlimited 1.9 - No longer necessary while using DUSKombat.
Util.setReason("Increase titan extra damage to pets.");
CtClass ctCreature = classPool.get("com.wurmonline.server.creatures.Creature");
CtClass ctString = classPool.get("java.lang.String");
CtClass ctBattle = classPool.get("com.wurmonline.server.combat.Battle");
CtClass ctCombatEngine = classPool.get("com.wurmonline.server.combat.CombatEngine");
// @Nullable Creature performer, Creature defender, byte type, int pos, double damage, float armourMod,
// String attString, @Nullable Battle battle, float infection, float poison, boolean archery, boolean alreadyCalculatedResist
CtClass[] params1 = {
ctCreature,
ctCreature,
CtClass.byteType,
CtClass.intType,
CtClass.doubleType,
CtClass.floatType,
ctString,
ctBattle,
CtClass.floatType,
CtClass.floatType,
CtClass.booleanType,
CtClass.booleanType
};
String desc1 = Descriptor.ofMethod(CtClass.booleanType, params1);
replace = "if($2.isDominated() && $1 != null && "+RareSpawns.class.getName()+".isRareCreature($1)){" +
//" logger.info(\"Detected rare spawn hit on a pet. Adding damage.\");" +
" $5 = $5 * 2d;" +
"}";
Util.insertBeforeDescribed(thisClass, ctCombatEngine, "addWound", desc1, replace);*/
}catch (NotFoundException e) {
throw new HookException(e);
}
}
}