@dreadwood-types/types 0.1.93 → 0.1.94

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.
@@ -72,4 +72,15 @@ export declare const DRAGONFIRE_ARMOUR_FACTOR = 0.5;
72
72
  export declare const DRAGONFIRE_GLOW = 15354398;
73
73
  /** What `combat_windup.attack` and `combat_hit.projectile` say for the breath. */
74
74
  export type DragonfireAttack = 'dragonfire';
75
+ /**
76
+ * The frost weapons (James, 2026-10-01: "ice weapons should deal high damage vs them"): the Frozen Depths'
77
+ * blades, staffs and bow. Against a dragon every hit they land does FROST_VS_DRAGON times its damage; every other
78
+ * weapon hits a dragon as it hits anything else (James agreed full damage, no "dragon hide").
79
+ */
80
+ export declare const FROST_WEAPONS: ReadonlySet<string>;
81
+ /** A frost weapon's hits on a dragon are worth this many times their damage. */
82
+ export declare const FROST_VS_DRAGON = 1.75;
83
+ export declare function isFrostWeapon(kind: string | null | undefined): boolean;
84
+ /** How much a player's hit on this NPC is scaled for the weapon in hand (1 unless a frost weapon meets a dragon). */
85
+ export declare function weaponVsNpcScale(npcKind: string, weaponKind: string | null | undefined): number;
75
86
  //# sourceMappingURL=dragonfire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dragonfire.d.ts","sourceRoot":"","sources":["../src/dragonfire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,EAAE,OAAc,CAAC;AAEhD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"dragonfire.d.ts","sourceRoot":"","sources":["../src/dragonfire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,EAAE,OAAc,CAAC;AAEhD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,4EAA4E;AAC5E,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAM5C,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED,qHAAqH;AACrH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE/F"}
@@ -70,4 +70,25 @@ export const DRAGONFIRE_WINDUP_MS = 900;
70
70
  export const DRAGONFIRE_ARMOUR_FACTOR = 0.5;
71
71
  /** The sheet's glowing orange-red (mouth, eyes, the heart of the flame). */
72
72
  export const DRAGONFIRE_GLOW = 0xea4a1e;
73
+ /**
74
+ * The frost weapons (James, 2026-10-01: "ice weapons should deal high damage vs them"): the Frozen Depths'
75
+ * blades, staffs and bow. Against a dragon every hit they land does FROST_VS_DRAGON times its damage; every other
76
+ * weapon hits a dragon as it hits anything else (James agreed full damage, no "dragon hide").
77
+ */
78
+ export const FROST_WEAPONS = new Set([
79
+ 'wardensfrostblade',
80
+ 'lichfroststaff',
81
+ 'frostfangsword',
82
+ 'frozenbow',
83
+ 'crystalfroststaff',
84
+ ]);
85
+ /** A frost weapon's hits on a dragon are worth this many times their damage. */
86
+ export const FROST_VS_DRAGON = 1.75;
87
+ export function isFrostWeapon(kind) {
88
+ return !!kind && FROST_WEAPONS.has(kind);
89
+ }
90
+ /** How much a player's hit on this NPC is scaled for the weapon in hand (1 unless a frost weapon meets a dragon). */
91
+ export function weaponVsNpcScale(npcKind, weaponKind) {
92
+ return npcKind === 'dragon' && isFrostWeapon(weaponKind) ? FROST_VS_DRAGON : 1;
93
+ }
73
94
  //# sourceMappingURL=dragonfire.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dragonfire.js","sourceRoot":"","sources":["../src/dragonfire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAY,IAAI,CAAC;AAEhD,yEAAyE;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"dragonfire.js","sourceRoot":"","sources":["../src/dragonfire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAY,IAAI,CAAC;AAEhD,yEAAyE;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAKxC;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACxD,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,mBAAmB;CACpB,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,MAAM,UAAU,aAAa,CAAC,IAA+B;IAC3D,OAAO,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAAqC;IACrF,OAAO,OAAO,KAAK,QAAQ,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreadwood-types/types",
3
- "version": "0.1.93",
3
+ "version": "0.1.94",
4
4
  "description": "Public wire protocol and client-safe constants for Dreadwoods",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",