• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javaandroidc++linuxobjective-cc#cocoa誰得qtrubybathyscaphegamephpguiwindows翻訳cpythonomegattwitterframeworkbtronarduinovb.net計画中(planning stage)directxpreviewertestゲームエンジンdom

コミットメタ情報

リビジョン548db1262822821b60893b755cea7c42973cfe6f (tree)
日時2017-03-18 19:35:04
作者SUEHIRO <supersuehiro@user...>
コミッターSUEHIRO

ログメッセージ

superpauseのunhittableを修正

変更サマリ

差分

--- a/ssz/char.ssz
+++ b/ssz/char.ssz
@@ -1508,6 +1508,7 @@ public &CharGlobalInfo
15081508 public short mver0 = 0, mver1 = 0;
15091509 public |.ProjContact pctyp;
15101510 public int pctime, pcid;
1511+ public int unhittable;
15111512 new()
15121513 {
15131514 `clearPCTime();
@@ -1539,7 +1540,6 @@ float superposx = 0.0, superposy = 0.0;
15391540 int superfacing = 1;
15401541 int superdarken = 1;
15411542 float superp2defmul = 1.0;
1542-int superunhittable = 1;
15431543 /int envcol_time = 0;
15441544 /int envcol_under = 0;
15451545 int envcol_r = 255;
@@ -2785,9 +2785,7 @@ public &Char
27852785 }
27862786 public bool attrCheck(&.Hitdef hit=, int cid, |.StTy styp)
27872787 {
2788- if(
2789- .super > 0 && .superunhittable != 0
2790- && `playerno == .superplayer) ret false;
2788+ if(.cgi[`playerno].unhittable > 0) ret false;
27912789 if(hit.chainid >= 0 && `stVal.hb.hitid != hit.chainid) ret false;
27922790 if(#`stVal.hb.by > 0 && `stVal.hb.by[-1].id == cid){
27932791 if(hit.nochainid1 >= 0 && `stVal.hb.hitid == hit.nochainid1) ret false;
@@ -3763,7 +3761,7 @@ public &Char
37633761 `sysivar[.iPAUSEMOVETIME]--;
37643762 }
37653763 }
3766- void setSuperPauseTime(int pausetime, int movetime)
3764+ void setSuperPauseTime(int pausetime, int movetime, bool unhittable)
37673765 {
37683766 if(
37693767 !pausetime < .supertime || `playerno != `stVal.playerno
@@ -3781,6 +3779,9 @@ public &Char
37813779 cond .super > 0 && `sysivar[.iSUPERMOVETIME] > 0:
37823780 `sysivar[.iSUPERMOVETIME]--;
37833781 }
3782+ if(unhittable){
3783+ .cgi[`playerno].unhittable = pausetime + (int)(pausetime > 1);
3784+ }
37843785 }
37853786 void setHitdefDefault(&.Hitdef h=, bool proj)
37863787 {
@@ -6424,6 +6425,7 @@ public void PlayerList!&Char?::getHit()
64246425 public void PlayerList!&Char?::tick()
64256426 {
64266427 .com.gametime++;
6428+ .cgi:<-[void(gi=){if(gi.unhittable > 0) gi.unhittable--;}];
64276429 loop{
64286430 *`top.self p = `top;
64296431 while;
@@ -7214,6 +7216,7 @@ public void nextRound()
72147216 }
72157217 }
72167218 .cgi[c.playerno].clearPCTime();
7219+ .cgi[c.playerno].unhittable = 0;
72177220 }];
72187221 continue:
72197222 i++;
--- a/ssz/statebuilder.ssz
+++ b/ssz/statebuilder.ssz
@@ -5359,12 +5359,10 @@ public &StateBuilder
53595359 ret `stateSec(param=,[bool(){
53605360 `state.ctrlList[-1].task .=
53615361 .sndstart
5362- .= "int t=30,mt=0;"
5362+ .= "int t=30,mt=0;bool uh=true;"
53635363 ".superanim=.fight~getAction(30);.superfacing=`facing;"
53645364 ".superposx=`sysfvar[.fX];.superposy=`sysfvar[.fY];"
5365- ".superdarken=1;"
5366- ".superp2defmul=.cfg.Super_TargetDefenceMul;"
5367- ".superunhittable=1;"
5365+ ".superdarken=1;.superp2defmul=.cfg.Super_TargetDefenceMul;"
53685366 ".superpausebg=1;.superendcmdbuftime=0;";
53695367 if(!`stateParam(param=, "time", [`paraF_t(data=){
53705368 if(
@@ -5454,8 +5452,7 @@ public &StateBuilder
54545452 if(!`stateParam(param=, "unhittable", [`paraF_t(data=){
54555453 if(
54565454 !`fullExpression(
5457- `state.ctrlList[-1].task=, data=,
5458- ".superunhittable=(int)(", ");", 3)) ret false;
5455+ `state.ctrlList[-1].task=, data=, "uh=", ";", 3)) ret false;
54595456 ret true;
54605457 }])) ret false;
54615458 if(!`stateParam(param=, "sound", [`paraF_t(data=){
@@ -5480,7 +5477,7 @@ public &StateBuilder
54805477 }
54815478 ret true;
54825479 }])) ret false;
5483- `state.ctrlList[-1].task .= "`setSuperPauseTime(t,mt);" .= .sndend;
5480+ `state.ctrlList[-1].task .= "`setSuperPauseTime(t,mt,uh);" .= .sndend;
54845481 ret true;
54855482 }]);
54865483 }