Stoneshard Wiki

Stocks et réparations des marchands

L'étal d'un marchand n'est pas une liste permanente : chaque personne possède un assortiment et une taille de stock. Les marchandises d'un lot sont générées lors du réapprovisionnement, et ce lot ne devient visible qu'à l'ouverture de la fenêtre de commerce. Le panneau indique les marchandises recherchées, les qualités d'équipement attendues et le temps avant le prochain réapprovisionnement. Les réparations sont un service payant distinct, proposé par certains marchands seulement. Cette page traite des stocks, du réapprovisionnement et des réparations ; les prix, la réputation, les biens volés et les améliorations de caravane ont leurs propres articles.

Sommaire

Vue d'ensemble

Les marchandises viennent d'un assortiment défini par des catégories et des objets précis ; des entrées peuvent être ajoutées ou remplacées selon la réputation, les tâches accomplies et les améliorations de caravane. La taille du stock fixe le nombre de marchandises du lot. Les marchands d'une même localité ayant des assortiments et tailles différents, leurs offres varient.

Le réapprovisionnement suit un calendrier : les localités ont leurs cycles et certains marchands un cycle propre. Le jeu effectue le test chaque heure. Par défaut, le lot entier est remplacé ; l'autre comportement n'en retire qu'une partie. Les réparations sont séparées du stock et leur bouton n'apparaît que chez les marchands qui proposent ce service.

L'article sur les prix explique les prix d'achat et de vente ainsi que l'offre et la demande ; l'outil de commerce permet de comparer les montants réels.

Texte officiel du panneau

La table de texte de cette version affiche en anglais « Interested in: », « Equipment Tier: », « Restocks in: », « Can Repair: » et « Repairs Price: ». La colonne française donne exactement « Marchandises recherchées : », « Qualité de l'équipement : », « Réapprovisionnement dans : », « Peut réparer : » et « Prix des réparations : ». Les deux versions sont citées fidèlement.

Après « Réapprovisionnement dans : », le temps est affiché en jours : le panneau convertit la durée restante et ajoute l'unité officielle « jour / jours ». S'il reste moins d'un jour, il affiche « moins d'un jour ». Il s'agit donc d'une estimation, pas de l'instant exact.

Le survol du bouton de réparation vient de la même table et indique « Réparer les objets » selon le matériau travaillé. Le contenu des lignes « Peut réparer : » et « Prix des réparations : » dépend de l'offre de ce service par le marchand.

Cycles de réapprovisionnement

Chaque localité gère son cycle. Un test horaire mesure le temps écoulé depuis son dernier réapprovisionnement ; lorsque le cycle est atteint, les marchands locaux sont marqués pour recevoir un nouveau stock.

Exemples vérifiés, sans constituer une table complète : 48 heures pour les localités ordinaires, 24 heures pour Brynn, 72 heures pour Denbrie et 0 pour la brasserie, qui n'effectue donc aucun réapprovisionnement local. Le rythme varie selon le lieu.

Un marchand peut aussi posséder un cycle individuel. Sans cycle propre, il suit celui de sa localité, comme prévu par défaut. « Réapprovisionnement dans : » retient le prochain événement entre les deux cycles et le convertit en jours.

Déroulement du réapprovisionnement

Deux comportements existent. Par défaut, le lot entier est remplacé : les marchandises actuelles sont effacées et le lot suivant est généré à partir de l'assortiment et de la taille du stock. Il s'agit donc d'un lot entièrement neuf.

L'autre comportement retire seulement une partie du lot. Des tests par objet en font sortir environ la moitié, sans proportion fixe. Les emplacements libérés sont rendus au stock disponible afin que le prochain lot puisse les remplir.

Les fonds du marchand peuvent avoir leur propre minuteur, activé par quelques marchands seulement. L'argent ne fait pas partie de cette rotation et est traité séparément.

Génération des marchandises et devenir des objets vendus

Le contenu du lot est généré à l'ouverture de la fenêtre : le jeu réexécute l'assortiment, ajoute des marchandises jusqu'à la taille du stock et attribue une durabilité aléatoire au nouvel équipement. À la fermeture, les objets de l'étal et le nombre d'emplacements libres sont réécrits dans les données du marchand.

L'assortiment est recalculé à chaque ouverture. Les changements dus à la réputation, aux tâches et à la caravane s'appliquent donc à l'ouverture suivante.

Les marchandises vendues ne reviennent pas seules : elles quittent les données du marchand, et seul le prochain réapprovisionnement en génère de nouvelles. Un remplacement complet est un nouveau lot, pas le retour du même objet. Cette page ne prétend pas qu'un objet précis puisse être obtenu à volonté par répétition.

Les objets enregistrés comme stock unique suivent une règle supplémentaire : après leur achat, ils figurent dans la liste sauvegardée du marchand et les générations futures les ignorent ; ils ne réapparaissent donc jamais.

Réputation, tâches et caravane

Les paliers de réputation modifient la taille du stock et la qualité d'équipement. La qualité possède son propre plafond, dans lequel les modificateurs s'additionnent. La taille du stock additionne la plage de base du marchand, le modificateur du lieu et ses modificateurs personnels. Voir l'article sur la réputation.

L'amélioration commerciale de la caravane augmente la taille du stock ; son arbre figure dans l'article de la caravane.

Certaines tâches appliquent à un marchand un modificateur de stock ou de prix de réparation personnel. Ces changements relèvent des articles de personnages et de tâches.

Réparations

Les réparations sont facultatives : désactivées par défaut, elles sont activées marchand par marchand. Le bouton n'apparaît donc que chez les prestataires ; la plupart des marchands généralistes et aubergistes ne réparent pas.

Le survol dépend du matériau travaillé : métal, bois, tissu ou cuir. L'objet doit employer un matériau accepté. Les objets non identifiés, intacts, d'un mauvais matériau ou marqués comme volés au lieu actuel sont bloqués.

Une réparation restaure toute la durabilité, et non une fraction. Le paiement va au marchand et est compté dans les dépenses du personnage.

Le prix combine quatre facteurs : palier de l'objet, part de durabilité manquante, valeur de base et paramètre de réparation du marchand. Ils sont multipliés, arrondis et soumis à un minimum. Un même objet peut donc coûter différemment. Cette page ne publie ni l'expression ni les paramètres ; le montant exact apparaît dans le panneau ou l'outil de commerce.

Certaines tâches et certains effets de caravane changent ce paramètre. Ils sont décrits dans leurs articles respectifs.

Lacunes documentées

Restent non établis dans les données de la même version : la base exacte du prix affiché et l'éventuelle identité entre paramètre de réparation et valeur de base ; l'usage du même processus pour les provisions et consommables ; la proportion exacte derrière « environ la moitié » ; la liste complète des cycles et rattachements ; l'écriture éventuelle du modificateur de qualité lié aux tâches ; le nombre total de marchandises générées ; et la reproductibilité de l'état aléatoire par le joueur. Cette page ne prétend pas qu'un objet précis puisse être généré à volonté.

Observation du code : les modificateurs de situations de cette version contiennent une entrée de cycle et une de prix de réparation, mais le script commercial qui calcule les paramètres du marchand ne lit pas ces deux clés. Cela ne prouve pas que les situations sont sans effet : tous les utilisateurs des modificateurs n'ont pas été suivis.

Sources

Version du jeu 0.9.4.25

  1. Version 0.9.4.25 : table de texte du panneau de commerce gml_GlobalScript_table_text (catégories acceptées, qualité d'équipement, délai de réapprovisionnement, matériau et prix de réparation, unité de temps et formulation sous un jour, texte de survol du bouton de réparation ; douze colonnes de langue)
  2. Version 0.9.4.25 : chaîne du panneau et du chargement gml_Object_o_textLoader_Other_25, gml_Object_o_hoverTradeModifierOffers_Other_20 et gml_GlobalScript_scr_npc_restock_time_get (les trois listes du panneau viennent de cette table ; le temps restant passe d'une différence en heures à des jours)
  3. Version 0.9.4.25 : valeurs par défaut des profils et profil capable de réparer gml_Object_o_NPC_Create_0, gml_Object_o_npc_smith_osbrook_Create_0 et gml_GlobalScript_scr_npc_stock_size_init (réparation désactivée par défaut, réapprovisionnement complet, aucun cycle propre, cycle de la localité, plage de base du stock)
  4. Version 0.9.4.25 : accès et admissibilité des réparations gml_Object_o_trade_inventory_Other_10, gml_Object_o_skill_repair_item_master_Other_20 et gml_Object_o_skill_repair_item_master_Other_11 (bouton et survol du matériau ; objets non identifiés, intacts, de mauvais matériau ou volés localement bloqués ; réparation complète et paiement du marchand)
  5. Version 0.9.4.25 : facteurs du prix de réparation dans gml_Object_o_inv_slot_Step_0 (palier de l'objet, part de durabilité manquante, valeur de base et paramètre de réparation multiplié du marchand ; arrondi avec minimum)
  6. Version 0.9.4.25 : déclencheurs et comportement du réapprovisionnement gml_GlobalScript_scr_timeEveryHourTrigger, gml_GlobalScript_scr_settlementRestock et gml_GlobalScript_scr_npc_restock (test horaire du cycle local ; remplacement complet ou rotation partielle, lot complet par défaut ; fonds avec minuteur propre)
  7. Version 0.9.4.25 : cycles des localités dans gml_Object_o_globalmap_settlement_Create_0, gml_Object_o_globalmap_brynn_Create_0, gml_Object_o_globalmap_denbrie_Other_10 et gml_Object_o_globalmap_brewery_Create_0
  8. Version 0.9.4.25 : génération des lots et marchandises uniques dans gml_Object_o_NPC_Other_24, gml_Object_o_trade_inventory_Other_13, gml_GlobalScript_scr_trade_item et gml_GlobalScript_scr_selling_loot_singular_stock (génération à l'ouverture, réécriture à la fermeture, marchandises vendues non restituées, objets uniques omis après achat)
  9. Version 0.9.4.25 : modificateurs de taille et de palier du stock dans gml_GlobalScript_scr_trade_parametrs_update, gml_GlobalScript_scr_settlementReputationPerkGetModifiers, gml_GlobalScript_scr_npc_lines_carpenter_scripts et gml_GlobalScript_scr_npc_lines_mann_healer (avantages de réputation, amélioration commerciale de la caravane, modificateurs de stock ou de réparation liés aux tâches)
  10. Version 0.9.4.25 : modificateurs de situations locales dans gml_GlobalScript_scr_settlementSituationGetModifiers (entrées de cycle et de prix de réparation ; le script commercial de la même version ne lit pas ces deux clés, observation consignée)
Haut de page