… | |
… | |
404 | * Note: there MUST be at least one player archetype! |
404 | * Note: there MUST be at least one player archetype! |
405 | */ |
405 | */ |
406 | archetype * |
406 | archetype * |
407 | get_player_archetype (archetype *at) |
407 | get_player_archetype (archetype *at) |
408 | { |
408 | { |
|
|
409 | // archetypes could have been reloaded |
|
|
410 | archetype *nat = at ? archetype::find (at->archname) : archetypes [0]; |
|
|
411 | |
|
|
412 | if (!nat) |
|
|
413 | return at; |
|
|
414 | |
409 | archvec::iterator i = at ? archetypes.find (at) : archetypes.begin (); |
415 | archvec::iterator i = archetypes.find (nat); |
410 | |
416 | |
411 | for (;;) |
417 | for (;;) |
412 | { |
418 | { |
413 | if (++i == archetypes.end ()) |
419 | if (++i == archetypes.end ()) |
414 | i = archetypes.begin (); |
420 | i = archetypes.begin (); |