summaryrefslogtreecommitdiff
path: root/src/simulation/elements/STKM.cpp
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-05-30 00:36:34 (GMT)
committer jacob1 <jfu614@gmail.com>2013-05-30 00:36:34 (GMT)
commitd6d20defdebf72c2b27244a6d4bc8a757a669a59 (patch)
treea3802256a9377cf5b048a01a91a31a470be3c7c3 /src/simulation/elements/STKM.cpp
parentcbc80de6522b5562f9490b0cdb620371f25be2f9 (diff)
parent41e369e68eac7b05f8cda312f9668942dc688aa7 (diff)
downloadpowder-d6d20defdebf72c2b27244a6d4bc8a757a669a59.zip
powder-d6d20defdebf72c2b27244a6d4bc8a757a669a59.tar.gz
Merge branch 'master' of git@github.com:FacialTurd/The-Powder-Toy.git
Diffstat (limited to 'src/simulation/elements/STKM.cpp')
-rw-r--r--src/simulation/elements/STKM.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/simulation/elements/STKM.cpp b/src/simulation/elements/STKM.cpp
index 7767266..67d8cdf 100644
--- a/src/simulation/elements/STKM.cpp
+++ b/src/simulation/elements/STKM.cpp
@@ -210,7 +210,7 @@ int Element_STKM::run_stickman(playerst* playerp, UPDATE_FUNC_ARGS) {
bool moved = false;
if (dl>dr)
{
- if (!sim->eval_move(t, playerp->legs[4], playerp->legs[5], NULL))
+ if (INBOND(playerp->legs[4], playerp->legs[5]) && !sim->eval_move(t, playerp->legs[4], playerp->legs[5], NULL))
{
playerp->accs[2] = -3*gvy-3*gvx;
playerp->accs[3] = 3*gvx-3*gvy;
@@ -221,7 +221,7 @@ int Element_STKM::run_stickman(playerst* playerp, UPDATE_FUNC_ARGS) {
}
else
{
- if (!sim->eval_move(t, playerp->legs[12], playerp->legs[13], NULL))
+ if (INBOND(playerp->legs[12], playerp->legs[13]) && !sim->eval_move(t, playerp->legs[12], playerp->legs[13], NULL))
{
playerp->accs[6] = -3*gvy-3*gvx;
playerp->accs[7] = 3*gvx-3*gvy;
@@ -260,7 +260,7 @@ int Element_STKM::run_stickman(playerst* playerp, UPDATE_FUNC_ARGS) {
bool moved = false;
if (dl<dr)
{
- if (!sim->eval_move(t, playerp->legs[4], playerp->legs[5], NULL))
+ if (INBOND(playerp->legs[4], playerp->legs[5]) && !sim->eval_move(t, playerp->legs[4], playerp->legs[5], NULL))
{
playerp->accs[2] = 3*gvy-3*gvx;
playerp->accs[3] = -3*gvx-3*gvy;
@@ -271,7 +271,7 @@ int Element_STKM::run_stickman(playerst* playerp, UPDATE_FUNC_ARGS) {
}
else
{
- if (!sim->eval_move(t, playerp->legs[12], playerp->legs[13], NULL))
+ if (INBOND(playerp->legs[12], playerp->legs[13]) && !sim->eval_move(t, playerp->legs[12], playerp->legs[13], NULL))
{
playerp->accs[6] = 3*gvy-3*gvx;
playerp->accs[7] = -3*gvx-3*gvy;
@@ -337,7 +337,8 @@ int Element_STKM::run_stickman(playerst* playerp, UPDATE_FUNC_ARGS) {
}
}
}
- else if (!sim->eval_move(t, playerp->legs[4], playerp->legs[5], NULL) || !sim->eval_move(t, playerp->legs[12], playerp->legs[13], NULL))
+ else if ((INBOND(playerp->legs[4], playerp->legs[5]) && !sim->eval_move(t, playerp->legs[4], playerp->legs[5], NULL)) ||
+ (INBOND(playerp->legs[12], playerp->legs[13]) && !sim->eval_move(t, playerp->legs[12], playerp->legs[13], NULL)))
{
parts[i].vx -= 4*gvx;
parts[i].vy -= 4*gvy;