GGJ22/Engine/src/data/animals.ts

135 lines
2.6 KiB
TypeScript
Raw Normal View History

2022-01-29 23:47:56 -08:00
export interface AnimalDefinition {
name: string
animal: CreatureDefinition
monster: CreatureDefinition
}
export interface CreatureDefinition {
sight: number
scent: number
acceleration: number
maxSpeed: number
turnRate: number
2022-01-30 00:36:59 -08:00
laziness: number // Laziness determines how often the creature wanders each time it decides if it should wander. 1 means it'll never act, 0 means it'll always act.
2022-01-30 01:17:52 -08:00
noisiness: number // Noisness determines how likely the creature randomly will make noise.
2022-01-30 02:27:05 -08:00
erratic: number // Erratic determines how likely the creature will randomly change direction while running.
2022-01-29 23:47:56 -08:00
}
export const animals: Record<string, AnimalDefinition> = {
deer: {
name: 'deer',
animal: {
sight: 100,
scent: 50,
acceleration: 0.5,
maxSpeed: 3,
turnRate: 10,
2022-01-30 00:36:59 -08:00
laziness: 0.75,
2022-01-30 01:17:52 -08:00
noisiness: 0.1,
2022-01-30 02:27:05 -08:00
erratic: 0.1,
2022-01-29 23:47:56 -08:00
},
monster: {
sight: 125,
scent: 75,
acceleration: 0.75,
maxSpeed: 3,
turnRate: 10,
2022-01-30 00:36:59 -08:00
laziness: 0.75,
2022-01-30 01:17:52 -08:00
noisiness: 0.1,
2022-01-30 02:27:05 -08:00
erratic: 0.1,
2022-01-29 23:47:56 -08:00
}
},
nutria: {
name: 'nutria',
animal: {
sight: 50,
scent: 50,
2022-01-30 02:27:05 -08:00
acceleration: 0.5,
2022-01-29 23:47:56 -08:00
maxSpeed: 2,
turnRate: 20,
2022-01-30 00:36:59 -08:00
laziness: 0.95,
2022-01-30 01:17:52 -08:00
noisiness: 0.05,
2022-01-30 02:27:05 -08:00
erratic: 0.1,
2022-01-29 23:47:56 -08:00
},
monster: {
sight: 50,
scent: 50,
2022-01-30 02:27:05 -08:00
acceleration: 0.5,
2022-01-29 23:47:56 -08:00
maxSpeed: 2,
turnRate: 20,
2022-01-30 00:36:59 -08:00
laziness: 0.95,
2022-01-30 01:17:52 -08:00
noisiness: 0.05,
2022-01-30 02:27:05 -08:00
erratic: 0.1,
2022-01-29 23:47:56 -08:00
},
},
turkey: {
name: 'turkey',
animal: {
sight: 50,
scent: 75,
acceleration: 0.75,
maxSpeed: 2,
turnRate: 20,
2022-01-30 00:36:59 -08:00
laziness: 0.85,
2022-01-30 01:17:52 -08:00
noisiness: 0.2,
2022-01-30 02:27:05 -08:00
erratic: 0.2,
2022-01-29 23:47:56 -08:00
},
monster: {
sight: 75,
scent: 75,
acceleration: 0.75,
maxSpeed: 2,
turnRate: 20,
2022-01-30 00:36:59 -08:00
laziness: 0.85,
2022-01-30 01:17:52 -08:00
noisiness: 0.2,
2022-01-30 02:27:05 -08:00
erratic: 0.2,
}
},
salamander: {
name: 'salamander',
animal: {
sight: 35,
scent: 50,
acceleration: 0.75,
maxSpeed: 1.5,
turnRate: 10,
laziness: 0.9,
noisiness: 0.05,
erratic: 0.05,
},
monster: {
sight: 35,
scent: 50,
acceleration: 0.75,
maxSpeed: 1.5,
turnRate: 10,
laziness: 0.9,
noisiness: 0.05,
erratic: 0.05,
}
},
rabbit: {
name: 'rabbit',
animal: {
sight: 50,
scent: 100,
acceleration: 1,
maxSpeed: 2,
turnRate: 15,
laziness: 0.65,
noisiness: 0.2,
erratic: 0.7,
},
monster: {
sight: 50,
scent: 100,
acceleration: 1,
maxSpeed: 2,
turnRate: 15,
laziness: 0.65,
noisiness: 0.2,
erratic: 0.7,
2022-01-29 23:47:56 -08:00
}
},
}