物価上昇を加味した装備品購入実行条件

なおCvRandomEventInterface.pyのcanbuyweaponYsneckless()において経験値条件を削除する場合はコメントアウト周りに変更が必要。

なおCvRandomEventInterface.pyのcanbuyweaponYsneckless()において経験値条件を削除する場合はコメントアウト周りに変更が必要。

def enabledYsEventBuyWeapon(argsList):
pCaster, pPlot, eSpell = argsList
pPlayer = gc.getPlayer(pCaster.getOwner())
rate = pPlayer.calculateInflationRate()
iGoldLow = 50 * (100 + rate) / 100
iGoldMid = 200 * (100 + rate) / 100
iGoldHigh = 1600 * (100 + rate) / 100
iGoldNeckless = 100 * (100 + rate) / 100
if pPlayer.getGold() >= iGoldLow:
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSWORD3')):
if pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_COPPER')) > 0:
if pPlayer.getGold() >= iGoldHigh:
return True
if pPlayer.getGold() >= iGoldMid and not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSWORD2')):
return True
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSWORD2'))\
and not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSWORD1')):
return True
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSARMOR3')):
if pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_MARBLE')) > 0:
if pPlayer.getGold() >= iGoldHigh:
return True
if pPlayer.getGold() >= iGoldMid and not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSARMOR2')):
return True
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSARMOR2'))\
and not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSARMOR1')):
return True
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSHIELD3')):
if pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_GOLD')) > 0:
if pPlayer.getGold() >= iGoldHigh:
return True
if pPlayer.getGold() >= iGoldMid and not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSHIELD2')):
return True
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSHIELD2'))\
and not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSSHIELD1')):
return True
if not pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_YSNECKLESS'))\
and pPlayer.getNumAvailableBonuses(gc.getInfoTypeForString('BONUS_GEMS')) > 0\
and pPlayer.getGold() >= iGoldNeckless and pCaster.getExperience() >= 20:
##and pPlayer.getGold() >= iGoldNeckless:
return True
return False
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX