645 } |
645 } |
646 } |
646 } |
647 return 0; |
647 return 0; |
648 } |
648 } |
649 |
649 |
|
650 static byte MakeItalianTownName(char *buf, uint32 seed) { |
|
651 |
|
652 byte i; |
|
653 char *c; |
|
654 strcpy(buf, ""); |
|
655 |
|
656 if (SeedModChance(0, 6, seed) == 0) { |
|
657 // real city names |
|
658 strcat(buf, name_italian_real[SeedModChance(4, lengthof(name_italian_real), seed)]); |
|
659 } else { |
|
660 if (SeedModChance(0, 8, seed) == 0) { |
|
661 // prefix |
|
662 strcat(buf, name_italian_pref[SeedModChance(11, lengthof(name_italian_pref), seed)]); |
|
663 } |
|
664 |
|
665 i = SeedModChance(0, 2, seed); |
|
666 if (i == 0) { // masculine form |
|
667 strcat(buf, name_italian_1m[SeedModChance(4, lengthof(name_italian_1m), seed)]); |
|
668 c = "o"; |
|
669 } else { // femminine form |
|
670 strcat(buf, name_italian_1f[SeedModChance(4, lengthof(name_italian_1f), seed)]); |
|
671 c = "a"; |
|
672 } |
|
673 |
|
674 if (SeedModChance(0, 3, seed) == 0) { |
|
675 strcat(buf, name_italian_2[SeedModChance(11, lengthof(name_italian_2), seed)]); |
|
676 strcat(buf,c); |
|
677 } else { |
|
678 strcat(buf, name_italian_2i[SeedModChance(16, lengthof(name_italian_2i), seed)]); |
|
679 } |
|
680 |
|
681 |
|
682 if (SeedModChance(15, 4, seed) == 0) { |
|
683 if (SeedModChance(0, 2, seed) == 0) { |
|
684 // generic suffix |
|
685 strcat(buf, name_italian_3[SeedModChance(4, lengthof(name_italian_3), seed)]); |
|
686 } |
|
687 else { |
|
688 // river name suffix |
|
689 strcat(buf, name_italian_river1[SeedModChance(4, lengthof(name_italian_river1), seed)]); |
|
690 strcat(buf, name_italian_river2[SeedModChance(16, lengthof(name_italian_river2), seed)]); |
|
691 } |
|
692 } |
|
693 } |
|
694 |
|
695 return 0; |
|
696 } |
|
697 |
650 TownNameGenerator * const _town_name_generators[] = |
698 TownNameGenerator * const _town_name_generators[] = |
651 { |
699 { |
652 MakeEnglishOriginalTownName, |
700 MakeEnglishOriginalTownName, |
653 MakeFrenchTownName, |
701 MakeFrenchTownName, |
654 MakeGermanTownName, |
702 MakeGermanTownName, |