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

The Last Pyramid

Today saw the publication of the final issue of Steve Jackson Games's Pyramid magazine, as was announced several months ago. Broadly speaking, it was the victim of generally rough times within the gaming industry.

I'm one of what is surely a small number of people who have been published in all three iterations of Pyramid. I'd had some previous contact with SJ Games--some stuff I helped with ended up in GURPS Cyberpunk, which in turn has doubtless gotten my name on the Federal Register of Dangerous Hoodlums--but it wasn't until the later days of the paper version of Pyramid that I finally got up the nerve to try my hand at writing an article. The result was a short piece on low-tech (mostly Medieval) economies, which became my first professionally published work.

This, apparently, was enough encouragement. Having seen how painless the process actually was, I started thinking in terms of writing for publication. It didn't hurt that around this time I went to work fo…

Fraxinetum

I came across another one of those historical footnotes which would in years past have prompted a Pyramid  article. With Pyramid still gone, here we go again:
Introduction The early Middle Ages were dangerous and chaotic for much of western Europe. Vikings raided along coasts and river from the north and all the way around Europe's west coast and into the Mediterranean. Magyars attacked from the east. And Muslims (mostly but certainly not all North African Berbers) took over most of Spain and raided elsewhere along the Mediterranean coast.

But while many people know at least about the existence of Muslim Spain, fewer people are aware of Muslim France.  For a time in the 8th through 10th centuries, large stretches of the south coast of France were under Muslim rule, and parts of that were administered from one of the world's most glamorous vacation spots. This was Medieval Fraxinetum.
History In 711 AD, things were going well for the expanding Muslim caliphate. An Arab-led Berb…

What GURPS Doesn't Have

I was reading this post by Refplace about common GURPS myths: it's dead (no, it gets regular monthly support and doesn't need a new edition), there are no settings (no, there's a zillion of them), and so on. And while GURPS has lots of stuff, the no-settings meme in particular did get me thinking about notable gaps which still exist in the GURPS line. I can think of three gaps that might usefully be filled.

A vehicle design system is, of course, one of those gaps. Many games need no such thing, but general-purpose rules for stuff are very much in GURPS's lane. The 4e vehicle design book is still going through its interminable process, so I suppose we'll see it when we see it. I'm curious as to whether we'll ever see a similar gun-design system, which would also be appropriate.

Then there's a setting line. Yes, yes, I know. GURPS has settings. It has many settings. I would respectfully submit that there's no setting line for 4e in the way there is fo…