Openapoc: Bug de quantité de munitions et de clips

Créé le 16 sept. 2019  ·  3Commentaires  ·  Source: OpenApoc/OpenApoc

Si je me souviens bien, si les munitions sont vendues dans cette sauvegarde, vous vous retrouverez à nouveau avec le bug des millions de clips. Le Heavy Plasma Clip en est un bon exemple. Je l'avais vendu comme un clip partiel, et quand je l'ai racheté, c'était encore un clip partiel. Si j'avais eu un deuxième clip complet, il aurait probablement été rechargé. De plus, je pense que ce bug de clip a affecté mon espace de stockage.

Cela utilise OpenApoc-v0.2.0.2-16-g2f96387e et V7.1 EWM.

save_Ammo et Clip Bug.zip

!BUG! low priority

Tous les 3 commentaires

Il semble que la sauvegarde ait déjà un nombre absurde de clips de munitions, pas besoin d'acheter/vendre quoi que ce soit.

Mais cela donne un bon indice - il semble que le code d'achat/vente ne vérifie pas si un clip de munitions est partiellement plein - il prend juste le (MAX_AMMO) d'un clip hors des magasins.

Mais cela échoue naturellement si vous essayez de vendre un clip non complet, car cela enlève MAX_AMMO une valeur inférieure à MAX_AMMO, provoquant un dépassement (car c'est une valeur non signée, au lieu de devenir négatif, il se retrouve avec UINT32_MAX - quel que soit le nombre être inférieur à zéro, donc supérieur à 4 milliards). Ce qui explique bien le problème.

Cela soulève donc la question de savoir comment nous devrions gérer les clips partiellement remplis - nous essayons d'être "intelligents" et d'ajouter des fonctionnalités sur l'OG en suivant le nombre de balles et non de clips en dehors des batailles a un certain nombre d'effets dont je ne suis pas sûr cela « vaut » la complexité supplémentaire pour une fonctionnalité que la plupart des gens ne remarqueront même pas :

  • L'achat/vente d'un clip partiellement rempli doit-il toujours avoir le même coût qu'un clip complet ?
  • L'interface utilisateur d'achat/vente n'a vraiment aucun moyen d'informer l'utilisateur qu'un clip est partiellement rempli, qu'il s'agisse d'acheter ou de vendre
  • Il n'y a déjà aucun moyen de fusionner des clips partiellement remplis en cours de combat, donc si vous ne faites pas attention, vous pourriez vous retrouver dans une situation où vous menez plusieurs batailles d'affilée et avez plusieurs clips presque vides sur chaque agent, ce qui semble juste frustrant

Je pourrais parcourir et réduire et graver cette fonctionnalité et fusionner automatiquement les clips partiellement remplis à la fin de chaque bataille. Je ne sais pas si cette gestion/ajoute/ vraiment quelque chose au jeu.

Donc, en approfondissant le code, il semble que le marché ne prend pas réellement en charge les clips partiels, après avoir supprimé le nombre de tours des magasins, l'économie ne fait que suivre le nombre de clips.

Cela signifie que vous achetez toujours des clips complets, même si vous l'avez vendu partiellement rempli - donc une simple pince ici remplira comme par magie un clip si vous le vendez et le rachetez.

Mais comme la vente débordera sur un grand nombre FOU, de même le racheter débordera ensuite sur un nombre sain d'esprit - de retour à votre point de départ.

Si vous voulez un vote, je voterais pour ne pas avoir de gestion partielle des clips dans les bases, et laisserais tous les clips être remplis au retour à la base, ainsi que les téléports personnels et les boucliers rechargés.

Cette page vous a été utile?
0 / 5 - 0 notes