MOD/作成情報
生産された特定のユニットにスキルを与える建物作りたい
788 :名無しさんの野望:2008/03/16(日) 22:54:25 ID:Ay46MjyB
CvEventManager.pyを自分のMODに適切な場所コピーして、
onUnitBuildメソッド(ユニット生産イベント)に以下みたいなこと書くといい。
以下は「市場があれば戦士に水陸両用をセットする」という内容
BUILDING_MARKET(市場)やUNIT_WARRIOR(戦士)とPROMOTION_AMPHIBIOUS(水陸両用)を適宜書き直してね。
def onUnitBuilt(self, argsList): (中略) player = PyPlayer(city.getOwner()) iMarket = gc.getInfoTypeForString("BUILDING_MARKET") iWarrior = gc.getInfoTypeForString("UNIT_WARRIOR") if city.isHasBuilding(iMarket) and unit.getUnitType() == iWarrior: iPromotion = gc.getInfoTypeForString("PROMOTION_AMPHIBIOUS") unit.setHasPromotion(iPromotion, true) CvAdvisorUtils.unitBuiltFeats(city, unit) (以下略)
スキルを複数つける場合
iPromotion = gc.getInfoTypeForString("PROMOTION_AMPHIBIOUS") unit.setHasPromotion(iPromotion, true) iPromotion = gc.getInfoTypeForString("PROMOTION_AMPHIBIOUS_1") unit.setHasPromotion(iPromotion, true) iPromotion = gc.getInfoTypeForString("PROMOTION_AMPHIBIOUS_2") unit.setHasPromotion(iPromotion, true) iPromotion = gc.getInfoTypeForString("PROMOTION_AMPHIBIOUS_3") unit.setHasPromotion(iPromotion, true) iPromotion = gc.getInfoTypeForString("PROMOTION_AMPHIBIOUS_9999") unit.setHasPromotion(iPromotion, true)