тут можно считать так:Код:# если активна стойка, считаем плюсы и минусы с неё def param_plus(param_id) plus = equips.compact.inject(super) {|r, item| r += item.params[param_id] } if last_stand != nil case param_id when 0 plus += last_stand.hp when 1 plus += last_stand.mp when 2 plus += last_stand.atk when 3 plus += last_stand.pdf when 4 plus += last_stand.mat when 5 plus += last_stand.mdf when 6 plus += last_stand.agi when 7 plus += last_stand.luk end end return plus end
1) Это параметры баттлера, и героя тоже
2) таким образом, для hp в процентах делаем неКод:def mhp; param(0); end # MHP Maximum Hit Points def mmp; param(1); end # MMP Maximum Magic Points def atk; param(2); end # ATK ATtacK power def def; param(3); end # DEF DEFense power def mat; param(4); end # MAT Magic ATtack power def mdf; param(5); end # MDF Magic DeFense power def agi; param(6); end # AGI AGIlity def luk; param(7); end # LUK LUcK
when 0
plus += last_stand.hp
а
when 0
plus += last_stand.hp*mhp
задавая в стойке % (типа 0.05 или 0.25)




Ответить с цитированием


Социальные закладки