リビジョン | b2d979cda7d4a299c3dac2a6e1f1117affea17ec (tree) |
---|---|
日時 | 2017-02-12 20:55:37 |
作者 | SUEHIRO <supersuehiro@user...> |
コミッター | SUEHIRO |
振り向きなどを修正
@@ -3237,7 +3237,7 @@ public &Char | ||
3237 | 3237 | public void furimuki() |
3238 | 3238 | { |
3239 | 3239 | if(`ctrl && `helperindex == 0){ |
3240 | - if(`trP2DistX()$.v.toF() >= 0.0) break; | |
3240 | + if(`trDistX(.players.enemyNear(`=, 0, true))$.v.toF() >= 0.0) break; | |
3241 | 3241 | branch{ |
3242 | 3242 | cond `stVal.typ == .StTy::S: |
3243 | 3243 | `trChangeAnim(5); |
@@ -4626,16 +4626,19 @@ public &Char | ||
4626 | 4626 | { |
4627 | 4627 | `setFacing(-`facing); |
4628 | 4628 | } |
4629 | - public void trP2DistX() | |
4629 | + public void trDistX(^`self c) | |
4630 | 4630 | { |
4631 | - ^`self e = `getP2(); | |
4632 | - if(#e == 0){ | |
4631 | + if(#c == 0){ | |
4633 | 4632 | .v.setSF(); |
4634 | 4633 | ret; |
4635 | 4634 | } |
4636 | - float dist = (float)`facing * `distX(e<>=); | |
4635 | + float dist = (float)`facing * `distX(c<>=); | |
4637 | 4636 | .v.setF(`stMver0() == 1 ? dist : (float)(int)dist); |
4638 | 4637 | } |
4638 | + public void trP2DistX() | |
4639 | + { | |
4640 | + `trDistX(`getP2()); | |
4641 | + } | |
4639 | 4642 | public void trP2DistY() |
4640 | 4643 | { |
4641 | 4644 | ^`self e = `getP2(); |
@@ -4675,12 +4678,7 @@ public &Char | ||
4675 | 4678 | public void trParentDistX() |
4676 | 4679 | { |
4677 | 4680 | `trParent(); |
4678 | - if(#.c == 0){ | |
4679 | - .v.setSF(); | |
4680 | - ret; | |
4681 | - } | |
4682 | - float dist = (float)`facing * `distX(.c<>=); | |
4683 | - .v.setF(`stMver0() == 1 ? dist : (float)(int)dist); | |
4681 | + `trDistX(.c); | |
4684 | 4682 | } |
4685 | 4683 | public void trParentDistY() |
4686 | 4684 | { |
@@ -4741,20 +4739,11 @@ public &Char | ||
4741 | 4739 | public bool trPName(int no, ^/char name) |
4742 | 4740 | {:<- |
4743 | 4741 | if(no <= 0 || #.chars < no) ret false; |
4744 | - void addSorted(%index sorted=, int c) | |
4745 | - { | |
4746 | - loop{index i = 0; while; do: | |
4747 | - if( | |
4748 | - (!.chars[c]<>~isHouchied() && .chars[sorted[i]]<>~isHouchied()) || ( | |
4749 | - .chars[c]<>~isHouchied() == .chars[sorted[i]]<>~isHouchied() | |
4750 | - && #`distX(.chars[c]<><>=) < #`distX(.chars[sorted[i]]<><>=))) | |
4751 | - { | |
4752 | - .insIL(sorted=, i, c); | |
4753 | - ret; | |
4754 | - } | |
4755 | - i++; | |
4756 | - while i < #sorted:} | |
4757 | - sorted .= c; | |
4742 | + if((no & 1) == 0){ | |
4743 | + ^`self e = .players.enemyNear(`=, (no >> 1) - 1, true); | |
4744 | + ret | |
4745 | + #e > 0 && !(e~isKO() && e~sf(.sfOVER)) | |
4746 | + && .s.equ(name, .cgi[e~playerno].nameLow); | |
4758 | 4747 | } |
4759 | 4748 | int foo; |
4760 | 4749 | branch{ |
@@ -4765,32 +4754,10 @@ public &Char | ||
4765 | 4754 | else: |
4766 | 4755 | foo = ((no - 1) - 2) + (`playerno & 1); |
4767 | 4756 | } |
4768 | - cond no == 2: | |
4769 | - { | |
4770 | - ^`self e = `getP2(); | |
4771 | - ret #e > 0 && .s.equ(name, .cgi[e~playerno].nameLow); | |
4772 | - } | |
4773 | 4757 | else: |
4774 | 4758 | foo = (no - 1) ^ (`playerno & 1); |
4775 | - if((no & 1) == 0) loop{ | |
4776 | - int i = foo & 1; | |
4777 | - %index sorted; | |
4778 | - while; | |
4779 | - do: | |
4780 | - if(#.chars[i] > 0) addSorted(sorted=, i); | |
4781 | - i += 2; | |
4782 | - while i < #.chars: | |
4783 | - if(#sorted <= foo >> 2) ret false; | |
4784 | - foo = sorted[foo >> 2]; | |
4785 | - } | |
4786 | - } | |
4787 | - if( | |
4788 | - #.chars[foo] == 0 | |
4789 | - || (no == 2 && .chars[foo]<>~isKO() && .chars[foo]<>~sf(.sfOVER))) | |
4790 | - { | |
4791 | - ret false; | |
4792 | 4759 | } |
4793 | - ret .s.equ(name, .cgi[foo].nameLow); | |
4760 | + ret #.chars[foo] > 0 && .s.equ(name, .cgi[foo].nameLow); | |
4794 | 4761 | } |
4795 | 4762 | public bool trAuthor(^/char name) |
4796 | 4763 | { |