【だらマビ】交易についてちょっと調べ始めてみた

アイキャッチ画像 mabinogi
この記事は約6分で読めます。

今更ですが、実は私MabinogiというMMOが死ぬほど好きなおじさんなのです
今使ってるアカウントもオープンベータ初日に作ったアカウントというぐらい好き
まぁずっとプレイし続けてきたわけではないですが…

というわけで現在のステータス

ちょうど転生100回でした

メインストリームを先日終わらせたばかりといったところで、これ以降どうやってキャラ強化すればいいのか迷ってる状態です
さしあたって今は交易とデイリー反復クエを消化して特性レベルを上げてます

そこで、交易の際にどの運搬方法で購入したら一番多く購入できるかと考えた時に
wikiを見ても交易パートナーとグランドマスター両方込みの情報がなかったので
無いものは自分で作れのノリで自作中です

ただ1個ずつ確認するのが面倒なので、一気に計算してくれるプログラムをまず作成
現在勉強中のpythonでちゃちゃっと作ってみたのがこちら
勉強中なのでコードの書き方良くないかもしれないけどご容赦ください

import os

os.system('cls')
# -----------
#  交易品情報
# -----------
# 運搬物1個あたりの重量
item_weight = 1
# 運搬物1スロットあたりのスタック数
item_stack = 35

# 各運搬手段のデータ
transport_list = [
    ["背負い箱", 4, 400],
    ["手車", 6, 800],
    ["馬車", 8, 900],
    ["象", 7, 1700],
    ["アルパカ", 10, 1100],
    ["犬ソリ", 11, 700],
    ["ラクダ", 7, 1400],
    ["浮遊船", 8, 1200]
]

def count(method, max_slot, max_weight):
        ### 計算用変数 初期化処理
    # 積載数
    num = 0
    # 積載重量
    total_weight = 0
    # 現在のスタック数
    stack_count = 0
    # 使用スロット数
    used_slot_count = 0
    # いくつ持てるか計算
    while total_weight < max_weight and max_slot > used_slot_count:
        # 現在の重量をカウントアップ
        total_weight += item_weight
        if total_weight <= max_weight:
            # 数をカウントアップ
            num += 1
            # スタック数をカウントアップ
            stack_count +=1
            # 現在のスタック数がアイテムスタック数の上限まできたとき
            if item_stack == stack_count:
                # スタック数を0にもどす
                stack_count = 0
                # 使用済みスタック数をカウントアップ
                used_slot_count += 1
    print(method+" = " + str(num))
    
# カウント処理
for transport in transport_list:
    # 表示整理用
    print("---------------------------")
    # カウント関数呼び出し(運搬方法, 最大スロット, 最大重量)
    count(transport[0] + "   ", transport[1], transport[2])
    # カウント関数呼び出し(運搬方法, 最大スロット, 最大重量)
    count(transport[0] + " +1", transport[1]+1, transport[2]+100)
    if transport [0] is not "アルパカ":
        # カウント関数呼び出し(運搬方法, 最大スロット, 最大重量)
        count(transport[0] + " +2", transport[1]+2, transport[2]+200)
        # カウント関数呼び出し(運搬方法, 最大スロット, 最大重量)
        count(transport[0] + " +3", transport[1]+2, transport[2]+300)
# 表示整理用
print("---------------------------")

これを実行すると

---------------------------
背負い箱    = 140
背負い箱 +1 = 175
背負い箱 +2 = 210
背負い箱 +3 = 210
---------------------------
手車    = 210
手車 +1 = 245
手車 +2 = 280
手車 +3 = 280
---------------------------
馬車    = 280
馬車 +1 = 315
馬車 +2 = 350
馬車 +3 = 350
---------------------------
= 245
+1 = 280
+2 = 315
+3 = 315
---------------------------
アルパカ    = 350
アルパカ +1 = 385
---------------------------
犬ソリ    = 385
犬ソリ +1 = 420
犬ソリ +2 = 455
犬ソリ +3 = 455
---------------------------
ラクダ    = 245
ラクダ +1 = 280
ラクダ +2 = 315
ラクダ +3 = 315
---------------------------        
浮遊船    = 280
浮遊船 +1 = 315
浮遊船 +2 = 350
浮遊船 +3 = 350
--------------------------- 

こんな結果が帰ってきます
+1はグラマスか交易パートナー使用時
+2はグラマスと交易パートナー使用時
+3はグラマスとウィリアム交易パートナー使用時
あとは8行目と10行目の交易品の重量とスタック数の数字をいじれば一覧表示できると行った次第
アルパカは交易パートナーと一緒に使うことは出来ないのでグラマス使用時のみを想定して+1のみ表示

とりあえずこれを使って今から表に起こす作業をする予定
完成したらまとめて載せます

コメント

タイトルとURLをコピーしました