|  |  | @@ -88,6 +88,11 @@ export const Newtown = (): Place => { | 
		
	
		
			
			|  |  |  | "Town street north of the Town square" | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const northTownShop = new Place( | 
		
	
		
			
			|  |  |  | new ProperNoun("North Town Shop"), | 
		
	
		
			
			|  |  |  | "A shop for your impulsive buying needs" | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | const eastTownStreet = new Place( | 
		
	
		
			
			|  |  |  | new ProperNoun("East Town Street"), | 
		
	
		
			
			|  |  |  | "Town street east of the Town square" | 
		
	
	
		
			
				|  |  | @@ -187,6 +192,58 @@ export const Newtown = (): Place => { | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | townSquare.choices.push( | 
		
	
		
			
			|  |  |  | new Choice( | 
		
	
		
			
			|  |  |  | "Eat someone", | 
		
	
		
			
			|  |  |  | "Slurp", | 
		
	
		
			
			|  |  |  | (world, executor) => { | 
		
	
		
			
			|  |  |  | const snack = new Human(new ProperNoun(["Snack", "Treat", "Tasty", "Dinner", "Appetizer"][Math.floor(Math.random() * 5)]), [MalePronouns, FemalePronouns, TheyPronouns][Math.floor(Math.random() * 3)]) | 
		
	
		
			
			|  |  |  | snack.applyEffect(new SurrenderEffect()) | 
		
	
		
			
			|  |  |  | const options = executor.validActions(snack).filter(action => action instanceof DevourAction) | 
		
	
		
			
			|  |  |  | return options[Math.floor(options.length * Math.random())].execute(executor, snack) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | townSquare.choices.push( | 
		
	
		
			
			|  |  |  | new Choice( | 
		
	
		
			
			|  |  |  | "Fight someone", | 
		
	
		
			
			|  |  |  | "Ow", | 
		
	
		
			
			|  |  |  | (world) => { | 
		
	
		
			
			|  |  |  | const enemy = new Human(new ProperNoun("Nerd"), TheyPronouns) | 
		
	
		
			
			|  |  |  | enemy.side = Side.Monsters | 
		
	
		
			
			|  |  |  | enemy.ai = new VoreAI(enemy) | 
		
	
		
			
			|  |  |  | enemy.equip(new Items.Sword(), Items.EquipmentSlot.MainHand) | 
		
	
		
			
			|  |  |  | enemy.addPerk(new DeliciousPerk()) | 
		
	
		
			
			|  |  |  | const encounter = new Encounter( | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | name: "Fight some tasty nerd", | 
		
	
		
			
			|  |  |  | intro: () => new LogLine(`You find some nerd to fight.`) | 
		
	
		
			
			|  |  |  | }, | 
		
	
		
			
			|  |  |  | [world.player, enemy].concat(world.party) | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | world.encounter = encounter | 
		
	
		
			
			|  |  |  | return nilLog | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | townSquare.choices.push( | 
		
	
		
			
			|  |  |  | new Choice( | 
		
	
		
			
			|  |  |  | "Recruit someone", | 
		
	
		
			
			|  |  |  | "Not ow", | 
		
	
		
			
			|  |  |  | (world) => { | 
		
	
		
			
			|  |  |  | const ally = new Human(new ProperNoun("Ally"), TheyPronouns) | 
		
	
		
			
			|  |  |  | ally.side = Side.Heroes | 
		
	
		
			
			|  |  |  | ally.ai = new VoreAI(ally) | 
		
	
		
			
			|  |  |  | ally.equip(new Items.Sword(), Items.EquipmentSlot.MainHand) | 
		
	
		
			
			|  |  |  | world.party.push(ally) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return new LogLine(`You recruit a nerd`) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | debug.choices.push( | 
		
	
		
			
			|  |  |  | new Choice( | 
		
	
		
			
			|  |  |  | "Cut stats", | 
		
	
	
		
			
				|  |  | 
 |