autopatrol, translator
476
edits
(Created page with "Si l'algorithme échoue à trouver une arme qui satisfait toutes les conditions (nombre de points requis, série de l'arme, bonus), l'arme spécifiée et les bonus en entrée...") |
(Created page with "<source lang="c++"> bool Ecosystem::LevelSensor::scaleWeapon(const sead::SafeString& weapon_to_look_up, WeaponModifier required_modifi...") |
||
Line 246: | Line 246: | ||
void* unknown) | void* unknown) | ||
{ | { | ||
// | // quelques checks utilisant 'unknown' ici qui semble être un pointeur vers l'acteur | ||
// | // | ||
for (weapon_table : this->byml["weapon"]) { | for (weapon_table : this->byml["weapon"]) { | ||
// | // trouve la première arme pour laquelle le joueur a assez de points | ||
// | // avec le nom spécifié et les bonus | ||
i = -1; | i = -1; | ||
for (j = 0; j < weapon_table["actors"].size; ++j) { | for (j = 0; j < weapon_table["actors"].size; ++j) { | ||
Line 270: | Line 270: | ||
entry = weapon_table["actors"][i]; | entry = weapon_table["actors"][i]; | ||
// | // | ||
// not_rank_up | // not_rank_up signifie qu'il n'y a pas de lien entre les armes; | ||
// | // ce tableau est juste utilisé pour parcourir les bonus. | ||
// | // donc parcourt la liste jusqu'à ce qu'il n'y ait plus d'entrée pour l'arme demandée | ||
// | // ou jusqu'à ce que l'on atteigne un bonus qui nécessite plus de points. | ||
if (weapon_table["not_rank_up"] && entry["name"] != weapon_to_look_up) | if (weapon_table["not_rank_up"] && entry["name"] != weapon_to_look_up) | ||
break; | break; | ||
// | // | ||
// | // sinon, parcourt juste la liste jusqu'à atteindre la fin ou une arme qui | ||
// | // requiert plus de points. Cela peut améliorer l'arme (par ex. Chevalier -> Royal). | ||
if (this->weapon_points <= entry["value"]) | if (this->weapon_points <= entry["value"]) | ||
break; | break; | ||
Line 289: | Line 289: | ||
return true; | return true; | ||
} | } | ||
return false; // | return false; // ne peut pas niveller | ||
} | } | ||
</source> | </source> |