Example #1
0
const string &WeaponType::get_shortname(unsigned subtype) const {
    if (subtype > 2)
        return shortname_;  //return "INVALID SUBTYPE"; //Reference to temporary. -XML
    else if (subtype == 1) {
        if (shortname_future_sub_1_defined_ && year >= 2100)
            return shortname_future_sub_1_;
        else if (year >= 2100 && name_future_sub_1_defined_ && name_future_sub_1_.length() <= 14) //Too long for ammo using weapons. -XML
            return name_future_sub_1_;
        else if (shortname_sub_1_defined_)
            return shortname_sub_1_;
        else if (name_sub_1_defined_ && name_sub_1_.length() <= 14) //Too long for ammo using weapons. -XML
            return name_sub_1_;
    } else if (subtype == 2) {
        if (shortname_future_sub_2_defined_ && year >= 2100)
            return shortname_future_sub_2_;
        else if (year >= 2100 && name_future_sub_2_defined_ && name_future_sub_2_.length() <= 14) //Too long for ammo using weapons. -XML
            return name_future_sub_2_;
        else if (shortname_sub_2_defined_)
            return shortname_sub_2_;
        else if (name_sub_2_defined_ && name_sub_2_.length() <= 14) //Too long for ammo using weapons. -XML
            return name_sub_2_;
    }

    if (shortname_future_defined_ && year >= 2100)
        return shortname_future_;
    else if (year >= 2100 && name_future_defined() && name_future().length() <= 14) //Too long for ammo using weapons. -XML
        return name_future();
    else //if (shortname_defined_)
        return shortname_;

    /*else if (name().length() <= 14) //Too long for ammo using weapons. -XML
       return name();
    else
       return "UNDEF";*/
}
const string& ArmorType::get_shortname() const
{
   if (shortname_future_defined_ && year >= 2100)
      return shortname_future_;
   else if (year >= 2100 && name_future_defined() && name_future().length() <= 14)
      return name_future();
   else //if (shortname_defined_)
      return shortname_;
   /*else if (name().length() <= 14)
      return name();
   else
      return "UNDEF";*/
}