programming-game
Advanced tools
Comparing version 0.0.6 to 0.0.7
@@ -238,3 +238,2 @@ "use strict"; | ||
effects: event.effects, | ||
stats: event.stats, | ||
}; | ||
@@ -241,0 +240,0 @@ }); |
@@ -79,3 +79,3 @@ import { UniqueItemId, UnitStats } from "./types"; | ||
*/ | ||
| "copperDagger" | "copperSword" | ||
| "copperDagger" | "copperSword" | "copperGreatSword" | ||
/** | ||
@@ -82,0 +82,0 @@ * iron weapons |
@@ -290,3 +290,3 @@ "use strict"; | ||
type: "dagger", | ||
weight: 1000, | ||
weight: 500, | ||
buyFromVendorPrice: 200, | ||
@@ -307,2 +307,12 @@ sellToVendorPrice: 20, | ||
}, | ||
}, copperGreatSword: { | ||
id: "copperSword", | ||
name: "Copper Greatsword", | ||
type: "twoHandedSword", | ||
weight: 2000, | ||
buyFromVendorPrice: 100, | ||
sellToVendorPrice: 10, | ||
stats: { | ||
attack: 5, | ||
}, | ||
}, | ||
@@ -309,0 +319,0 @@ /** |
{ | ||
"name": "programming-game", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -129,7 +129,4 @@ import { Amulets, Boots, Chests, Equipments, Gloves, Helms, Items, Legs, OffhandWeapons, OneHandedWeapons, Rings, UniqueItemDefinition, UsableItems, Weapons } from "./items"; | ||
stacks: number; | ||
effects: { | ||
shield?: number; | ||
hot?: number; | ||
}; | ||
stats: Partial<UnitStats>; | ||
target?: string; | ||
effects: AppliesMechanics; | ||
}; | ||
@@ -377,7 +374,4 @@ arena: { | ||
stacks: number; | ||
effects: { | ||
shield?: number; | ||
hot?: number; | ||
}; | ||
stats?: Partial<UnitStats>; | ||
target?: string; | ||
effects: AppliesMechanics; | ||
}>>; | ||
@@ -411,3 +405,3 @@ export type BaseUnit = { | ||
}; | ||
export type StatusEffectName = "chill" | "regen" | "burn" | "freeze" | "iceArmor" | "snare" | "potionSickness" | "bandaged" | "pinningShot"; | ||
export type StatusEffectName = "chill" | "regen" | "burn" | "freeze" | "iceArmor" | "snare" | "potionSickness" | "bandaged" | "pinningShot" | "headbutt" | "charge" | "shieldCharge" | "stunned"; | ||
export declare enum StatusEffectMechanics { | ||
@@ -428,2 +422,13 @@ root = "root", | ||
} | ||
export type AppliesMechanics = { | ||
stun?: boolean; | ||
silence?: boolean; | ||
hot?: number; | ||
snare?: boolean; | ||
shield?: number; | ||
damageMultiplier?: number; | ||
attackMultiplier?: number; | ||
movementMultiplier?: number; | ||
stats?: Partial<UnitStats>; | ||
}; | ||
export interface Monster extends BaseUnit { | ||
@@ -430,0 +435,0 @@ type: UnitTypes.monster; |
import { WeaponType } from "./items"; | ||
export type WeaponSkill = "doubleSlash" | "pinningShot"; | ||
import { AppliesMechanics, StatusEffectName } from "./types"; | ||
export type WeaponSkill = "doubleSlash" | "pinningShot" | "combo" | "haymaker" | "headbutt" | "charge" | "shieldCharge"; | ||
export type WeaponSkillDefinition = { | ||
@@ -8,10 +9,17 @@ id: WeaponSkill; | ||
weaponType: WeaponType | "unarmed"; | ||
effects: { | ||
knockback?: number; | ||
damageMultiplier?: number; | ||
stun?: number; | ||
snare?: number; | ||
attackMultiplier?: number; | ||
target?: string; | ||
minRange?: number; | ||
maxRange?: number; | ||
mechanics?: AppliesMechanics; | ||
selfEffects?: { | ||
duration: number; | ||
effect: StatusEffectName; | ||
mechanics: AppliesMechanics; | ||
}; | ||
targetEffects?: { | ||
duration: number; | ||
effect: StatusEffectName; | ||
mechanics: AppliesMechanics; | ||
}; | ||
}; | ||
export declare const weaponSkills: Record<WeaponSkill, WeaponSkillDefinition>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.weaponSkills = void 0; | ||
var types_1 = require("./types"); | ||
exports.weaponSkills = { | ||
@@ -10,3 +11,3 @@ doubleSlash: { | ||
weaponType: "oneHandedSword", | ||
effects: { | ||
mechanics: { | ||
damageMultiplier: 1, | ||
@@ -21,37 +22,94 @@ attackMultiplier: 2, | ||
weaponType: "bow", | ||
effects: { | ||
mechanics: { | ||
damageMultiplier: 1, | ||
attackMultiplier: 1, | ||
snare: 3000, | ||
}, | ||
targetEffects: { | ||
duration: 3000, | ||
effect: "pinningShot", | ||
mechanics: { | ||
snare: true, | ||
}, | ||
}, | ||
}, | ||
// combo: { | ||
// id: "combo", | ||
// name: "Combo", | ||
// tpCost: 30, | ||
// weaponType: "unarmed", | ||
// effects: { | ||
// damageMultiplier: 1, | ||
// attackMultiplier: 3, | ||
// }, | ||
// }, | ||
// haymaker: { | ||
// id: "haymaker", | ||
// name: "Haymaker", | ||
// tpCost: 30, | ||
// weaponType: "unarmed", | ||
// effects: { | ||
// damageMultiplier: 2, | ||
// attackMultiplier: 1, | ||
// }, | ||
// }, | ||
// headbutt: { | ||
// id: "headbutt", | ||
// name: "Headbutt", | ||
// tpCost: 40, | ||
// weaponType: "unarmed", | ||
// effects: { | ||
// stun: 4, | ||
// }, | ||
// }, | ||
// unarmed skills | ||
combo: { | ||
id: "combo", | ||
name: "Combo", | ||
tpCost: 30, | ||
weaponType: "unarmed", | ||
mechanics: { | ||
damageMultiplier: 1, | ||
attackMultiplier: 3, | ||
}, | ||
}, | ||
haymaker: { | ||
id: "haymaker", | ||
name: "Haymaker", | ||
tpCost: 30, | ||
weaponType: "unarmed", | ||
mechanics: { | ||
damageMultiplier: 5, | ||
attackMultiplier: 1, | ||
}, | ||
}, | ||
headbutt: { | ||
id: "headbutt", | ||
name: "Headbutt", | ||
tpCost: 40, | ||
weaponType: "unarmed", | ||
targetEffects: { | ||
duration: 500, | ||
effect: "headbutt", | ||
mechanics: { | ||
stun: true, | ||
}, | ||
}, | ||
}, | ||
// two handed sword skills | ||
charge: { | ||
id: "charge", | ||
name: "Charge", | ||
tpCost: 20, | ||
weaponType: "twoHandedSword", | ||
maxRange: types_1.sightRange * 0.7, | ||
mechanics: { | ||
damageMultiplier: 1.5, | ||
stats: {}, | ||
}, | ||
selfEffects: { | ||
duration: 3000, | ||
effect: "charge", | ||
mechanics: { | ||
movementMultiplier: 2.5, | ||
}, | ||
}, | ||
}, | ||
// shield skills | ||
shieldCharge: { | ||
id: "shieldCharge", | ||
name: "Shield Charge", | ||
tpCost: 20, | ||
weaponType: "shield", | ||
maxRange: types_1.sightRange * 0.7, | ||
mechanics: { | ||
damageMultiplier: 1.5, | ||
stats: {}, | ||
}, | ||
selfEffects: { | ||
duration: 3000, | ||
effect: "shieldCharge", | ||
mechanics: { | ||
movementMultiplier: 2.5, | ||
stats: {}, | ||
}, | ||
}, | ||
targetEffects: { | ||
duration: 3000, | ||
effect: "stunned", | ||
mechanics: { | ||
stun: true, | ||
}, | ||
}, | ||
}, | ||
}; |
{ | ||
"name": "programming-game", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "keywords": [], |
@@ -327,3 +327,2 @@ import { Socket, io } from "socket.io-client"; | ||
effects: event.effects, | ||
stats: event.stats, | ||
}; | ||
@@ -330,0 +329,0 @@ }); |
@@ -156,2 +156,3 @@ import { UniqueItemId, UnitStats } from "./types"; | ||
| "copperSword" | ||
| "copperGreatSword" | ||
/** | ||
@@ -647,3 +648,3 @@ * iron weapons | ||
type: "dagger", | ||
weight: 1000, | ||
weight: 500, | ||
buyFromVendorPrice: 200, | ||
@@ -666,2 +667,13 @@ sellToVendorPrice: 20, | ||
}, | ||
copperGreatSword: { | ||
id: "copperSword", | ||
name: "Copper Greatsword", | ||
type: "twoHandedSword", | ||
weight: 2000, | ||
buyFromVendorPrice: 100, | ||
sellToVendorPrice: 10, | ||
stats: { | ||
attack: 5, | ||
}, | ||
}, | ||
/** | ||
@@ -668,0 +680,0 @@ * iron weapons |
@@ -156,7 +156,4 @@ import { | ||
stacks: number; | ||
effects: { | ||
shield?: number; | ||
hot?: number; | ||
}; | ||
stats: Partial<UnitStats>; | ||
target?: string; | ||
effects: AppliesMechanics; | ||
}; | ||
@@ -416,7 +413,4 @@ arena: { | ||
stacks: number; | ||
effects: { | ||
shield?: number; | ||
hot?: number; | ||
}; | ||
stats?: Partial<UnitStats>; | ||
target?: string; | ||
effects: AppliesMechanics; | ||
} | ||
@@ -463,3 +457,7 @@ > | ||
| "bandaged" | ||
| "pinningShot"; | ||
| "pinningShot" | ||
| "headbutt" | ||
| "charge" | ||
| "shieldCharge" | ||
| "stunned"; | ||
@@ -481,2 +479,15 @@ export enum StatusEffectMechanics { | ||
} | ||
export type AppliesMechanics = { | ||
stun?: boolean; | ||
silence?: boolean; | ||
hot?: number; | ||
snare?: boolean; | ||
shield?: number; | ||
damageMultiplier?: number; | ||
attackMultiplier?: number; | ||
movementMultiplier?: number; | ||
stats?: Partial<UnitStats>; | ||
}; | ||
export interface Monster extends BaseUnit { | ||
@@ -483,0 +494,0 @@ type: UnitTypes.monster; |
import { WeaponType } from "./items"; | ||
import { AppliesMechanics, StatusEffectName, sightRange } from "./types"; | ||
export type WeaponSkill = "doubleSlash" | "pinningShot"; | ||
// | "combo" | ||
// | "haymaker" | ||
// | "headbutt"; | ||
export type WeaponSkill = | ||
| "doubleSlash" | ||
| "pinningShot" | ||
| "combo" | ||
| "haymaker" | ||
| "headbutt" | ||
| "charge" | ||
| "shieldCharge"; | ||
export type WeaponSkillDefinition = { | ||
@@ -12,10 +17,16 @@ id: WeaponSkill; | ||
weaponType: WeaponType | "unarmed"; | ||
effects: { | ||
knockback?: number; | ||
damageMultiplier?: number; | ||
stun?: number; | ||
snare?: number; | ||
// number of attacks | ||
attackMultiplier?: number; | ||
target?: string; | ||
minRange?: number; | ||
maxRange?: number; | ||
mechanics?: AppliesMechanics; | ||
selfEffects?: { | ||
duration: number; | ||
effect: StatusEffectName; | ||
mechanics: AppliesMechanics; | ||
}; | ||
targetEffects?: { | ||
duration: number; | ||
effect: StatusEffectName; | ||
mechanics: AppliesMechanics; | ||
}; | ||
}; | ||
@@ -29,3 +40,3 @@ | ||
weaponType: "oneHandedSword", | ||
effects: { | ||
mechanics: { | ||
damageMultiplier: 1, | ||
@@ -40,37 +51,94 @@ attackMultiplier: 2, | ||
weaponType: "bow", | ||
effects: { | ||
mechanics: { | ||
damageMultiplier: 1, | ||
attackMultiplier: 1, | ||
snare: 3_000, | ||
}, | ||
targetEffects: { | ||
duration: 3_000, | ||
effect: "pinningShot", | ||
mechanics: { | ||
snare: true, | ||
}, | ||
}, | ||
}, | ||
// combo: { | ||
// id: "combo", | ||
// name: "Combo", | ||
// tpCost: 30, | ||
// weaponType: "unarmed", | ||
// effects: { | ||
// damageMultiplier: 1, | ||
// attackMultiplier: 3, | ||
// }, | ||
// }, | ||
// haymaker: { | ||
// id: "haymaker", | ||
// name: "Haymaker", | ||
// tpCost: 30, | ||
// weaponType: "unarmed", | ||
// effects: { | ||
// damageMultiplier: 2, | ||
// attackMultiplier: 1, | ||
// }, | ||
// }, | ||
// headbutt: { | ||
// id: "headbutt", | ||
// name: "Headbutt", | ||
// tpCost: 40, | ||
// weaponType: "unarmed", | ||
// effects: { | ||
// stun: 4, | ||
// }, | ||
// }, | ||
// unarmed skills | ||
combo: { | ||
id: "combo", | ||
name: "Combo", | ||
tpCost: 30, | ||
weaponType: "unarmed", | ||
mechanics: { | ||
damageMultiplier: 1, | ||
attackMultiplier: 3, | ||
}, | ||
}, | ||
haymaker: { | ||
id: "haymaker", | ||
name: "Haymaker", | ||
tpCost: 30, | ||
weaponType: "unarmed", | ||
mechanics: { | ||
damageMultiplier: 5, | ||
attackMultiplier: 1, | ||
}, | ||
}, | ||
headbutt: { | ||
id: "headbutt", | ||
name: "Headbutt", | ||
tpCost: 40, | ||
weaponType: "unarmed", | ||
targetEffects: { | ||
duration: 500, | ||
effect: "headbutt", | ||
mechanics: { | ||
stun: true, | ||
}, | ||
}, | ||
}, | ||
// two handed sword skills | ||
charge: { | ||
id: "charge", | ||
name: "Charge", | ||
tpCost: 20, | ||
weaponType: "twoHandedSword", | ||
maxRange: sightRange * 0.7, | ||
mechanics: { | ||
damageMultiplier: 1.5, | ||
stats: {}, | ||
}, | ||
selfEffects: { | ||
duration: 3_000, | ||
effect: "charge", | ||
mechanics: { | ||
movementMultiplier: 2.5, | ||
}, | ||
}, | ||
}, | ||
// shield skills | ||
shieldCharge: { | ||
id: "shieldCharge", | ||
name: "Shield Charge", | ||
tpCost: 20, | ||
weaponType: "shield", | ||
maxRange: sightRange * 0.7, | ||
mechanics: { | ||
damageMultiplier: 1.5, | ||
stats: {}, | ||
}, | ||
selfEffects: { | ||
duration: 3_000, | ||
effect: "shieldCharge", | ||
mechanics: { | ||
movementMultiplier: 2.5, | ||
stats: {}, | ||
}, | ||
}, | ||
targetEffects: { | ||
duration: 3_000, | ||
effect: "stunned", | ||
mechanics: { | ||
stun: true, | ||
}, | ||
}, | ||
}, | ||
}; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
220401
6867