void RomeSoldier::load(const VariantMap& stream) { Soldier::load( stream ); VARIANT_LOAD_ANY_D( _d, strikeForce, stream ); VARIANT_LOAD_ANY_D( _d, resistance, stream ); VARIANT_LOAD_ANY_D( _d, patrolPosition, stream ); VARIANT_LOAD_ANY_D( _d, basePos, stream ); FortPtr fort = ptr_cast<Fort>( _city()->getOverlay( _d->basePos ) ); if( fort.isValid() ) { fort->addWalker( this ); } else { die(); } }
void RomeSoldier::load(const VariantMap& stream) { Soldier::load( stream ); VARIANT_LOAD_ANY_D( _d, strikeForce, stream ); VARIANT_LOAD_ANY_D( _d, resistance, stream ); VARIANT_LOAD_ANY_D( _d, patrolPosition, stream ); VARIANT_LOAD_ANY_D( _d, basePos, stream ); FortPtr fort = _city()->getOverlay( _d->basePos ).as<Fort>(); if( fort.isValid() ) { fort->addWalker( this ); } else { Logger::warning( "!!! WARNING: RomeSoldier cant find base for himself at [%d,%d]", _d->basePos.i(), _d->basePos.j() ); die(); } }