Bidderlyn

processing for d&d 3.8

Jan 13th, 2019
108
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2. import java.io.*;
  3. import java.nio.file.Paths;
  4. import java.util.regex.*;
  5. import java.awt.*;
  6. import java.awt.event.MouseAdapter;
  7. import static javax.swing.JOptionPane.*;
  8. PFont f;
  9. //
  10.  Material[] material = new Material[21];//all of the materials available. exact number
  11. Material[] metal = new Material[material.length];
  12. Material[] precious = new Material[material.length];
  13. Material[] wood = new Material[material.length];
  14. Material[] cloth = new Material[material.length];
  15. String metalsList, preciousList, woodList, clothList;
  16. //PImage backGround = null;
  17.  
  18. void setup()
  19. {
  20.   f = createFont("Arial",16,true);  
  21.   //backGround = loadImage("background.jpg");  // image of a small logo logo
  22. }
  23.  
  24. void settings()
  25. {
  26.  
  27.  size(360,100);  
  28. }
  29.  
  30. void draw()
  31. {
  32.  
  33.  background(255,255,255); // white
  34.  //image(backGround, 0,0);
  35.  stroke(175);
  36.  textFont(f); // using the font that was defined at setup
  37.  fill(0,0,0); // Black fill color for text
  38.  textAlign(LEFT); // text - left to right
  39.  text("Sell Item",40,60);
  40.  text("Find Value",150,60);
  41.  text("Crafting",260,60);
  42.  fill(255,0,0);
  43.  text("3.8 Tools",80,20);
  44. }
  45.  
  46. void mousePressed()
  47. {
  48.   if( mouseX >=  40 && mouseX <=  120 && mouseY >= 50 && mouseY <= 70)
  49.   {
  50.     sellItem();
  51.   }
  52.   else if( mouseX >=  150 && mouseX <=  200 && mouseY >= 50 && mouseY <= 70)
  53.   {
  54.     goldValue();
  55.   }
  56.   else if( mouseX >=  260 && mouseX <=  310 && mouseY >= 50 && mouseY <= 70)
  57.   {
  58.     craft();
  59.   }
  60. }
  61.  
  62. void sellItem()
  63. {
  64.   String val = showInputDialog("Insert the value of the item");
  65.   int itemWorth = parseInt(val);
  66.   int rarity; if(itemWorth > 1000) rarity = 20 + (itemWorth-1000)/200; else rarity = itemWorth/50;
  67.   val = showInputDialog("Pricing: Roll Appraise or Profession(Merchant) and write down the score");
  68.   int barterScore = parseInt(val);
  69.  
  70.   val = showInputDialog("Where are you trying to sell the item?(Type 1/2/3)\n"
  71.   + "1 - City\n"
  72.   + "2 - Town\n"
  73.   + "3 - Village\n");
  74.    rarity += (parseInt(val)*5);
  75.    
  76.    val = showInputDialog("Rarity: How common is this item for such a market(DM discretion)?\n"
  77.   + "1 - Common \n"
  78.   + "2 - Odd \n"
  79.   + "3 - Rare \n");
  80.    rarity += (parseInt(val)-1)*5;
  81.    barterScore += (parseInt(val)-1)*4;
  82.    val = showInputDialog("Finding Buyers: Roll Gather Information or Profession(Merchant) and write down the score");
  83.    int gatherScore = parseInt(val);
  84.    
  85.    int finalPrice = 0; //percentage
  86.    if(barterScore <=10) finalPrice = ((barterScore*5)*itemWorth)/100;
  87.    else if (barterScore <60) finalPrice = ((50+((barterScore-10)*1))*itemWorth)/100;
  88.    else finalPrice = itemWorth;
  89.    
  90.    String description = "";
  91.    boolean failure = false;
  92.    if(gatherScore > rarity) description = "After a few moments you find a buyer";
  93.    else if(gatherScore > rarity-10) description = "You wait for a couple of hours until you find a buyer";
  94.    else if(gatherScore > rarity-20) description = "It takes almost the entire day, but by the end of it you find a buyer";
  95.    else
  96.      {
  97.        description = "You have failed to find any buyers for your item";
  98.        showMessageDialog(null,""+description+"","Failure", ERROR_MESSAGE);
  99.        failure = true;
  100.      }
  101.    
  102.    if(failure == false)
  103.      showMessageDialog(null,""+description+"\n "+"The Item was sold for "+finalPrice+"g","Failure", WARNING_MESSAGE);
  104. }
  105.  
  106. void goldValue()
  107. {
  108.  
  109.   int mul =1; // multiplier
  110.   int base = 200; // every X
  111.   String val = showInputDialog("Insert 3.5 Item value");
  112.   int value = parseInt(val);
  113.   boolean calc = true;
  114.   int finalVal = 0;
  115.  
  116.   while( calc == true)
  117.   {
  118.    if(value > 0)
  119.    {
  120.      value = value-base; //600, 180
  121.      if(value > 0)
  122.        finalVal = finalVal + (base/mul); //410
  123.      else
  124.        finalVal = finalVal + ((base+value)/mul);  // "value" is negative at this stage
  125.        
  126.      base += ((base*10)/100) + 400;
  127.      mul++;
  128.      println("= "+finalVal);
  129.    }
  130.    else{
  131.      calc = false;
  132.      println(" = "+finalVal);
  133.    }
  134.   }
  135.         showMessageDialog(null, " "+val+"g(V3.5) = "+finalVal+"g(V3.8) \n","Gold Worth"  , WARNING_MESSAGE);
  136.         println("FINAL = "+finalVal);
  137.  
  138. }
  139.  
  140.  
  141. void craft()
  142. {
  143.  // base concept: Craft = Value of materials + value of enchantment + DC to create.
  144.  initMaterials();
  145.  
  146.   String val = showInputDialog("\n 1) Weaponsmith \n 2) Jewelery \n 3) Armorsmith \n 4) Tailor \n 5) Woodcraft \n 6) Enchant \n 7) alchemy");
  147.   int craftType = parseInt(val);
  148.   switch(craftType)
  149.   {
  150.    case 1:
  151.    weaponSmith();
  152.    break;
  153.    case 2:
  154.    val = showInputDialog("1) Craft jewels \n 2) Decorate items");
  155.   int jewelType = parseInt(val);
  156.    if(jewelType==1) jewelery();
  157.    else decorate();
  158.    break;
  159.    case 3:
  160.    armorSmith();
  161.    break;
  162.    case 4:
  163.    val = showInputDialog("1) Sew common clothing \n 2) Armor tailor");
  164.   int tailorType = parseInt(val);
  165.   if(tailorType==1) clothTailor();
  166.   else
  167.   {
  168.     Material leather = new Material();
  169.     val = showInputDialog("What is the cloth made of? (For example 'fabric' or 'Lion' or 'Dragon')");
  170.     leather.name = val;
  171.     val = showInputDialog("Type the CR of the creature if the cloth is made of magical beast (unicorn, hydra, etc) \n type 0 if it isn't a magical beast");
  172.     leather.dc = parseInt(val);
  173.     leather.value = 5+leather.dc*10;
  174.     leather.magic = 2+(leather.dc/4);
  175.     armorTailor(leather);
  176.   }
  177.    break;
  178.    case 5:
  179.    craftWood();
  180.    break;
  181.    case 6:
  182.    enchant();
  183.    break;
  184.    case 7:
  185.    alchemy();
  186.    break;
  187.   }
  188.  
  189. }
  190.  
  191. Material initMaterials()
  192. {
  193.  for(int i=0; i<material.length; i++) material[i]= new Material();
  194.  material[0].fabric();  material[1].silk();  material[3].dragonHide();  material[4].monsterHide();  material[5].copper();
  195.  material[6].iron();  material[7].steel();  material[8].dragonBone();  material[9].demonicMetal();  material[10].silver();
  196.  material[11].alchemicalSilver();  material[12].gold();  material[13].elvenSteel();  material[14].dwarvenSteel();  material[15].rageGlass();
  197.  material[16].adamantium();  material[17].yew();  material[18].darkWood();  material[19].sapWood();  material[20].coreWood();
  198.  
  199.  Material choice = null;
  200.  //metals
  201.  int x = 0;
  202.  for(int i=0; i<metal.length; i++){
  203.   if(material[i]!=null &&  material[i].metal==true){metal[x]=material[i];  println(metal[x].name);  x++; }
  204.   }
  205.   metalsList = "";
  206.   for(int i=0; i<metal.length; i++)
  207.   {
  208.    if(metal[i]!=null){
  209.     metalsList +=(i+1)+") "+metal[i].name+"(DC"+metal[i].dc+")\n";
  210.    }
  211.   }
  212.   // precious
  213.   x = 0;
  214.  for(int i=0; i<precious.length; i++){
  215.   if(material[i]!=null &&  material[i].precious==true){precious[x]=material[i];  x++;  }
  216.   }
  217.   preciousList = "";
  218.   for(int i=0; i<precious.length; i++)
  219.   {
  220.    if(precious[i]!=null){
  221.     preciousList +=(i+1)+") "+precious[i].name+"(DC"+precious[i].dc+")\n";
  222.    }
  223.   }
  224.   // cloth
  225.   x = 0;
  226.  for(int i=0; i<cloth.length; i++){
  227.   if(material[i]!=null &&  material[i].cloth==true){cloth[x]=material[i];  x++;  }
  228.   }
  229.   clothList = "";
  230.   for(int i=0; i<cloth.length; i++)
  231.   {
  232.    if(cloth[i]!=null){
  233.     clothList +=(i+1)+") "+cloth[i].name+"(DC"+cloth[i].dc+")\n";
  234.    }
  235.   }
  236.   // wood
  237.   x = 0;
  238.  for(int i=0; i<wood.length; i++){
  239.   if(material[i]!=null &&  material[i].wood==true){wood[x]=material[i];  x++;  }
  240.   }
  241.   woodList = "";
  242.   for(int i=0; i<wood.length; i++)
  243.   {
  244.    if(wood[i]!=null){
  245.     woodList +=(i+1)+") "+wood[i].name+"(DC"+wood[i].dc+")\n";
  246.    }
  247.   }
  248.  
  249.   return choice;
  250. }
  251.  
  252. void weaponSmith()
  253. {
  254.   String val = showInputDialog("Choose a material for your craft(type down a number) \n"+metalsList);
  255.   Material m = metal[parseInt(val)-1];
  256.   //println(" = "+m.name);
  257.    
  258.   Item[] item = new Item[20]; for(int i=0; i<item.length; i++) item[i]= new Item();
  259.   item[0].shortSword(); item[1].longSword(); item[2].morningStar(); item[3].flail(); item[4].heavyFlail();item[5].lightHammer();
  260.   item[6].warHammer(); item[7].orcishAxe(); item[8].handAxe(); item[9].greatAxe(); item[10].spikedChain();
  261.    item[11].dagger(); item[12].greatSword(); item[13].bastardSword();  item[14].dagger(); item[15].scimitar();
  262.    item[16].arrowHead(); item[17].spearHead();
  263.   finalCraft(item, m);
  264. }
  265.  
  266. void armorSmith()
  267. {
  268.   String val = showInputDialog("Choose a material for your craft(type down a number) \n"+metalsList);
  269.   Material m = metal[parseInt(val)-1];
  270.   //println(" = "+m.name);
  271.    
  272.   Item[] item = new Item[20]; for(int i=0; i<item.length; i++) item[i]= new Item();
  273.   item[0].chainShirt(); item[1].chainMail(); item[2].scaleMail(); item[3].splintMail(); item[4].breastPlate();item[5].bandedMail();
  274.   item[6].halfPlate(); item[7].fullPlate(); item[8].armorBoots(); item[9].gauntlet(); item[10].lightShield();
  275.   item[11].heavyShield(); item[12].towerShield();
  276.   finalCraft(item, m);
  277. }
  278.  
  279.  
  280. void clothTailor()
  281. {
  282.   String val = showInputDialog("Choose a material for your craft(type down a number) \n"+clothList);
  283.   Material m = cloth[parseInt(val)-1];
  284.   //println(" = "+m.name);
  285.    
  286.   Item[] item = new Item[20]; for(int i=0; i<item.length; i++) item[i]= new Item();
  287.   item[0].robe(); item[1].cloak(); item[2].boots(); item[3].gloves(); item[4].belt();
  288.   finalCraft(item, m);
  289. }
  290.  
  291. void armorTailor(Material m)
  292. {
  293.   //println(" = "+m.name);
  294.    
  295.   Item[] item = new Item[20]; for(int i=0; i<item.length; i++) item[i]= new Item();
  296.   item[0].paddedArmor(); item[1].leatherArmor(); item[2].studdedArmor(); item[3].hideArmor();
  297.   finalCraft(item, m);
  298. }
  299.  
  300. void jewelery()
  301. {
  302.   String val = showInputDialog("Choose a material for your craft(type down a number) \n"+preciousList);
  303.   Material m = precious[parseInt(val)-1];
  304.   //println(" = "+m.name);
  305.    
  306.   Item[] item = new Item[20]; for(int i=0; i<item.length; i++) item[i]= new Item();
  307.   item[0].earring(); item[1].ring(); item[2].necklace();
  308.   finalCraft(item, m);
  309. }
  310.  
  311. void decorate()
  312. {
  313.   String val = showInputDialog("Write down the magical capacity of the item you are decorating \n");
  314.   int cap = parseInt(val);
  315.   val = showInputDialog("Write down the gold value of the gemstones you use for decoration \n");
  316.   int decor = parseInt(val);
  317.   //if(decor > 100) decor = 100 + ((decor-100)/2);
  318.   val = showInputDialog("Roll Craft(Jewelery) and write down the result \n");
  319.   int score = parseInt(val);
  320.   if(score > 20) score = 20+((score-20)/2);
  321.   int dc = 50;// 50 gold is base dc for +1, increases with capacity.
  322.   int rounder=0;
  323.    for(int i=1; i<cap; i++) {dc = dc*3; dc = (dc/3)+dc/i; rounder=dc%50; dc = dc-rounder;}
  324.   int value = ((decor)*score)/10;
  325.   String describe = "";
  326.   if(value >= dc) describe = "The magical capacity of the item increases by +1(passed "+dc+" value)";
  327.   else describe = "Magical capacity has not changed(Requires "+dc+" Value)";
  328.   String description= "Takes "+((1)+(decor/50))+" hours of work \n "
  329.     +  describe+" \n"
  330.     +  "Added gold value of "+value+" to the item";
  331.         showMessageDialog(null,""+description,"Crafting", WARNING_MESSAGE);
  332.  
  333. }
  334.  
  335. void craftWood()
  336. {
  337.   String val = showInputDialog("Choose a material for your craft(type down a number) \n"+woodList);
  338.   Material m = wood[parseInt(val)-1];
  339.   //println(" = "+m.name);
  340.    
  341.   Item[] item = new Item[20]; for(int i=0; i<item.length; i++) item[i]= new Item();
  342.   item[0].shortBow(); item[1].longBow(); item[2].greatBow(); item[3].heavyCrossbow(); item[4].lightCrossbow(); item[5].handCrossbow();
  343.   item[6].heavyRepeater(); item[7].lightRepeater(); item[8].greatCrossbow(); item[9].shortSpearShaft(); item[10].longSpearShaft();
  344.   item[11].arrowShaft(); item[12].boltShaft(); item[13].wagon(); item[14].shelter(); item[15].barricade();
  345.   finalCraft(item, m);
  346. }
  347.  
  348. void enchant()
  349. {
  350.   String val = showInputDialog("Write down the level of enchantment \n");
  351.   int bonus = parseInt(val);
  352.   int value = 100; //+1
  353.   int rounder = 0;
  354.   int dc = 10+(bonus*5);
  355.   for(int i=1; i<bonus; i++) {value = value*3; value = (value/3)+value/i; rounder=value%100; value = value-rounder;}
  356.   String description= "Takes "+((4)+(dc/10))+" hours of work \n "
  357.     +  dc+" DC \n"
  358.     +  "+"+bonus+" Enchantment \n"
  359.     +  "Value = "+value;
  360.         showMessageDialog(null,""+description,"Crafting", WARNING_MESSAGE);
  361. }
  362.  
  363. void alchemy()
  364. {
  365.   String val = showInputDialog("Write down the level of ingredients \n");
  366.   int bonus = parseInt(val);
  367.   int value = 12; //+1
  368.   int rounder = 0;
  369.   int dc = 10+(bonus*5);
  370.   for(int i=1; i<bonus; i++) {value = value*3; value = (value/3)+value/i; rounder=value%10; value = value-rounder;}
  371.   String description= "Takes "+((1)+(dc/10))+" hours of work \n "
  372.     +  dc+" DC \n"
  373.     +  " 1d4 potions created(Roll) \n"
  374.     +  "+"+bonus+" Potion \n"
  375.     +  "Value = "+value+" (per potion)";
  376.         showMessageDialog(null,""+description,"Crafting", WARNING_MESSAGE);
  377. }
  378.  
  379. int getFinalValue(int _bv, int _dc)
  380. {
  381.   int value = 0;
  382.   // base value = bv, dc = difficulty challenge
  383.   if(_dc > 20) _dc = 20 + ((_dc-20)/2);
  384.   value = (_bv*_dc)/10;
  385.  
  386.   return value;
  387. }
  388.  
  389. void finalCraft(Item[] item, Material m)
  390. { // works similiar to most crafts
  391.   Item choice = null;
  392.   String itemList="";
  393.   for(int i=0; i<item.length; i++)
  394.   {
  395.    if(item[i].name!=null)
  396.    {
  397.     itemList +=(i+1)+") "+item[i].name+"(DC"+item[i].dc+") \n";
  398.    }
  399.   }
  400.    String val = showInputDialog("Choose the item you wish to create \n"+itemList);
  401.    choice = item[parseInt(val)-1];  println(" = "+choice.name);
  402.  
  403.    val = showInputDialog("Roll the relevant craft skill and write down your score");
  404.    int score = parseInt(val);
  405.    int dc = m.dc+choice.dc+10;
  406.    
  407.    if(score < dc)
  408.    {
  409.     showMessageDialog(null,"Failure! item requires "+dc+"DC to craft","Failure", ERROR_MESSAGE);
  410.    }
  411.    else{
  412.      int baseValue = (m.value*choice.mass);
  413.      int value = getFinalValue(baseValue, dc);
  414.     String description= "Takes "+((choice.mass*2)+(dc/10))+" hours of work \n "
  415.     +  m.name+" "+choice.name+"\n"
  416.     +  dc+" DC \n"
  417.     +  choice.mass+" Materials("+m.name+")\n"
  418.     +  "Value = "+value;
  419.         showMessageDialog(null,""+description,"Crafting", WARNING_MESSAGE);
  420.  
  421.    }
  422. }
  423.  
  424.  
  425. class Enchantment
  426. {
  427.   int bonus; // ench bonus
  428.   int value = 100; //+1
  429.   void updateValue()
  430.   {
  431.     for(int i=1; i<bonus; i++) {value = value*2; value = (value/2)+value/i; }
  432.   }
  433. }
  434.  
  435. class Material
  436. {
  437.   boolean metal=false; // qualifies for weapon
  438.   boolean wood=false; // wood type
  439.   boolean precious=false; // qualifies for jewels
  440.   boolean cloth=false;
  441.   int value = 0;
  442.   int dc = 0;
  443.   int magic = 0;
  444.   String name;
  445.  
  446.   void fabric(){ cloth = true; value = 5; name="Fabric";  }
  447.   void silk(){cloth = true; value = 50; dc=8; name="Silk"; }
  448.   void monsterHide(){cloth = true;/* NEEDS TO ADD TEMPLATE FOR CREATION*/  value = 50; name="MonsterHide";   }
  449.   void dragonHide(){cloth = true; value = 400; dc=20; name="Dragonhide";   }
  450.   void iron(){metal = true; value = 6; dc=0; name="Iron";   }
  451.   void steel(){metal = true; value = 50; dc=5; name="Steel";   }
  452.   void dragonBone(){metal = true; value = 600; dc=20; name="Dragonbone";   }
  453.   void demonicMetal(){metal = true; value = 800; dc=25; name="Demonic-Metal";   }
  454.   void alchemicalSilver(){metal = true; value = 150; dc=10; name="Alchemical-Silver";   }
  455.   void elvenSteel(){metal = true; value = 300; dc=15; name="Elvensteel";   }
  456.   void dwarvenSteel(){metal = true; value = 200; dc=15; name="Dwarvensteel";   }
  457.   void rageGlass(){metal = true; value = 50; dc=30; name="Rage-glass";   }
  458.   void adamantium(){metal = true; value = 300; dc=10; name="Adamantium";   }
  459.   void copper(){metal = true; precious = true; value = 5; dc=0; name="Copper";   }
  460.   void silver(){ precious = true; value = 100; dc=5; name="Silver";   }
  461.   void gold(){ precious = true; value = 800; dc=10; name="Gold";   }
  462.   void yew(){ wood = true; value = 5; dc=0; name="Yew-wood";   }
  463.   void sapWood(){ wood = true; value = 100; dc=5; name="Sapwood";   }
  464.   void darkWood(){ wood = true; value = 150; dc=12; name="Darkwood";   }
  465.   void coreWood(){ wood = true; value = 600; dc=20; name="Corewood";   }
  466. }
  467.  
  468. class Item
  469. {
  470.   int dc = 0;
  471.   int mass =1; // how much material to craft
  472.   String name;
  473.  
  474.   void flail(){ dc=0; name="Flail(Light)";  mass=2;  }
  475.   void heavyFlail(){ dc=0; name="Flail(Heavy)";  mass=3;  }
  476.   void morningStar(){ dc=2; name="Morningstar";  mass=2;  }
  477.   void lightHammer(){ dc=0; name="Hammer(Light)";  mass=2;  }
  478.   void warHammer(){ dc=0; name="War-Hammer";  mass=3;  }
  479.   void handAxe(){ dc=5; name="Handaxe";  mass=2;  }
  480.   void greatAxe(){ dc=5; name="Greataxe";  mass=4;  }
  481.   void orcishAxe(){ dc=15; name="Orcishaxe";   mass=4;  }
  482.   void shortSword(){ dc=3; name="Shortsword";  mass=2;  }
  483.   void longSword(){ dc=5; name="Longsword";  mass=3;  }
  484.   void greatSword(){ dc=5; name="Greatsword";  mass=4;  }
  485.   void bastardSword(){ dc=10; name="Bastardsword";  mass=3;  }
  486.   void dagger(){ dc=4; name="Dagger";  mass=1;  }
  487.   void spikedChain(){ dc=10; name="Spiked-Chain";  mass=3;  }
  488.   void scimitar(){ dc=10; name="Scimitar";  mass=2;  }
  489.   void spearHead(){ dc=0; name="Spearhead";  mass=1;  }
  490.   void arrowHead(){ dc=3; name="x30 Arrow/Bolt heads";  mass=1;  }
  491.  
  492.   void shortBow(){ dc=3; name="Shortbow";  mass=2;  }  
  493.   void longBow(){ dc=5; name="Longbow";  mass=3;  }
  494.   void greatBow(){ dc=7; name="Greatbow";  mass=4;  }
  495.   void handCrossbow(){ dc=15; name="Hand-Crossbow";  mass=3;  }
  496.   void lightCrossbow(){ dc=8; name="Crossbow(Light)";  mass=3;  }
  497.   void heavyCrossbow(){ dc=10; name="Crossbow(Heavy)";  mass=4;  }
  498.   void greatCrossbow(){ dc=12; name="Crossbow(Great)";  mass=5;  }
  499.   void heavyRepeater(){ dc=15; name="Repeating Crossbow(Heavy)";  mass=3;  }
  500.   void lightRepeater(){ dc=13; name="Repeating Crossbow(Light)";  mass=4;  }
  501.   void shortSpearShaft(){ dc=0; name="Short Spear Shaft";  mass=1;  }
  502.   void longSpearShaft(){ dc=0; name="Long Spear Shaft";  mass=2;  }
  503.   void arrowShaft(){ dc=5; name="x30 Arrow Shaft";  mass=1;  }
  504.   void boltShaft(){ dc=2; name="x30 Bolt Shaft";  mass=1;  }
  505.   void cart(){ dc=3; name="Cart(Small)";  mass=15;  }
  506.   void wagon(){ dc=3; name="Wagon(Large)";  mass=25;  }
  507.   void barricade(){ dc=0; name="Carried Barricade(5x5)";  mass=6;  }
  508.   void hut(){ dc=5; name="Wooden hut(30x30)";  mass=40;  }
  509.   void shelter(){ dc=3; name="Wooden shelter(40x40)";  mass=20;  }
  510.   void house(){ dc=5; name="Wooden House";  mass=100;  }
  511.  
  512.   void chainShirt(){ dc=8; name="Chain Shirt";  mass=4;  }
  513.   void scaleMail(){ dc=3; name="Scale Mail";  mass=5;  }
  514.   void chainMail(){ dc=8; name="Chain Mail";  mass=6;  }
  515.   void breastPlate(){ dc=5; name="Breastplate";  mass=6;  }
  516.   void splintMail(){ dc=0; name="Splint Mail";  mass=7;  }
  517.   void bandedMail(){ dc=2; name="Banded Mail";  mass=6;  }
  518.   void halfPlate(){ dc=10; name="Half-Plate Armor";  mass=9;  }
  519.   void fullPlate(){ dc=15; name="Full-Plate Armor";  mass=10;  }
  520.   void gauntlet(){ dc=12; name="Gauntlets";  mass=2;  }
  521.   void helmet(){ dc=12; name="Gauntlets";  mass=2;  }
  522.   void armorBoots(){ dc=5; name="Armored-Boots";  mass=3;  }
  523.   void lightShield(){ dc=3; name="Shield(Light)";  mass=2;  }
  524.   void heavyShield(){ dc=3; name="Shield(Heavy)";  mass=3;  }
  525.   void towerShield(){ dc=8; name="Towershield";  mass=4;  }
  526.  
  527.   void earring(){ dc=2; name="Earring";  mass=1;  }
  528.   void ring(){ dc=5; name="Ring";  mass=1;  }
  529.   void trinket(){ dc=8; name="Trinket";  mass=1;  }
  530.   void necklace(){ dc=5; name="Necklace";  mass=1;  }
  531.   void tiara(){ dc=7; name="Tiara";  mass=1;  }
  532.   void crown(){ dc=15; name="Crown";  mass=1;  }
  533.  
  534.   void gloves(){ dc=2; name="Gloves";  mass=1;  }
  535.   void boots(){ dc=5; name="Boots";  mass=1;  }
  536.   void belt(){ dc=3; name="Belt";  mass=1;  }
  537.   void cloak(){ dc=1; name="Cloak";  mass=1;  }
  538.   void robe(){ dc=8; name="Robe";  mass=3;  }
  539.   void paddedArmor(){ dc=0; name="Padded Armor";  mass=3;  }
  540.   void leatherArmor(){ dc=2; name="Leather Armor";  mass=4;  }
  541.   void studdedArmor(){ dc=7; name="Studded Armor";  mass=4;  }
  542.   void hideArmor(){ dc=4; name="Hide Armor";  mass=4;  }
  543.  
  544. }
RAW Paste Data