@PostConstruct private void initializeDialog() { String date = modelTranslations.toDisplayString(state.getDate()); addDecoratedText("letter.location.date", "dateLocation", Pos.CENTER_RIGHT, state.getLocation(), date); addVerticalSpacer(20); if (state.isGenderMale()) { addDecoratedText("letter.salutation.male", "salutationMale", state.getToLastName()); } else { addDecoratedText("letter.salutation.female", "salutationFemale", state.getToLastName()); if (state.isGenderMale()) { addDecoratedText("ch.sahits.game.openpatrician.display.dialog.event.MarriageBrokerAnnouncementDialog.content.male", "contentMale"); } else { addVerticalSpacer(20); addDecoratedText("letter.greetings", "grettings", Pos.CENTER); addDecoratedText("letter.fullname", "signature", Pos.CENTER_RIGHT, state.getFromFirstName(), state.getFromLastName()); LocalDateTime decisionDeadline = state.getDate().plusDays(14); if (!dateService.isPast(decisionDeadline)) { OpenPatricianLargeWaxButton button = addActionButton("ch.sahits.game.openpatrician.display.dialog.TavernBaseSideRoomPersonDialog.accept", "acceptBtn"); try { int delay = rnd.nextInt(50) + 24; LocalDateTime deadLine = state.getDate().plusDays(delay); MarriageOfferTimedTask task = taskFactory.getMarriageOfferTask(clientViewState.getPlayer(), state, deadLine); taskList.add(task);
@Override public void run() { ISpouseData spouse = stateFactory.createSpouse(state, player); MarriageOfferState marriageOffer = MarriageOfferState.builder() .date(deadLine) .fromFirstName(state.getFromFirstName()) .fromLastName(state.getFromLastName()) .location(state.getLocation()) .player(player) .tillDate(deadLine.plusDays(30)) .spouse(spouse) .build(); handleMarriageOffer(player, marriageOffer); }
if (state.isGenderMale()) { firstName = femaleFirstNameLoader.getRandomName(); } else { LocalDateTime birthDate = state.getDate() .minusYears(rnd.nextInt(15) + 15) .minusDays(rnd.nextInt(365)); // 15 - 30 year before if (state.isGenderMale()) { portrait = portraits.getRandomFemalePortraitResourceName(); } else { .male(!state.isGenderMale()) .name(firstName) .lastName(lastNameLoader.getRandomName())
@Override public void handleMarriageEvent(IAIPlayer player, MarriageBrokerAnnouncementState state) { IAIEventDecisionStrategy strategy = player.getEventDecitionStrategyType().getStrategy(); if (!player.getSpouseData().isPresent() && strategy.acceptMarriagBrokereOffer(player)) { int delay = rnd.nextInt(50) + 24; LocalDateTime deadLine = state.getDate().plusDays(delay); MarriageOfferTask task = taskFactory.getMarriageOfferTask(player, state, deadLine); logger.debug("Add marriage offer task for {} {}", player.getName(), player.getLastName()); taskList.add(task); eventState.setMarriageState(player, EEventState.MARRIAGE_UNDER_CONSIDERATION); } }
private MarriageBrokerAnnouncementState createMarriageBrokerAnnouncementState(ShipEntersPortEvent event, INavigableVessel ship) { return MarriageBrokerAnnouncementState.builder() .date(date.getCurrentDate()) .location(event.getCity().getName()) .fromFirstName(maleFirstNameLoader.getRandomName()) .fromLastName(lastNameLoader.getRandomName()) .toLastName(ship.getOwner().getLastName()) .genderMale(((IPlayer) ship.getOwner()).getPersonalData().isMale()) .build(); }
@Override public void run() { ISpouseData spouse = createSpouse(state); MarriageOfferState marriageOffer = MarriageOfferState.builder() .date(deadLine) .fromFirstName(state.getFromFirstName()) .fromLastName(state.getFromLastName()) .location(state.getLocation()) .player(player) .tillDate(deadLine.plusDays(30)) .spouse(spouse) .build(); clientEventBus.post(marriageOffer); } @VisibleForTesting