修订版 | 36cb696b4d5ec3f4099812062d379d1783dad229 (tree) |
---|---|
时间 | 2017-01-28 21:00:28 |
作者 | SUEHIRO <supersuehiro@user...> |
Commiter | SUEHIRO |
オートガードを修正
@@ -1188,7 +1188,7 @@ const int ATP = | ||
1188 | 1188 | || hit.reversal_attr > 0 |
1189 | 1189 | ? (int)-1 : 1); |
1190 | 1190 | } |
1191 | - public int setHb(&.Hitdef hit=, bool guard, bool combo, int absdamage=) | |
1191 | + public void setHb(&.Hitdef hit=, bool guard, bool combo, int absdamage=) | |
1192 | 1192 | { |
1193 | 1193 | bool cmb = combo && !`hb.guarded; |
1194 | 1194 | bool fall = `hb.fallf; |
@@ -1227,7 +1227,7 @@ const int ATP = | ||
1227 | 1227 | } |
1228 | 1228 | absdamage = hit.guarddamage; |
1229 | 1229 | `hb.hitcount = hc; |
1230 | - ret 2 * (`hb.typ == 0 || hit.reversal_attr > 0 ? (int)-1 : 1); | |
1230 | + ret; | |
1231 | 1231 | } |
1232 | 1232 | `hb.hitshaketime = .m.max!int?(0, hit.shaketime); |
1233 | 1233 | `hb.slidetime = hit.ground_slidetime; |
@@ -1259,7 +1259,6 @@ const int ATP = | ||
1259 | 1259 | `hb.hitcount = cmb ? hc+1 : 1; |
1260 | 1260 | `hb.fallcount = fc; |
1261 | 1261 | `hb.fallf |= fall; |
1262 | - ret 1 * (`hb.typ == 0 || hit.reversal_attr > 0 ? (int)-1 : 1); | |
1263 | 1262 | } |
1264 | 1263 | } |
1265 | 1264 | const index iLIFE = 10; |
@@ -5833,6 +5832,17 @@ public void PlayerList!&Char?::clsn(&.Char pyr=, bool pro) | ||
5833 | 5832 | bool guard = |
5834 | 5833 | (pro != 0 || !by.ls(.lsUNGUARDABLE)) && `pyr.sf(.sfGUARD) |
5835 | 5834 | && (!`pyr.ls(.lsGETHIT) || `pyr.stVal.hb.guarded); |
5835 | + if( | |
5836 | + guard && .com.autoguard[`pyr.playerno] | |
5837 | + && `pyr.acttmp > 0 && !`pyr.ls(.lsGETHIT) | |
5838 | + && (`pyr.stVal.typ == .StTy::S || `pyr.stVal.typ == .StTy::C) | |
5839 | + && ((int)`pyr.stVal.typ&hit.guardflag) == 0) branch | |
5840 | + { | |
5841 | + cond ((int).StTy::S&hit.guardflag) != 0 && !`pyr.ls(.lsNOSTANDGUARD): | |
5842 | + `pyr.stVal.typ = .StTy::S; | |
5843 | + cond ((int).StTy::C&hit.guardflag) != 0 && !`pyr.ls(.lsNOCROUCHGUARD): | |
5844 | + `pyr.stVal.typ = .StTy::C; | |
5845 | + } | |
5836 | 5846 | hitting = `pyr.stVal.hitCheck(hit=, guard); |
5837 | 5847 | bool p2s = false; |
5838 | 5848 | { |
@@ -5884,17 +5894,6 @@ public void PlayerList!&Char?::clsn(&.Char pyr=, bool pro) | ||
5884 | 5894 | int absdamage = 0; |
5885 | 5895 | branch{ |
5886 | 5896 | cond hbset: |
5887 | - if( | |
5888 | - guard && .com.autoguard[`pyr.playerno] | |
5889 | - && `pyr.acttmp > 0 && !`pyr.ls(.lsGETHIT) | |
5890 | - && (`pyr.stVal.typ == .StTy::S || `pyr.stVal.typ == .StTy::C) | |
5891 | - && ((int)`pyr.stVal.typ&hit.guardflag) == 0) branch | |
5892 | - { | |
5893 | - cond ((int).StTy::S&hit.guardflag) != 0 && !`pyr.ls(.lsNOSTANDGUARD): | |
5894 | - `pyr.stVal.typ = .StTy::S; | |
5895 | - cond ((int).StTy::C&hit.guardflag) != 0 && !`pyr.ls(.lsNOCROUCHGUARD): | |
5896 | - `pyr.stVal.typ = .StTy::C; | |
5897 | - } | |
5898 | 5897 | `pyr.stVal.setHb( |
5899 | 5898 | hit=, guard, `pyr.stVal.mov == .MovTy::H || `pyr.ls(.lsGETHIT), |
5900 | 5899 | absdamage=); |