Pārlūkot izejas kodu

Make the VoreAI favor digestion more heavily

master
Fen Dweller pirms 5 gadiem
vecāks
revīzija
6e14a4fdd9
2 mainītis faili ar 18 papildinājumiem un 4 dzēšanām
  1. +4
    -3
      src/game/ai.ts
  2. +14
    -1
      src/game/ai/deciders.ts

+ 4
- 3
src/game/ai.ts Parādīt failu

@@ -2,7 +2,7 @@ import { Creature } from './creature'
import { Encounter, Action } from './combat' import { Encounter, Action } from './combat'
import { LogEntry } from './interface' import { LogEntry } from './interface'
import { PassAction } from './combat/actions' import { PassAction } from './combat/actions'
import { NoPassDecider, NoReleaseDecider, ChanceDecider, NoSurrenderDecider } from './ai/deciders'
import { NoPassDecider, NoReleaseDecider, ChanceDecider, NoSurrenderDecider, FavorDigestDecider } from './ai/deciders'


/** /**
* A Decider determines how favorable an action is to perform. * A Decider determines how favorable an action is to perform.
@@ -12,7 +12,7 @@ export interface Decider {
} }


export class AI { export class AI {
constructor (private deciders: Decider[]) {
constructor (public deciders: Decider[]) {


} }


@@ -67,7 +67,8 @@ export class VoreAI extends AI {
new NoReleaseDecider(), new NoReleaseDecider(),
new NoSurrenderDecider(), new NoSurrenderDecider(),
new NoPassDecider(), new NoPassDecider(),
new ChanceDecider()
new ChanceDecider(),
new FavorDigestDecider()
] ]
) )
} }


+ 14
- 1
src/game/ai/deciders.ts Parādīt failu

@@ -1,7 +1,7 @@
import { Decider } from '../ai' import { Decider } from '../ai'
import { Encounter, Action, Consequence, CompositionAction } from '../combat' import { Encounter, Action, Consequence, CompositionAction } from '../combat'
import { Creature } from '../creature' import { Creature } from '../creature'
import { PassAction, ReleaseAction } from '../combat/actions'
import { PassAction, ReleaseAction, DigestAction } from '../combat/actions'
import { StatusConsequence } from '../combat/consequences' import { StatusConsequence } from '../combat/consequences'
import { SurrenderEffect } from '../combat/effects' import { SurrenderEffect } from '../combat/effects'


@@ -98,3 +98,16 @@ export class NoSurrenderDecider extends ConsequenceFunctionDecider {
) )
} }
} }

/**
* Favors [[DigestAction]]s
*/
export class FavorDigestDecider implements Decider {
decide (encounter: Encounter, user: Creature, target: Creature, action: Action) {
if (action instanceof DigestAction) {
return 5
} else {
return 1
}
}
}

Notiek ielāde…
Atcelt
Saglabāt