|
|
|
|
@ -77,8 +77,7 @@ void InitSmith(Towner &towner, const TownerData &townerData)
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3 |
|
|
|
|
// clang-format on
|
|
|
|
|
}; |
|
|
|
|
towner.animOrder = AnimOrder; |
|
|
|
|
towner.animOrderSize = sizeof(AnimOrder); |
|
|
|
|
towner.animOrder = { AnimOrder }; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\smith\\smithn", 16, 3); |
|
|
|
|
towner.name = _("Griswold the Blacksmith"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_GRISWOLD2, TEXT_GRISWOLD3, TEXT_GRISWOLD4, TEXT_GRISWOLD5, TEXT_GRISWOLD6, TEXT_GRISWOLD7, TEXT_GRISWOLD8, TEXT_GRISWOLD9, TEXT_GRISWOLD10, TEXT_GRISWOLD12, TEXT_GRISWOLD13 }); |
|
|
|
|
@ -100,8 +99,7 @@ void InitBarOwner(Towner &towner, const TownerData &townerData)
|
|
|
|
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 |
|
|
|
|
// clang-format on
|
|
|
|
|
}; |
|
|
|
|
towner.animOrder = AnimOrder; |
|
|
|
|
towner.animOrderSize = sizeof(AnimOrder); |
|
|
|
|
towner.animOrder = { AnimOrder }; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\twnf\\twnfn", 16, 3); |
|
|
|
|
towner.name = _("Ogden the Tavern owner"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_OGDEN2, TEXT_OGDEN3, TEXT_OGDEN4, TEXT_OGDEN5, TEXT_OGDEN6, TEXT_OGDEN8, TEXT_OGDEN9, TEXT_OGDEN10 }); |
|
|
|
|
@ -110,8 +108,7 @@ void InitBarOwner(Towner &towner, const TownerData &townerData)
|
|
|
|
|
void InitTownDead(Towner &towner, const TownerData &townerData) |
|
|
|
|
{ |
|
|
|
|
towner._tAnimWidth = 96; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\butch\\deadguy", 8, 6); |
|
|
|
|
towner.name = _("Wounded Townsman"); |
|
|
|
|
} |
|
|
|
|
@ -132,8 +129,7 @@ void InitWitch(Towner &towner, const TownerData &townerData)
|
|
|
|
|
0, 1, 0, 18, 17, 18, 0, 1, 0, 1, 2 |
|
|
|
|
// clang-format on
|
|
|
|
|
}; |
|
|
|
|
towner.animOrder = AnimOrder; |
|
|
|
|
towner.animOrderSize = sizeof(AnimOrder); |
|
|
|
|
towner.animOrder = { AnimOrder }; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\townwmn1\\witch", 19, 6); |
|
|
|
|
towner.name = _("Adria the Witch"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_ADRIA2, TEXT_ADRIA3, TEXT_ADRIA4, TEXT_ADRIA5, TEXT_ADRIA6, TEXT_ADRIA7, TEXT_ADRIA8, TEXT_ADRIA9, TEXT_ADRIA10, TEXT_ADRIA12, TEXT_ADRIA13 }); |
|
|
|
|
@ -142,8 +138,7 @@ void InitWitch(Towner &towner, const TownerData &townerData)
|
|
|
|
|
void InitBarmaid(Towner &towner, const TownerData &townerData) |
|
|
|
|
{ |
|
|
|
|
towner._tAnimWidth = 96; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\townwmn1\\wmnn", 18, 6); |
|
|
|
|
towner.name = _("Gillian the Barmaid"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_GILLIAN2, TEXT_GILLIAN3, TEXT_GILLIAN4, TEXT_GILLIAN5, TEXT_GILLIAN6, TEXT_GILLIAN7, TEXT_GILLIAN9, TEXT_GILLIAN10 }); |
|
|
|
|
@ -152,8 +147,7 @@ void InitBarmaid(Towner &towner, const TownerData &townerData)
|
|
|
|
|
void InitBoy(Towner &towner, const TownerData &townerData) |
|
|
|
|
{ |
|
|
|
|
towner._tAnimWidth = 96; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\townboy\\pegkid1", 20, 6); |
|
|
|
|
towner.name = _("Wirt the Peg-legged boy"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_WIRT2, TEXT_WIRT3, TEXT_WIRT4, TEXT_WIRT5, TEXT_WIRT6, TEXT_WIRT7, TEXT_WIRT8, TEXT_WIRT9, TEXT_WIRT11, TEXT_WIRT12 }); |
|
|
|
|
@ -175,8 +169,7 @@ void InitHealer(Towner &towner, const TownerData &townerData)
|
|
|
|
|
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 |
|
|
|
|
// clang-format on
|
|
|
|
|
}; |
|
|
|
|
towner.animOrder = AnimOrder; |
|
|
|
|
towner.animOrderSize = sizeof(AnimOrder); |
|
|
|
|
towner.animOrder = { AnimOrder }; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\healer\\healer", 20, 6); |
|
|
|
|
towner.name = _("Pepin the Healer"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_PEPIN2, TEXT_PEPIN3, TEXT_PEPIN4, TEXT_PEPIN5, TEXT_PEPIN6, TEXT_PEPIN7, TEXT_PEPIN9, TEXT_PEPIN10, TEXT_PEPIN11 }); |
|
|
|
|
@ -193,8 +186,7 @@ void InitTeller(Towner &towner, const TownerData &townerData)
|
|
|
|
|
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 |
|
|
|
|
// clang-format on
|
|
|
|
|
}; |
|
|
|
|
towner.animOrder = AnimOrder; |
|
|
|
|
towner.animOrderSize = sizeof(AnimOrder); |
|
|
|
|
towner.animOrder = { AnimOrder }; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\strytell\\strytell", 25, 3); |
|
|
|
|
towner.name = _("Cain the Elder"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_STORY2, TEXT_STORY3, TEXT_STORY4, TEXT_STORY5, TEXT_STORY6, TEXT_STORY7, TEXT_STORY9, TEXT_STORY10, TEXT_STORY11 }); |
|
|
|
|
@ -210,8 +202,7 @@ void InitDrunk(Towner &towner, const TownerData &townerData)
|
|
|
|
|
0, 1, 2, 3, 4, 4, 4, 3, 2, 1 |
|
|
|
|
// clang-format on
|
|
|
|
|
}; |
|
|
|
|
towner.animOrder = AnimOrder; |
|
|
|
|
towner.animOrderSize = sizeof(AnimOrder); |
|
|
|
|
towner.animOrder = { AnimOrder }; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\drunk\\twndrunk", 18, 3); |
|
|
|
|
towner.name = _("Farnham the Drunk"); |
|
|
|
|
towner.gossip = PickRandomlyAmong({ TEXT_FARNHAM2, TEXT_FARNHAM3, TEXT_FARNHAM4, TEXT_FARNHAM5, TEXT_FARNHAM6, TEXT_FARNHAM8, TEXT_FARNHAM9, TEXT_FARNHAM10, TEXT_FARNHAM11, TEXT_FARNHAM12, TEXT_FARNHAM13 }); |
|
|
|
|
@ -220,8 +211,7 @@ void InitDrunk(Towner &towner, const TownerData &townerData)
|
|
|
|
|
void InitCows(Towner &towner, const TownerData &townerData) |
|
|
|
|
{ |
|
|
|
|
towner._tAnimWidth = 128; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
|
|
|
|
|
NewTownerAnim(towner, (*CowSprites)[static_cast<size_t>(townerData.dir)], 12, 3); |
|
|
|
|
towner._tAnimFrame = GenerateRnd(11); |
|
|
|
|
@ -246,8 +236,7 @@ void InitCows(Towner &towner, const TownerData &townerData)
|
|
|
|
|
void InitFarmer(Towner &towner, const TownerData &townerData) |
|
|
|
|
{ |
|
|
|
|
towner._tAnimWidth = 96; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\farmer\\farmrn2", 15, 3); |
|
|
|
|
towner.name = _("Lester the farmer"); |
|
|
|
|
} |
|
|
|
|
@ -259,8 +248,7 @@ void InitCowFarmer(Towner &towner, const TownerData &townerData)
|
|
|
|
|
celPath = "towners\\farmer\\mfrmrn2"; |
|
|
|
|
} |
|
|
|
|
towner._tAnimWidth = 96; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
LoadTownerAnimations(towner, celPath, 15, 3); |
|
|
|
|
towner.name = _("Complete Nut"); |
|
|
|
|
} |
|
|
|
|
@ -268,8 +256,7 @@ void InitCowFarmer(Towner &towner, const TownerData &townerData)
|
|
|
|
|
void InitGirl(Towner &towner, const TownerData &townerData) |
|
|
|
|
{ |
|
|
|
|
towner._tAnimWidth = 96; |
|
|
|
|
towner.animOrder = nullptr; |
|
|
|
|
towner.animOrderSize = 0; |
|
|
|
|
towner.animOrder = {}; |
|
|
|
|
LoadTownerAnimations(towner, "towners\\girl\\girlw1", 20, 6); |
|
|
|
|
towner.name = _("Celia"); |
|
|
|
|
} |
|
|
|
|
@ -887,9 +874,9 @@ void ProcessTowners()
|
|
|
|
|
|
|
|
|
|
towner._tAnimCnt = 0; |
|
|
|
|
|
|
|
|
|
if (towner.animOrderSize > 0) { |
|
|
|
|
if (!towner.animOrder.empty()) { |
|
|
|
|
towner._tAnimFrameCnt++; |
|
|
|
|
if (towner._tAnimFrameCnt > towner.animOrderSize - 1) |
|
|
|
|
if (towner._tAnimFrameCnt > towner.animOrder.size() - 1) |
|
|
|
|
towner._tAnimFrameCnt = 0; |
|
|
|
|
|
|
|
|
|
towner._tAnimFrame = towner.animOrder[towner._tAnimFrameCnt]; |
|
|
|
|
|