GGJ22/Engine/src/data/animals.ts

75 lines
1.4 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-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-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-29 23:47:56 -08:00
}
},
nutria: {
name: 'nutria',
animal: {
sight: 50,
scent: 50,
acceleration: 0.25,
maxSpeed: 2,
turnRate: 20,
2022-01-30 00:36:59 -08:00
laziness: 0.95,
2022-01-29 23:47:56 -08:00
},
monster: {
sight: 50,
scent: 50,
acceleration: 0.25,
maxSpeed: 2,
turnRate: 20,
2022-01-30 00:36:59 -08:00
laziness: 0.95,
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-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-29 23:47:56 -08:00
}
},
}