@rpgm-tools/neo-angband-core 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,7 +32,7 @@ import { Rng, ENGINE_VERSION, PARITY_BASELINE } from "@rpgm-tools/neo-angband-co
32
32
  const rng = new Rng(1234);
33
33
  console.log(rng.damroll(3, 6), rng.damroll(3, 6), rng.damroll(3, 6)); // 9 13 8
34
34
 
35
- console.log(ENGINE_VERSION, PARITY_BASELINE); // 1.1.0 4.2.6
35
+ console.log(ENGINE_VERSION, PARITY_BASELINE); // 1.1.2 4.2.6
36
36
  ```
37
37
 
38
38
  Two entry points:
@@ -145,7 +145,7 @@ export type OrphanStore = Record<string, OrphanEntry[]>;
145
145
  * core pack outright, and versionMap's versions are only ever used to key
146
146
  * quarantined MOD entities. An existing save keeps whatever it recorded.
147
147
  */
148
- export declare const CORE_PACK_VERSION = "1.1.0";
148
+ export declare const CORE_PACK_VERSION = "1.1.2";
149
149
  /** A core-only manifest: the base game with no mods, deterministic. */
150
150
  export declare function coreOnlyManifest(): SaveManifest;
151
151
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../src/store/price.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACvB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC1B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,OAAO,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,OAAO,GACjB,MAAM,CA6DR"}
1
+ {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../src/store/price.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACvB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC1B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,OAAO,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,OAAO,GACjB,MAAM,CAoER"}
@@ -56,10 +56,18 @@ export function priceItem(reg, store, owner, obj, storeBuying, qty, aware, noSel
56
56
  return 0;
57
57
  }
58
58
  else {
59
- /* Re-evaluate if we're selling. */
59
+ /* Re-evaluate if we're selling. object_value_real is the true cost
60
+ * (shop always knows); apply obj.discount afterwards the same way
61
+ * object_value did in Angband 3.0.6, whose price_item called
62
+ * object_value. 4.2.6 dropped discounts and this re-price path never
63
+ * learned them back - without the cut here, massProduce's restored
64
+ * discount never changes the player-visible listing. */
60
65
  price = tvalCanHaveCharges(obj.tval)
61
66
  ? objectValueReal(reg, obj, qty)
62
67
  : objectValueReal(reg, obj, 1);
68
+ const discount = obj.discount ?? 0;
69
+ if (discount > 0)
70
+ price -= Math.trunc((price * discount) / 100);
63
71
  /* Black market sucks. */
64
72
  if (store.feat === FEAT.STORE_BLACK)
65
73
  price = price * 2;
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/store/price.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/store/price.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -22,5 +22,5 @@ export declare const PARITY_BASELINE = "4.2.6";
22
22
  * warrants, because a published tag is pinned by digest in a catalogue and
23
23
  * must never be moved.
24
24
  */
25
- export declare const ENGINE_VERSION = "1.1.0";
25
+ export declare const ENGINE_VERSION = "1.1.2";
26
26
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -22,5 +22,5 @@ export const PARITY_BASELINE = "4.2.6";
22
22
  * warrants, because a published tag is pinned by digest in a catalogue and
23
23
  * must never be moved.
24
24
  */
25
- export const ENGINE_VERSION = "1.1.0";
25
+ export const ENGINE_VERSION = "1.1.2";
26
26
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgm-tools/neo-angband-core",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Headless Neo Angband game engine: rules, world, entities, effects, generation",
5
5
  "license": "GPL-2.0-only",
6
6
  "author": "neostryder (RPGM Tools)",
@@ -70,10 +70,17 @@ export function priceItem(
70
70
  /* Check for no_selling option. */
71
71
  if (noSelling) return 0;
72
72
  } else {
73
- /* Re-evaluate if we're selling. */
73
+ /* Re-evaluate if we're selling. object_value_real is the true cost
74
+ * (shop always knows); apply obj.discount afterwards the same way
75
+ * object_value did in Angband 3.0.6, whose price_item called
76
+ * object_value. 4.2.6 dropped discounts and this re-price path never
77
+ * learned them back - without the cut here, massProduce's restored
78
+ * discount never changes the player-visible listing. */
74
79
  price = tvalCanHaveCharges(obj.tval)
75
80
  ? objectValueReal(reg, obj, qty)
76
81
  : objectValueReal(reg, obj, 1);
82
+ const discount = obj.discount ?? 0;
83
+ if (discount > 0) price -= Math.trunc((price * discount) / 100);
77
84
 
78
85
  /* Black market sucks. */
79
86
  if (store.feat === FEAT.STORE_BLACK) price = price * 2;
package/src/version.ts CHANGED
@@ -24,4 +24,4 @@ export const PARITY_BASELINE = "4.2.6";
24
24
  * warrants, because a published tag is pinned by digest in a catalogue and
25
25
  * must never be moved.
26
26
  */
27
- export const ENGINE_VERSION = "1.1.0";
27
+ export const ENGINE_VERSION = "1.1.2";