def gen_event_c_office_swap(self, data): event = Event(data) f = family.random_family(self.nobility) while len(f.courtiers) < 2: f = family.random_family(self.nobility) c1 = random.choice(f.courtiers) c2 = random.choice(f.courtiers) n = random.choice(f.persons) while c1.get_first_name() == c2.get_first_name(): c2 = random.choice(f.courtiers) event.affected_persons.append(c1) event.affected_persons.append(c2) event.description = ( "{} ({}) and {} ({}) have swapped offices " "by order of {}".format( c1.get_first_name(), c1.position, c2.get_first_name(), c2.position, n.get_full_title() ) ) return event
def gen_event_c_implication(self, data): event = Event(data) f = family.random_family(self.nobility) while len(f.courtiers) < 2: f = family.random_family(self.nobility) c1 = random.choice(f.courtiers) c2 = random.choice(f.courtiers) while c1.get_first_name() == c2.get_first_name(): c2 = random.choice(f.courtiers) event.affected_persons.append(c1) event.affected_persons.append(c2) event.description = ( "{} ({}) was implicated by {} ({}) " "in a plot to grab power".format( c1.get_first_name(), c1.position, c2.get_first_name(), c2.position ) ) return event
def gen_event_c_theft(self, data): event = Event(data) f = family.random_family(self.nobility) while len(f.courtiers) < 2: f = family.random_family(self.nobility) c1 = random.choice(f.courtiers) c2 = random.choice(f.courtiers) while c1.get_first_name() == c2.get_first_name(): c2 = random.choice(f.courtiers) event.affected_persons.append(c1) event.affected_persons.append(c2) event.description = ( "{} ({}) and {} ({}) were " "caught in a plot to steal crown monies".format( c1.get_first_name(), c1.position, c2.get_first_name(), c2.position ) ) return event
def gen_event_f_new_knight(self, data): event = Event(data) f = family.random_family(self.nobility) while f.rank == family.PETTY_FAMILY: f = family.random_family(self.nobility) event.affected_organizations.append(f) event.description = ( "The {} knighted a new person".format( f.get_full_name() ) ) return event
def gen_event_f_rebellion(self, data): event = Event(data) f = family.random_family(self.nobility) while f.rank == family.PETTY_FAMILY or len(f.vassals + f.knights) == 0: f = family.random_family(self.nobility) fv = random.choice(f.vassals + f.knights) event.affected_organizations.append(f) event.affected_organizations.append(fv) event.description = ( "The {} has rebelled against the {}".format( fv.create_html_a_name(self.nobility), f.create_html_a_name(self.nobility) ) ) return event
def gen_event_f_economic_upturn(self, data): event = Event(data) f = family.random_family(self.nobility) event.affected_organizations.append(f) event.description = ( "An economic upturn has graced the {}".format( f.get_full_name() ) ) return event
def gen_event_f_water_plentiful(self, data): event = Event(data) f = family.random_family(self.nobility) event.affected_organizations.append(f) event.description = ( "Plentiful rains grace the {}".format( f.get_full_name() ) ) return event
def gen_event_f_drought(self, data): event = Event(data) f = family.random_family(self.nobility) event.affected_organizations.append(f) event.description = ( "A drought has struck the {}".format( f.get_full_name() ) ) return event
def gen_event_f_food_plentiful(self, data): event = Event(data) f = family.random_family(self.nobility) event.affected_organizations.append(f) event.description = ( "A fortuitous crop season has graced the {}".format( f.get_full_name() ) ) return event
def gen_event_f_uprising(self, data): event = Event(data) f = family.random_family(self.nobility) event.affected_organizations.append(f) event.description = ( "An uprising of smallfolk has taken hold against the {}".format( f.get_full_name() ) ) return event
def gen_event_f_festival(self, data): event = Event(data) h = family.random_family(self.nobility) event.affected_organizations.append(h) event.description = ( "The {} hosted a festival in honour of {}s".format( h.get_full_name(), random.choice(data['animals']).lower() ) ) return event
def gen_event_f_claim_pressed(self, data): event = Event(data) f1 = family.random_family(self.nobility) f2 = family.random_family(self.nobility) while f1.name == f2.name: f2 = family.random_family(self.nobility) event.affected_organizations.append(f1) event.affected_organizations.append(f2) event.description = ( "The {} has pressed a claim on the {}".format( f1.create_html_a_name(self.nobility), f2.create_html_a_name(self.nobility) ) ) return event
def gen_event_c_demotion(self, data): event = Event(data) f = family.random_family(self.nobility) while len(f.courtiers) < 1: f = family.random_family(self.nobility) c = random.choice(f.courtiers) n = random.choice(f.persons) event.affected_persons.append(c) event.affected_persons.append(n) event.description = ( "{} was removed from the office of {} by {}".format( c.get_first_name(), c.position, n.get_full_title() ) ) return event