Skip to main content

Hoardomatic Code: Enchantment Class

Enchantments are structurally very similar to Embellishments. The big difference is how costs are accounted for by the Item containing them.

Enchantment


String Enchantment_name: The name of the enchantment, usually just the name of a spell, though it may include a degree (Accuracy 3) or notation about which version of an enchantment the item has (Bravery (Cast only)).
Double cf: The embellishment's CF value. Not actually used, but it's there because I started enchantments by copying the embellishment class.
Double flat_cost: The base cost of the enchantment.
Double wt_mod: Weight adjustment, if any, which spells generally don't have.
String motif_option: Not used.
String ench_code: A code similar to the embellishment codes, indicating what kind of item the enchantment can be on. Most are generally applicable, but a few are limited to weapons or armor.

This class works very much like the Embellishments class: it takes a node provided to it and populates the enchantment's properties.

package hoardomatic;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Enchantment {
   
    private String Enchantment_name;
    private Double cf;
    private Double flat_cost;
    private Double wt_mod;
    private String motif_option;
    private String ench_code;

    public Enchantment() {

        Enchantment_name = "";
        cf = 0.0;
        flat_cost = 0.0;
        wt_mod = 1.0;
        motif_option = "";
        ench_code = "";
    }
   
    public Enchantment(Node node) {
        flat_cost = 0.0;

        NodeList tempNodes = node.getChildNodes();
        for (int j = 0; j < tempNodes.getLength(); j++) {
            Node subnode = tempNodes.item(j);

            if (subnode.getNodeType() == Node.ELEMENT_NODE) {
                Element element = (Element) subnode;
               
                if (element.getNodeName().contentEquals("Enchantment")) {
                    Enchantment_name = element.getTextContent();
                }

                if (element.getNodeName().contentEquals("CF")) {
                    cf =Double.parseDouble(element.getTextContent());
                }

                if (element.getNodeName().contentEquals("Cost")) {
                    flat_cost =Double.parseDouble(element.getTextContent());
                }

                if (element.getNodeName().contentEquals("wtmod")) {
                    wt_mod = Double.parseDouble(element.getTextContent());
                }

                if (element.getNodeName().contentEquals("ench_code")) {
                    ench_code = element.getTextContent();
                }

                if (element.getNodeName().contentEquals("Type")) {
                    ench_code = element.getTextContent();
                }

            }

        }

    }

   
   
    public Enchantment(String the_name, Double the_cf, Double the_wt_mod) {

        Enchantment_name = the_name;
        cf = the_cf;
        wt_mod = the_wt_mod;
    }
   
    public void setCost(Double new_cost){
        flat_cost = new_cost;
    }
   
    public Double getCost(){
        return flat_cost;
    }
   
    public void setCF(Double new_cf){
        cf = new_cf;
    }
   
   
    public String getEnchantmentName(){
        return Enchantment_name;
    }
   
    public String getMotifOption(){
        return motif_option;
    }
   
    public Double getCf(){
        return cf;
    }

    public Double getWtMod(){
        return wt_mod;
    }
   
    public String getenchCode(){
        return ench_code;
    }


}

Comments

Popular posts from this blog

Argonath 5

A while back, I made a Barad Dur case for The Kid's Xbox . And then he got a PS5. So...   The first possibility I looked at for a way of dressing up the console was Minas Tirith, but there's no way I could make that fit in any reasonable space. Then I hit on the Argonath, the twin statues marking the northern border of Gondor on the Anduin. One statue on either side? Doable.   There are a bunch of free versions of the Argonath out there, but they kind of suck, so I shelled out a few bucks for a much better model , and I do not regret it. Much like Barad Dur, I went through the simple process of scaling up and dividing into printable parts and then the multi-week process of printing them all out. After gluing together, I put on a coat of sandable primer. The thicker paint helps conceal the print lines a little bit.   Then stippling to give a natural stone look.   I wanted the unsculpted parts to look like they still had natural ground cover on them, so I masked the st...

Briefly, How To Play GURPS

For a long time, I’ve maintained that GURPS, despite its reputation for complexity, is actually pretty simple in play. I was thinking recently that I should see if I can express the fundamentals of playing GURPS in a short, easily digested form, and so here I am.   This does not address a more general “how to play rpgs” for those who know nothing on the topic. How to approach GURPS, at that level, isn’t necessarily a lot different from how to approach D&D or TFT or any other RPG system. It doesn’t get into optional and campaign-specific sets of rules or equipment. Rather, this is stuff applicable to playing GURPS no matter what the campaign is. It also doesn’t address how to build GURPS characters, which is a vastly more complicated topic. Rather, this is about how to engage GURPS rules when you’ve already got your character sheet and are sitting at the table to play. It’s a trifle over 1000 words, which I think isn’t too bad.   How To Play GURPS Most of what you’ll need t...

Spaced Out Rides

(This is the kind of thing I'd have sent into Pyramid   back in the day, but that's not an option now, so here we are.)   The GURPS Action series is the gift that keeps on giving for a lot of modern-and-later gaming. GURPS Action 2: Exploits has rules for sneaking around, running away, and all kinds of other activities which can be easily transplanted to cyberpunk and other high-tech settings. GURPS Action 6: Tricked-Out Rides provides more of the same for its topic, giving an easy framework for describing and even designing common types of vehicles without all the math and paralysis-by-analysis of GURPS Vehicles. Pick a standardized vehicle type (van, compact car, etc.) and apply modifiers (rugged, tinted windows). But, of course, it’s limited. It’s just ten pages, after all, so it’s great for common passenger vehicles for the modern(ish) era. But higher-tech vehic...