|
|
@@ -2141,20 +2141,23 @@ void CMageGuildScreen::updateSpells(ObjectInstanceID tID)
|
|
|
return;
|
|
|
|
|
|
OBJECT_CONSTRUCTION;
|
|
|
- static const std::vector<std::vector<Point> > positions =
|
|
|
- {
|
|
|
- {Point(222,445), Point(312,445), Point(402,445), Point(520,445), Point(610,445), Point(700,445)},
|
|
|
- {Point(48,53), Point(48,147), Point(48,241), Point(48,335), Point(48,429)},
|
|
|
- {Point(570,82), Point(672,82), Point(570,157), Point(672,157)},
|
|
|
- {Point(183,42), Point(183,148), Point(183,253)},
|
|
|
- {Point(491,325), Point(591,325)}//
|
|
|
- };
|
|
|
|
|
|
spells.clear();
|
|
|
emptyScrolls.clear();
|
|
|
|
|
|
const CGTownInstance * town = GAME->interface()->cb->getTown(townId);
|
|
|
|
|
|
+ auto positions = town->getTown()->clientInfo.guildSpellPositions;
|
|
|
+ if(!positions.size()) // TODO: remove legacy for compatibility
|
|
|
+ positions =
|
|
|
+ {
|
|
|
+ {Point(222,445), Point(312,445), Point(402,445), Point(520,445), Point(610,445), Point(700,445)},
|
|
|
+ {Point(48,53), Point(48,147), Point(48,241), Point(48,335), Point(48,429)},
|
|
|
+ {Point(570,82), Point(672,82), Point(570,157), Point(672,157)},
|
|
|
+ {Point(183,42), Point(183,148), Point(183,253)},
|
|
|
+ {Point(491,325), Point(591,325)}
|
|
|
+ };
|
|
|
+
|
|
|
for(uint32_t i=0; i<town->getTown()->mageLevel; i++)
|
|
|
{
|
|
|
uint32_t spellCount = town->spellsAtLevel(i+1,false); //spell at level with -1 hmmm?
|