Fix rounding for pricing, add Crecelle variant
This commit is contained in:
@@ -4,44 +4,71 @@
|
||||
|
||||
public struct CharismaClass {
|
||||
public string DisplayName { get; private set; } = string.Empty;
|
||||
public double Multiplier { get; private set; }
|
||||
public PriceModifier Modifier { get; private set; } = new(1, 1);
|
||||
|
||||
public CharismaClass() { }
|
||||
|
||||
public static List<CharismaClass> Classes = [
|
||||
public readonly static List<CharismaClass> Classes = [
|
||||
new() {
|
||||
DisplayName = "CHA 5-",
|
||||
Multiplier = 2.0,
|
||||
Modifier = new(2, 1),
|
||||
},
|
||||
new() {
|
||||
DisplayName = "CHA 6 - 7",
|
||||
Multiplier = 1.5,
|
||||
Modifier = new(3, 2),
|
||||
},
|
||||
new() {
|
||||
DisplayName = "CHA 8 - 10",
|
||||
Multiplier = 1.3333,
|
||||
Modifier = new(4, 3),
|
||||
},
|
||||
new() {
|
||||
DisplayName = "CHA 11 - 15",
|
||||
Multiplier = 1.0,
|
||||
Modifier = new(1, 1),
|
||||
},
|
||||
new() {
|
||||
DisplayName = "CHA 16 - 17",
|
||||
Multiplier = 0.75,
|
||||
Modifier = new(3, 4),
|
||||
},
|
||||
new() {
|
||||
DisplayName = "CHA 18",
|
||||
Multiplier = 0.6667,
|
||||
Modifier = new(2, 3),
|
||||
},
|
||||
new() {
|
||||
DisplayName = "CHA 19+",
|
||||
Multiplier = 0.5,
|
||||
Modifier = new(1, 2),
|
||||
},
|
||||
];
|
||||
|
||||
public static readonly CharismaClass DefaultClass = Classes[3];
|
||||
}
|
||||
|
||||
public struct PriceModifier {
|
||||
public int Multiplier { get; set; } = 1;
|
||||
public int Divisor { get; set; } = 1;
|
||||
|
||||
public PriceModifier() { }
|
||||
|
||||
public PriceModifier(int multiplier, int divisor) {
|
||||
Multiplier = multiplier;
|
||||
Divisor = divisor;
|
||||
}
|
||||
|
||||
public readonly int Apply(int cost) {
|
||||
int final = cost * this.Multiplier;
|
||||
if (this.Divisor > 1) {
|
||||
final = ((final * 10) / this.Divisor + 5) / 10;
|
||||
}
|
||||
if (final <= 0) {
|
||||
final = 1;
|
||||
}
|
||||
return final;
|
||||
}
|
||||
|
||||
public static PriceModifier operator *(PriceModifier lhs, PriceModifier rhs) {
|
||||
return new(lhs.Multiplier * rhs.Multiplier, lhs.Divisor * rhs.Divisor);
|
||||
}
|
||||
}
|
||||
|
||||
public class CharismaSource : BindingSource {
|
||||
public CharismaSource() {
|
||||
this.DataSource = CharismaClass.Classes;
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
}
|
||||
|
||||
public class ItemList {
|
||||
public List<Item> Items { get; set; } = new();
|
||||
public List<ItemAppearance> Appearances { get; set; } = new();
|
||||
public List<Item> Items { get; set; } = [];
|
||||
public List<ItemAppearance> Appearances { get; set; } = [];
|
||||
}
|
||||
|
||||
public enum ItemAttribute {
|
||||
|
||||
@@ -29,17 +29,17 @@ namespace NethackHelper {
|
||||
public Func<int, string> CostFormatter { get; set; } = cost => cost.ToString();
|
||||
|
||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||
public List<ItemDisplayColumn> Columns { get; set; } = new();
|
||||
public List<ItemDisplayColumn> Columns { get; set; } = [];
|
||||
|
||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||
public ItemAttribute Grouping { get; set; } = ItemAttribute.Cost;
|
||||
|
||||
private List<int> GroupCosts { get; set; } = [];
|
||||
|
||||
private Dictionary<string, string?> AppearanceMap { get; set; } = new();
|
||||
private Dictionary<string, Item> ItemMap { get; set; } = new();
|
||||
private Dictionary<string, string?> AppearanceMap { get; } = [];
|
||||
private Dictionary<string, Item> ItemMap { get; } = [];
|
||||
|
||||
private Dictionary<string, ContextMenuStrip> appearanceContextMenus = new();
|
||||
private readonly Dictionary<string, ContextMenuStrip> appearanceContextMenus = [];
|
||||
|
||||
public ItemDisplay() {
|
||||
InitializeComponent();
|
||||
@@ -114,17 +114,19 @@ namespace NethackHelper {
|
||||
var columns = this.Columns.Select(col => COLUMN_MAP[col.Attribute].Invoke(item)).ToArray();
|
||||
var groupName = COLUMN_MAP[this.Grouping].Invoke(item);
|
||||
|
||||
var listViewItem = new ListViewItem(columns, groupDictionary[groupName]);
|
||||
listViewItem.UseItemStyleForSubItems = false;
|
||||
var baseFont = new Font(this.itemListView.Font, FontStyle.Regular);
|
||||
var baseColor = UNSELECTED_COLOR;
|
||||
if (!identified) {
|
||||
baseFont = new Font(baseFont, FontStyle.Bold);
|
||||
baseColor = SELECTED_COLOR;
|
||||
}
|
||||
listViewItem.Checked = identified;
|
||||
listViewItem.Font = baseFont;
|
||||
listViewItem.ForeColor = baseColor;
|
||||
|
||||
var listViewItem = new ListViewItem(columns, groupDictionary[groupName]) {
|
||||
UseItemStyleForSubItems = false,
|
||||
Checked = identified,
|
||||
Font = baseFont,
|
||||
ForeColor = baseColor
|
||||
};
|
||||
foreach (ListViewSubItem subItem in listViewItem.SubItems) {
|
||||
subItem.Font = baseFont;
|
||||
subItem.ForeColor = baseColor;
|
||||
@@ -257,8 +259,7 @@ namespace NethackHelper {
|
||||
if (this.appearanceContextMenus.TryGetValue(slot, out var menu)) {
|
||||
itemListView.ContextMenuStrip = menu;
|
||||
var inUse = this.AppearanceMap.Values.Distinct().ToHashSet();
|
||||
string? appearance = null;
|
||||
if (this.AppearanceMap.TryGetValue(item.Text, out appearance) && appearance != null) {
|
||||
if (this.AppearanceMap.TryGetValue(item.Text, out string? appearance) && appearance != null) {
|
||||
inUse.Remove(appearance);
|
||||
}
|
||||
foreach (ToolStripMenuItem menuItem in menu.Items) {
|
||||
|
||||
2
NethackHelper/MainForm.Designer.cs
generated
2
NethackHelper/MainForm.Designer.cs
generated
@@ -275,7 +275,7 @@ namespace NethackHelper {
|
||||
//
|
||||
toolDisplay.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left;
|
||||
toolDisplay.Columns = (System.Collections.Generic.List<ItemDisplayColumn>) resources.GetObject("toolDisplay.Columns");
|
||||
toolDisplay.Grouping = ItemAttribute.Appearance;
|
||||
toolDisplay.Grouping = ItemAttribute.Slot;
|
||||
toolDisplay.Location = new Point(6, 6);
|
||||
toolDisplay.Name = "toolDisplay";
|
||||
toolDisplay.Size = new Size(213, 515);
|
||||
|
||||
@@ -5,10 +5,10 @@ namespace NethackHelper {
|
||||
using System.Windows.Forms;
|
||||
|
||||
public partial class MainForm : Form {
|
||||
private readonly List<SokobanSolution> sokobans = new();
|
||||
private readonly List<SokobanSolution> sokobans = [];
|
||||
private int sokobanStepIndex = 0;
|
||||
|
||||
private Dictionary<string, Version> versionMap = new();
|
||||
private readonly Dictionary<string, Version> versionMap = [];
|
||||
private Version defaultVersion;
|
||||
|
||||
public MainForm() {
|
||||
@@ -28,7 +28,7 @@ namespace NethackHelper {
|
||||
base.OnLoad(e);
|
||||
this.charismaSelector.DataSource = this.charismaSourceBindingSource;
|
||||
this.charismaSelector.DisplayMember = "DisplayName";
|
||||
this.charismaSelector.ValueMember = "Multiplier";
|
||||
this.charismaSelector.ValueMember = "Modifier";
|
||||
|
||||
foreach (var filename in Directory.EnumerateFiles("sokoban", "*.yaml")) {
|
||||
var sokoban = new SokobanSolution(YamlOptions.DeserializeFile<SokobanFile>(filename));
|
||||
@@ -63,7 +63,8 @@ namespace NethackHelper {
|
||||
this.Text = "NethackHelper - " + version.Name;
|
||||
|
||||
intrinsicsBindingSource.DataSource = save.Intrinsics;
|
||||
saveSourceBindingSource.ResetItem(0);
|
||||
|
||||
charismaSelector.SelectedItem = save.CharismaClass;
|
||||
|
||||
var scrolls = YamlOptions.DeserializeFile<ItemList>(Path.Join("items", version.Scrolls));
|
||||
this.scrollDisplay.DisplayItemList(scrolls, save.Scrolls);
|
||||
@@ -91,28 +92,29 @@ namespace NethackHelper {
|
||||
}
|
||||
|
||||
private string GetCostString(int cost) {
|
||||
double buyModifier = (double) (charismaSelector.SelectedValue ?? 1.0);
|
||||
double sellModifier = 0.5;
|
||||
if (suckerBox.Checked) {
|
||||
sellModifier = 0.3333;
|
||||
buyModifier *= 1.3333;
|
||||
var buyModifier = new PriceModifier(1, 1);
|
||||
if (charismaSelector.SelectedValue is PriceModifier modifier) {
|
||||
buyModifier = modifier;
|
||||
}
|
||||
var sellModifier = suckerBox.Checked ? new PriceModifier(1, 3) : new PriceModifier(1, 2);
|
||||
var randomUpcharge = new PriceModifier(4, 3);
|
||||
var randomDownsell = new PriceModifier(3, 4);
|
||||
|
||||
if (cost == 0) {
|
||||
return string.Format(
|
||||
"{0} - Buy: {1}/{2}",
|
||||
cost,
|
||||
Math.Round(5 * buyModifier),
|
||||
Math.Round(5 * buyModifier * 1.3333));
|
||||
buyModifier.Apply(5),
|
||||
(buyModifier * randomUpcharge).Apply(5));
|
||||
}
|
||||
|
||||
return string.Format(
|
||||
"{0} - Buy: {1}/{2}, Sell: {3}/{4}",
|
||||
cost,
|
||||
Math.Round(cost * buyModifier),
|
||||
Math.Round(cost * buyModifier * 1.3333),
|
||||
Math.Round(cost * sellModifier),
|
||||
Math.Round(cost * sellModifier * 0.75));
|
||||
buyModifier.Apply(cost),
|
||||
(buyModifier * randomUpcharge).Apply(cost),
|
||||
sellModifier.Apply(cost),
|
||||
(sellModifier * randomDownsell).Apply(cost));
|
||||
}
|
||||
|
||||
private void NextStep() {
|
||||
|
||||
@@ -144,14 +144,14 @@
|
||||
cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAQBAAAAeVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5l
|
||||
cmljLkxpc3RgMVtbTmV0aGFja0hlbHBlci5JdGVtRGlzcGxheUNvbHVtbiwgTmV0aGFja0hlbHBlciwg
|
||||
Q3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsXV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVy
|
||||
c2lvbgQAACFOZXRoYWNrSGVscGVyLkl0ZW1EaXNwbGF5Q29sdW1uW10CAAAACAgJAwAAAAMAAAAHAAAA
|
||||
c2lvbgQAACFOZXRoYWNrSGVscGVyLkl0ZW1EaXNwbGF5Q29sdW1uW10CAAAACAgJAwAAAAMAAAAPAAAA
|
||||
DAQAAAAzTmV0aGFja0hlbHBlciwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsBwMA
|
||||
AAAAAQAAAAQAAAAEH05ldGhhY2tIZWxwZXIuSXRlbURpc3BsYXlDb2x1bW4EAAAACQUAAAAJBgAAAAkH
|
||||
AAAACgUFAAAAH05ldGhhY2tIZWxwZXIuSXRlbURpc3BsYXlDb2x1bW4CAAAAGjxBdHRyaWJ1dGU+a19f
|
||||
QmFja2luZ0ZpZWxkFjxXaWR0aD5rX19CYWNraW5nRmllbGQEABtOZXRoYWNrSGVscGVyLkl0ZW1BdHRy
|
||||
aWJ1dGUEAAAACAQAAAAF+P///xtOZXRoYWNrSGVscGVyLkl0ZW1BdHRyaWJ1dGUBAAAAB3ZhbHVlX18A
|
||||
CAQAAAAAAAAAcgAAAAEGAAAABQAAAAH3////+P///wIAAAAoAAAAAQcAAAAFAAAAAfb////4////AwAA
|
||||
ALgAAAAL
|
||||
CAQAAAAAAAAAhQAAAAEGAAAABQAAAAH3////+P///wIAAAAcAAAAAQcAAAAFAAAAAfb////4////AwAA
|
||||
ALEAAAAL
|
||||
</value>
|
||||
</data>
|
||||
<data name="ringDisplay.Columns" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
}
|
||||
|
||||
public class IdentificationRecord {
|
||||
private readonly Dictionary<string, ItemRecord> identifications = new();
|
||||
private readonly Dictionary<string, ItemRecord> identifications = [];
|
||||
|
||||
public IdentificationRecord(List<ItemRecord> records) {
|
||||
this.identifications = records.ToDictionary(record => record.Name);
|
||||
@@ -133,14 +133,14 @@
|
||||
public bool Sucker { get; set; }
|
||||
public Intrinsics Intrinsics { get; set; } = new();
|
||||
|
||||
public List<ItemRecord> Potions { get; set; } = new();
|
||||
public List<ItemRecord> Rings { get; set; } = new();
|
||||
public List<ItemRecord> Scrolls { get; set; } = new();
|
||||
public List<ItemRecord> Wands { get; set; } = new();
|
||||
public List<ItemRecord> Spellbooks { get; set; } = new();
|
||||
public List<ItemRecord> Amulets { get; set; } = new();
|
||||
public List<ItemRecord> Tools { get; set; } = new();
|
||||
public List<ItemRecord> Armor { get; set; } = new();
|
||||
public List<ItemRecord> Potions { get; set; } = [];
|
||||
public List<ItemRecord> Rings { get; set; } = [];
|
||||
public List<ItemRecord> Scrolls { get; set; } = [];
|
||||
public List<ItemRecord> Wands { get; set; } = [];
|
||||
public List<ItemRecord> Spellbooks { get; set; } = [];
|
||||
public List<ItemRecord> Amulets { get; set; } = [];
|
||||
public List<ItemRecord> Tools { get; set; } = [];
|
||||
public List<ItemRecord> Armor { get; set; } = [];
|
||||
}
|
||||
|
||||
public class Intrinsics {
|
||||
|
||||
@@ -35,4 +35,5 @@ appearances:
|
||||
- appearance: square
|
||||
- appearance: octagonal
|
||||
- appearance: pentagonal
|
||||
- appearance: cubical
|
||||
- appearance: cubical
|
||||
- appearance: perforated
|
||||
|
||||
132
NethackHelper/items/armor-crecelle.yaml
Normal file
132
NethackHelper/items/armor-crecelle.yaml
Normal file
@@ -0,0 +1,132 @@
|
||||
items:
|
||||
- name: Cloak of Displacement
|
||||
cost: 50
|
||||
slot: cloak
|
||||
- name: Cloak of Invisibility
|
||||
cost: 60
|
||||
slot: cloak
|
||||
- name: Cloak of Magic Resistance
|
||||
cost: 60
|
||||
slot: cloak
|
||||
- name: Cloak of Protection
|
||||
cost: 50
|
||||
slot: cloak
|
||||
- name: Dunce Cap
|
||||
cost: 1
|
||||
appearance: conical hat
|
||||
slot: helm
|
||||
uniqueAppearance: false
|
||||
- name: Cornuthaum
|
||||
cost: 80
|
||||
appearance: conical hat
|
||||
slot: helm
|
||||
uniqueAppearance: false
|
||||
- name: Helmet
|
||||
cost: 10
|
||||
slot: helm
|
||||
- name: Helm of Brilliance
|
||||
cost: 50
|
||||
slot: helm
|
||||
appearance: crystal helmet
|
||||
- name: Helm of Caution
|
||||
cost: 50
|
||||
slot: helm
|
||||
- name: Helm of Opposite Alignment
|
||||
cost: 50
|
||||
slot: helm
|
||||
- name: Helm of Telepathy
|
||||
cost: 50
|
||||
slot: helm
|
||||
- name: Leather Gloves
|
||||
cost: 8
|
||||
slot: gloves
|
||||
- name: Gauntlets of Dexterity
|
||||
cost: 50
|
||||
slot: gloves
|
||||
- name: Gauntlets of Fumbling
|
||||
cost: 50
|
||||
slot: gloves
|
||||
usuallyCursed: true
|
||||
- name: Gauntlets of Power
|
||||
cost: 50
|
||||
slot: gloves
|
||||
- name: Elven Boots
|
||||
cost: 8
|
||||
slot: boots
|
||||
- name: Kicking Boots
|
||||
cost: 8
|
||||
slot: boots
|
||||
- name: Fumble Boots
|
||||
cost: 30
|
||||
slot: boots
|
||||
usuallyCursed: true
|
||||
- name: Levitation Boots
|
||||
cost: 30
|
||||
slot: boots
|
||||
usuallyCursed: true
|
||||
- name: Jumping Boots
|
||||
cost: 50
|
||||
slot: boots
|
||||
- name: Speed Boots
|
||||
cost: 50
|
||||
slot: boots
|
||||
- name: Water Walking Boots
|
||||
cost: 50
|
||||
slot: boots
|
||||
appearances:
|
||||
- appearance: plumed helmet
|
||||
slot: helm
|
||||
- appearance: etched helmet
|
||||
slot: helm
|
||||
- appearance: crested helmet
|
||||
slot: helm
|
||||
- appearance: visored helmet
|
||||
slot: helm
|
||||
- appearance: frog-mouthed helm
|
||||
slot: helm
|
||||
- appearance: close helmet
|
||||
slot: helm
|
||||
- appearance: full helm
|
||||
slot: helm
|
||||
- appearance: horned helmet
|
||||
slot: helm
|
||||
notes: protectes against blinding attacks of ravens and venom-spitting attacks of cobras
|
||||
- appearance: piece of cloth
|
||||
slot: cloak
|
||||
- appearance: opera cloak
|
||||
slot: cloak
|
||||
- appearance: ornamental cope
|
||||
slot: cloak
|
||||
- appearance: tattered cape
|
||||
slot: cloak
|
||||
- appearance: diaphanous veil
|
||||
slot: cloak
|
||||
- appearance: heavy mantle
|
||||
slot: cloak
|
||||
- appearance: voluminous shroud
|
||||
slot: cloak
|
||||
- appearance: old gloves
|
||||
slot: gloves
|
||||
- appearance: padded gloves
|
||||
slot: gloves
|
||||
- appearance: riding gloves
|
||||
slot: gloves
|
||||
notes: increases chance of successfully saddling a steed
|
||||
- appearance: fencing gloves
|
||||
slot: gloves
|
||||
- appearance: mud boots
|
||||
slot: boots
|
||||
- appearance: buckled boots
|
||||
slot: boots
|
||||
- appearance: riding boots
|
||||
slot: boots
|
||||
notes: increases chance of successfully saddling a steed
|
||||
- appearance: snow boots
|
||||
slot: boots
|
||||
notes: prevents fumbling effect of ice
|
||||
- appearance: hiking boots
|
||||
slot: boots
|
||||
- appearance: combat boots
|
||||
slot: boots
|
||||
- appearance: jungle boots
|
||||
slot: boots
|
||||
94
NethackHelper/items/potions-crecelle.yaml
Normal file
94
NethackHelper/items/potions-crecelle.yaml
Normal file
@@ -0,0 +1,94 @@
|
||||
items:
|
||||
- name: Water
|
||||
cost: 0
|
||||
appearance: clear
|
||||
- name: Healing
|
||||
cost: 20
|
||||
- name: Blood
|
||||
cost: 50
|
||||
appearance: blood red
|
||||
- name: Booze
|
||||
cost: 50
|
||||
- name: Fruit Juice
|
||||
cost: 50
|
||||
- name: See Invisible
|
||||
cost: 50
|
||||
- name: Sickness
|
||||
cost: 50
|
||||
- name: Confusion
|
||||
cost: 100
|
||||
- name: Extra Healing
|
||||
cost: 100
|
||||
- name: Hallucination
|
||||
cost: 100
|
||||
- name: Hazardous Waste
|
||||
cost: 100
|
||||
- name: Restore Ability
|
||||
cost: 100
|
||||
- name: Sleeping
|
||||
cost: 100
|
||||
- name: Teleportitis
|
||||
cost: 100
|
||||
- name: (Un)Holy Water
|
||||
cost: 100
|
||||
appearance: clear
|
||||
- name: Blindness
|
||||
cost: 150
|
||||
- name: Gain Energy
|
||||
cost: 150
|
||||
- name: Invisibility
|
||||
cost: 150
|
||||
- name: Monster Detection
|
||||
cost: 150
|
||||
- name: Object Detection
|
||||
cost: 150
|
||||
- name: Enlightenment
|
||||
cost: 200
|
||||
- name: Full Healing
|
||||
cost: 200
|
||||
- name: Levitation
|
||||
cost: 200
|
||||
- name: Polymorph
|
||||
cost: 200
|
||||
- name: Speed
|
||||
cost: 200
|
||||
- name: Acid
|
||||
cost: 250
|
||||
- name: Oil
|
||||
cost: 250
|
||||
- name: Gain Ability
|
||||
cost: 300
|
||||
- name: Gain Level
|
||||
cost: 300
|
||||
- name: Paralysis
|
||||
cost: 300
|
||||
appearances:
|
||||
- appearance: ruby
|
||||
- appearance: dark green
|
||||
- appearance: purple-red
|
||||
- appearance: smoky
|
||||
notes: can summon djinni
|
||||
- appearance: brown
|
||||
- appearance: pink
|
||||
- appearance: cyan
|
||||
- appearance: puce
|
||||
- appearance: cloudy
|
||||
- appearance: fizzy
|
||||
- appearance: orange
|
||||
- appearance: sky blue
|
||||
- appearance: milky
|
||||
notes: can summon ghost
|
||||
- appearance: effervescent
|
||||
- appearance: dark
|
||||
- appearance: yellow
|
||||
- appearance: brilliant blue
|
||||
- appearance: swirly
|
||||
- appearance: black
|
||||
- appearance: white
|
||||
- appearance: emerald
|
||||
- appearance: magenta
|
||||
- appearance: bubbly
|
||||
- appearance: golden
|
||||
- appearance: murky
|
||||
- appearance: turgid
|
||||
- appearance: bilious
|
||||
119
NethackHelper/items/scrolls-crecelle.yaml
Normal file
119
NethackHelper/items/scrolls-crecelle.yaml
Normal file
@@ -0,0 +1,119 @@
|
||||
items:
|
||||
- name: Identify
|
||||
ink: 14
|
||||
cost: 20
|
||||
- name: Light
|
||||
ink: 8
|
||||
cost: 50
|
||||
- name: Harmonize Weapon
|
||||
ink: 40
|
||||
cost: 60
|
||||
- name: Blank Paper
|
||||
ink: 0
|
||||
cost: 60
|
||||
appearance: unlabeled
|
||||
- name: Harmonize Armor
|
||||
ink: 40
|
||||
cost: 80
|
||||
- name: Remove Curse
|
||||
ink: 16
|
||||
cost: 80
|
||||
- name: Confuse Monster
|
||||
ink: 12
|
||||
cost: 100
|
||||
- name: Destroy Armor
|
||||
ink: 10
|
||||
cost: 100
|
||||
- name: Fire
|
||||
ink: 8
|
||||
cost: 100
|
||||
- name: Food Detection
|
||||
ink: 8
|
||||
cost: 100
|
||||
- name: Gold Detection
|
||||
ink: 8
|
||||
cost: 100
|
||||
- name: Magic Mapping
|
||||
ink: 8
|
||||
cost: 100
|
||||
- name: Scare Monster
|
||||
ink: 20
|
||||
cost: 100
|
||||
- name: Teleportation
|
||||
ink: 20
|
||||
cost: 100
|
||||
- name: Amnesia
|
||||
ink: 8
|
||||
cost: 200
|
||||
- name: Create Monster
|
||||
ink: 10
|
||||
cost: 200
|
||||
- name: Earth
|
||||
ink: 8
|
||||
cost: 200
|
||||
- name: Taming
|
||||
ink: 20
|
||||
cost: 200
|
||||
- name: Charging
|
||||
ink: 16
|
||||
cost: 300
|
||||
- name: Control Weather
|
||||
ink: 12
|
||||
cost: 300
|
||||
- name: Erasure
|
||||
ink: 30
|
||||
cost: 300
|
||||
- name: Maze
|
||||
ink: 20
|
||||
cost: 300
|
||||
- name: Punishment
|
||||
ink: 10
|
||||
cost: 300
|
||||
- name: Stinking Cloud
|
||||
ink: 20
|
||||
cost: 300
|
||||
appearances:
|
||||
- appearance: 4TN ETC MOTD
|
||||
- appearance: ET ITANIS
|
||||
- appearance: DR 0451
|
||||
- appearance: UDLER BASTRI
|
||||
- appearance: BOFH PFY
|
||||
- appearance: FOOELS DAIYEN
|
||||
- appearance: FUHUHUHUHU
|
||||
- appearance: IFNDEF
|
||||
- appearance: DOT ERSUS MOK
|
||||
- appearance: VIBGYOR
|
||||
- appearance: ORBITUS TERTIUS
|
||||
- appearance: EERF MRD
|
||||
- appearance: OM NOM NOM
|
||||
- appearance: YADANI CHEAVE
|
||||
- appearance: TRAESTO
|
||||
- appearance: OOM KILAR
|
||||
- appearance: LP0 ON FIRE
|
||||
- appearance: NORMRF
|
||||
- appearance: KTHXBYE
|
||||
- appearance: VENVIDVIC
|
||||
- appearance: EKDMOS
|
||||
- appearance: WAREZ WALL DO
|
||||
- appearance: FIZZ BUZZ
|
||||
- appearance: OLEL UL ILAL
|
||||
- appearance: ERMACS
|
||||
- appearance: HERAKLES
|
||||
- appearance: DOTNFO
|
||||
- appearance: VEEBLUNK EN TRUPT
|
||||
- appearance: DOLOR SIT AMET
|
||||
- appearance: CQ CQ CQ
|
||||
- appearance: ELOMCWE
|
||||
- appearance: ALAKAZAM
|
||||
- appearance: KOOP NAMTAR
|
||||
- appearance: MLIT WVC TEKU SFC
|
||||
- appearance: NARPAS SWORD
|
||||
- appearance: BATTLE999
|
||||
- appearance: SAZUN HERA DUODER
|
||||
- appearance: BEN ZI BENA
|
||||
- appearance: KRYPT3R
|
||||
- appearance: TILTOWAIT
|
||||
- appearance: VAS KAL CORP
|
||||
- appearance: H POKE
|
||||
- appearance: SQUEMISH OSIFRAGE
|
||||
- appearance: FLVR TXT
|
||||
132
NethackHelper/items/tools-crecelle.yaml
Normal file
132
NethackHelper/items/tools-crecelle.yaml
Normal file
@@ -0,0 +1,132 @@
|
||||
items:
|
||||
- name: Bag of Holding
|
||||
slot: bag
|
||||
cost: 100
|
||||
- name: Bag of Tricks
|
||||
slot: bag
|
||||
cost: 100
|
||||
- name: Oilskin Sack
|
||||
slot: bag
|
||||
cost: 100
|
||||
- name: Sack
|
||||
slot: bag
|
||||
cost: 2
|
||||
- name: Acoustic Guitar
|
||||
cost: 50
|
||||
appearance: guitar
|
||||
slot: guitar
|
||||
uniqueAppearance: false
|
||||
- name: Electric Guitar
|
||||
cost: 50
|
||||
appearance: guitar
|
||||
slot: guitar
|
||||
uniqueAppearance: false
|
||||
- name: Fire Horn
|
||||
cost: 50
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Frost Horn
|
||||
cost: 50
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Horn of Plenty
|
||||
cost: 50
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Tooled Horn
|
||||
cost: 15
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Magic Flute
|
||||
cost: 36
|
||||
appearance: flute
|
||||
slot: flute
|
||||
uniqueAppearance: false
|
||||
- name: Wooden Flute
|
||||
cost: 12
|
||||
appearance: flute
|
||||
slot: flute
|
||||
uniqueAppearance: false
|
||||
- name: Magic Harp
|
||||
cost: 50
|
||||
appearance: harp
|
||||
slot: harp
|
||||
uniqueAppearance: false
|
||||
- name: Wooden Harp
|
||||
cost: 50
|
||||
appearance: harp
|
||||
slot: harp
|
||||
uniqueAppearance: false
|
||||
- name: Drum of Earthquake
|
||||
cost: 25
|
||||
appearance: drum
|
||||
slot: drum
|
||||
uniqueAppearance: false
|
||||
- name: Leather Drum
|
||||
cost: 25
|
||||
appearance: drum
|
||||
slot: drum
|
||||
uniqueAppearance: false
|
||||
- name: Magic Whistle
|
||||
cost: 10
|
||||
appearance: whistle
|
||||
slot: whistle
|
||||
uniqueAppearance: false
|
||||
- name: Tin Whistle
|
||||
cost: 10
|
||||
appearance: whistle
|
||||
slot: whistle
|
||||
uniqueAppearance: false
|
||||
- name: Magic Lamp
|
||||
cost: 50
|
||||
appearance: lamp
|
||||
slot: lamp
|
||||
uniqueAppearance: false
|
||||
- name: Oil Lamp
|
||||
cost: 10
|
||||
appearance: lamp
|
||||
slot: lamp
|
||||
uniqueAppearance: false
|
||||
- name: Wax Candle
|
||||
cost: 20
|
||||
appearance: candle
|
||||
slot: candle
|
||||
uniqueAppearance: false
|
||||
- name: Tallow Candle
|
||||
cost: 10
|
||||
appearance: candle
|
||||
slot: candle
|
||||
uniqueAppearance: false
|
||||
- name: Loadstone
|
||||
cost: 1
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
- name: Flint Stone
|
||||
cost: 1
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
- name: Touchstone
|
||||
cost: 45
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
- name: Luckstone
|
||||
cost: 60
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
appearances:
|
||||
- appearance: burlap bag
|
||||
slot: bag
|
||||
- appearance: canvas bag
|
||||
slot: bag
|
||||
- appearance: drawstring bag
|
||||
slot: bag
|
||||
- appearance: embroidered bag
|
||||
slot: bag
|
||||
@@ -2,96 +2,120 @@
|
||||
- name: Bag of Holding
|
||||
cost: 100
|
||||
appearance: bag
|
||||
slot: bag
|
||||
uniqueAppearance: false
|
||||
- name: Bag of Tricks
|
||||
cost: 100
|
||||
appearance: bag
|
||||
slot: bag
|
||||
uniqueAppearance: false
|
||||
- name: Oilskin Sack
|
||||
cost: 100
|
||||
appearance: bag
|
||||
slot: bag
|
||||
uniqueAppearance: false
|
||||
- name: Sack
|
||||
cost: 2
|
||||
appearance: bag
|
||||
slot: bag
|
||||
uniqueAppearance: false
|
||||
- name: Fire Horn
|
||||
cost: 50
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Frost Horn
|
||||
cost: 50
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Horn of Plenty
|
||||
cost: 50
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Tooled Horn
|
||||
cost: 15
|
||||
appearance: horn
|
||||
slot: horn
|
||||
uniqueAppearance: false
|
||||
- name: Magic Flute
|
||||
cost: 36
|
||||
appearance: flute
|
||||
slot: flute
|
||||
uniqueAppearance: false
|
||||
- name: Wooden Flute
|
||||
cost: 12
|
||||
appearance: flute
|
||||
slot: flute
|
||||
uniqueAppearance: false
|
||||
- name: Magic Harp
|
||||
cost: 50
|
||||
appearance: harp
|
||||
slot: harp
|
||||
uniqueAppearance: false
|
||||
- name: Wooden Harp
|
||||
cost: 50
|
||||
appearance: harp
|
||||
slot: harp
|
||||
uniqueAppearance: false
|
||||
- name: Drum of Earthquake
|
||||
cost: 25
|
||||
appearance: drum
|
||||
slot: drum
|
||||
uniqueAppearance: false
|
||||
- name: Leather Drum
|
||||
cost: 25
|
||||
appearance: drum
|
||||
slot: drum
|
||||
uniqueAppearance: false
|
||||
- name: Magic Whistle
|
||||
cost: 10
|
||||
appearance: whistle
|
||||
slot: whistle
|
||||
uniqueAppearance: false
|
||||
- name: Tin Whistle
|
||||
cost: 10
|
||||
appearance: whistle
|
||||
slot: whistle
|
||||
uniqueAppearance: false
|
||||
- name: Magic Lamp
|
||||
cost: 50
|
||||
appearance: lamp
|
||||
slot: lamp
|
||||
uniqueAppearance: false
|
||||
- name: Oil Lamp
|
||||
cost: 10
|
||||
appearance: lamp
|
||||
slot: lamp
|
||||
uniqueAppearance: false
|
||||
- name: Wax Candle
|
||||
cost: 20
|
||||
appearance: candle
|
||||
slot: candle
|
||||
uniqueAppearance: false
|
||||
- name: Tallow Candle
|
||||
cost: 10
|
||||
appearance: candle
|
||||
slot: candle
|
||||
uniqueAppearance: false
|
||||
- name: Loadstone
|
||||
cost: 1
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
- name: Flint Stone
|
||||
cost: 1
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
- name: Touchstone
|
||||
cost: 45
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
- name: Luckstone
|
||||
cost: 60
|
||||
appearance: gray stone
|
||||
slot: gray stone
|
||||
uniqueAppearance: false
|
||||
@@ -15,4 +15,13 @@
|
||||
spellbooks: spellbooks-37.yaml
|
||||
amulets: amulets-37.yaml
|
||||
tools: tools-stones.yaml
|
||||
armor: armor-37.yaml
|
||||
armor: armor-37.yaml
|
||||
- name: CrecelleHack
|
||||
scrolls: scrolls-crecelle.yaml
|
||||
rings: rings.yaml
|
||||
potions: potions-crecelle.yaml
|
||||
wands: wands-crecelle.yaml
|
||||
spellbooks: spellbooks-37.yaml
|
||||
amulets: amulets-37.yaml
|
||||
tools: tools-crecelle.yaml
|
||||
armor: armor-crecelle.yaml
|
||||
88
NethackHelper/items/wands-crecelle.yaml
Normal file
88
NethackHelper/items/wands-crecelle.yaml
Normal file
@@ -0,0 +1,88 @@
|
||||
items:
|
||||
- name: Light
|
||||
cost: 100
|
||||
- name: Nothing
|
||||
cost: 100
|
||||
- name: Digging
|
||||
cost: 150
|
||||
- name: Enlightenment
|
||||
cost: 150
|
||||
- name: Locking
|
||||
cost: 150
|
||||
- name: Magic Missile
|
||||
cost: 150
|
||||
- name: Make Invisible
|
||||
cost: 150
|
||||
- name: Opening
|
||||
cost: 150
|
||||
- name: Probing
|
||||
cost: 150
|
||||
- name: Secret Door Detection
|
||||
cost: 150
|
||||
- name: Slow Monster
|
||||
cost: 150
|
||||
- name: Speed Monster
|
||||
cost: 150
|
||||
- name: Striking
|
||||
cost: 150
|
||||
- name: Undead Turning
|
||||
cost: 150
|
||||
- name: Water
|
||||
cost: 150
|
||||
- name: Cold
|
||||
cost: 175
|
||||
- name: Fire
|
||||
cost: 175
|
||||
- name: Lightning
|
||||
cost: 175
|
||||
- name: Sleep
|
||||
cost: 175
|
||||
- name: Cancellation
|
||||
cost: 200
|
||||
- name: Create Monster
|
||||
cost: 200
|
||||
- name: Fecundity
|
||||
cost: 200
|
||||
- name: Polymorph
|
||||
cost: 200
|
||||
- name: Teleportation
|
||||
cost: 200
|
||||
- name: Death
|
||||
cost: 500
|
||||
- name: Wishing
|
||||
cost: 500
|
||||
appearances:
|
||||
- appearance: aluminum
|
||||
- appearance: bone
|
||||
- appearance: curved
|
||||
- appearance: iridium
|
||||
- appearance: marble
|
||||
notes: stone to flesh will make into a meat stick
|
||||
- appearance: short
|
||||
- appearance: uranium
|
||||
- appearance: balsa
|
||||
notes: requires only 5 strength to break
|
||||
- appearance: ebony
|
||||
- appearance: iron
|
||||
- appearance: oak
|
||||
- appearance: silver
|
||||
- appearance: zinc
|
||||
- appearance: brass
|
||||
- appearance: forked
|
||||
- appearance: jeweled
|
||||
- appearance: pine
|
||||
- appearance: spiked
|
||||
- appearance: copper
|
||||
- appearance: glass
|
||||
notes: fragile
|
||||
- appearance: long
|
||||
- appearance: platinum
|
||||
- appearance: steel
|
||||
- appearance: crystal
|
||||
notes: fragile
|
||||
- appearance: hexagonal
|
||||
- appearance: maple
|
||||
- appearance: runed
|
||||
- appearance: tin
|
||||
- appearance: swishy
|
||||
- appearance: solid ice
|
||||
Reference in New Issue
Block a user