]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Objects/Person.cpp
Fix feedback on prev commits from MCMic
[lugaru.git] / Source / Objects / Person.cpp
index f31478248a6dd97aebb7264d8fd0b8d42117306e..55b62090c51b4016e23403852765e6ad9d129c2c 100644 (file)
@@ -1,6 +1,6 @@
 /*
 Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
+Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
 
 This file is part of Lugaru.
 
@@ -21,13 +21,13 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 #include "Objects/Person.hpp"
 
 #include "Animation/Animation.hpp"
-#include "Audio/openal_wrapper.hpp"
 #include "Audio/Sounds.hpp"
+#include "Audio/openal_wrapper.hpp"
 #include "Game.hpp"
 #include "Level/Awards.hpp"
 #include "Level/Dialog.hpp"
-#include "Utils/Folders.hpp"
 #include "Tutorial.hpp"
+#include "Utils/Folders.hpp"
 
 extern float multiplier;
 extern Terrain terrain;
@@ -51,7 +51,7 @@ extern float woozy;
 extern float viewdistance;
 extern float blackout;
 extern int difficulty;
-extern bool decals;
+extern bool decalstoggle;
 extern float fadestart;
 extern bool freeze;
 extern bool winfreeze;
@@ -76,244 +76,299 @@ extern XYZ windvector;
 
 std::vector<std::shared_ptr<Person>> Person::players(1, std::shared_ptr<Person>(new Person()));
 
-Person::Person() :
-    whichpatchx(0),
-    whichpatchz(0),
-    animCurrent(bounceidleanim),
-    animTarget(bounceidleanim),
-    frameCurrent(0),
-    frameTarget(1),
-    oldanimCurrent(0),
-    oldanimTarget(0),
-    oldframeCurrent(0),
-    oldframeTarget(0),
-    howactive(typeactive),
-    parriedrecently(0),
-    superruntoggle(false),
-    lastattack(0), lastattack2(0), lastattack3(0),
-    currentoffset(), targetoffset(), offset(),
-    target(0),
-    transspeed(0),
-
-    realoldcoords(),
-    oldcoords(),
-    coords(),
-    velocity(),
-
-    proportionhead(),
-    proportionlegs(),
-    proportionarms(),
-    proportionbody(),
-
-    unconscioustime(0),
-
-    immobile(false),
-
-    velspeed(0),
-    targetyaw(0),
-    targetrot(0),
-    rot(0),
-    oldrot(0),
-    lookyaw(0),
-    lookpitch(0),
-    yaw(0),
-    pitch(0),
-    lowyaw(0),
-    tilt(0),
-    targettilt(0),
-    tilt2(0),
-    targettilt2(0),
-    rabbitkickenabled(false),
-
-    bloodloss(0),
-    bleeddelay(0),
-    skiddelay(0),
-    skiddingdelay(0),
-    deathbleeding(0),
-    tempdeltav(0),
-
-    damagetolerance(200),
-    damage(0),
-    permanentdamage(0),
-    superpermanentdamage(0),
-    lastcollide(0),
-    dead(0),
-
-    jumppower(5),
-    onground(false),
-
-    wentforweapon(0),
-
-    calcrot(false),
-
-    facing(),
-
-    bleeding(0),
-    bleedx(0), bleedy(0),
-    direction(0),
-    texupdatedelay(0),
-
-    headyaw(0), headpitch(0),
-    targetheadyaw(0), targetheadpitch(0),
-
-    onterrain(false),
-    pause(false),
-
-    grabdelay(0),
-
-    victim(nullptr),
-    hasvictim(false),
-
-    updatedelay(0),
-    normalsupdatedelay(0),
-
-    jumpstart(false),
-    forwardkeydown(false),
-    forwardstogglekeydown(false),
-    rightkeydown(false),
-    leftkeydown(false),
-    backkeydown(false),
-    jumpkeydown(false),
-    jumptogglekeydown(false),
-    crouchkeydown(false),
-    crouchtogglekeydown(false),
-    drawkeydown(false),
-    drawtogglekeydown(false),
-    throwkeydown(false),
-    throwtogglekeydown(false),
-    attackkeydown(false),
-    feint(false),
-    lastfeint(false),
-    headless(false),
-
-    crouchkeydowntime(0),
-    jumpkeydowntime(0),
-    freefall(false),
-
-    turnspeed(0),
-
-    aitype(passivetype),
-    aiupdatedelay(0),
-    losupdatedelay(0),
-    ally(0),
-    collide(0),
-    collided(-10),
-    avoidcollided(0),
-    loaded(false),
-    whichdirection(false),
-    whichdirectiondelay(0),
-    avoidsomething(false),
-    avoidwhere(),
-    blooddimamount(0),
-
-    staggerdelay(0),
-    blinkdelay(0),
-    twitchdelay(0),
-    twitchdelay2(0),
-    twitchdelay3(0),
-    lefthandmorphness(0),
-    righthandmorphness(0),
-    headmorphness(0),
-    chestmorphness(0),
-    tailmorphness(0),
-    targetlefthandmorphness(0),
-    targetrighthandmorphness(0),
-    targetheadmorphness(1),
-    targetchestmorphness(0),
-    targettailmorphness(0),
-    lefthandmorphstart(0), lefthandmorphend(0),
-    righthandmorphstart(0), righthandmorphend(0),
-    headmorphstart(0), headmorphend(0),
-    chestmorphstart(0), chestmorphend(0),
-    tailmorphstart(0), tailmorphend(0),
-
-    weaponmissdelay(0),
-    highreversaldelay(0),
-    lowreversaldelay(0),
-
-    creature(rabbittype),
-
-    id(0),
-
-    skeleton(),
-
-    speed(0),
-    scale(-1),
-    power(0),
-    speedmult(0),
-
-    protectionhead(0),
-    protectionhigh(0),
-    protectionlow(0),
-    armorhead(0),
-    armorhigh(0),
-    armorlow(0),
-    metalhead(false),
-    metalhigh(false),
-    metallow(false),
-
-    numclothes(0),
-
-    landhard(false),
-    bled(false),
-    spurt(false),
-    onfire(false),
-    onfiredelay(0),
-    burnt(0),
-
-    flamedelay(0),
-
-    playerdetail(0),
-
-    num_weapons(0),
-    weaponactive(-1),
-    weaponstuck(-1),
-    weaponstuckwhere(0),
-
-    numwaypoints(0),
-    pausetime(0),
-
-    headtarget(),
-    interestdelay(0),
-
-    finalfinaltarget(),
-    finaltarget(),
-    finalpathfindpoint(0),
-    targetpathfindpoint(0),
-    lastpathfindpoint(0),
-    lastpathfindpoint2(0),
-    lastpathfindpoint3(0),
-    lastpathfindpoint4(0),
-
-    waypoint(0),
-
-    lastseen(),
-    lastseentime(0),
-    lastchecktime(0),
-    stunned(0),
-    surprised(0),
-    runninghowlong(0),
-    occluded(0),
-    lastoccluded(0),
-    laststanding(0),
-    escapednum(0),
-
-    speechdelay(0),
-    neckspurtdelay(0),
-    neckspurtparticledelay(0),
-    neckspurtamount(0),
-
-    whichskin(0),
-    rabbitkickragdoll(false),
-
-    tempanimation(),
+Person::Person()
+    : whichpatchx(0)
+    , whichpatchz(0)
+    , animCurrent(bounceidleanim)
+    , animTarget(bounceidleanim)
+    , frameCurrent(0)
+    , frameTarget(1)
+    , oldanimCurrent(0)
+    , oldanimTarget(0)
+    , oldframeCurrent(0)
+    , oldframeTarget(0)
+    , howactive(typeactive)
+    , parriedrecently(0)
+    , superruntoggle(false)
+    , lastattack(0)
+    , lastattack2(0)
+    , lastattack3(0)
+    , currentoffset()
+    , targetoffset()
+    , offset()
+    , target(0)
+    , transspeed(0)
+    ,
+
+    realoldcoords()
+    , oldcoords()
+    , coords()
+    , velocity()
+    ,
+
+    proportionhead()
+    , proportionlegs()
+    , proportionarms()
+    , proportionbody()
+    ,
+
+    unconscioustime(0)
+    ,
+
+    immobile(false)
+    ,
+
+    velspeed(0)
+    , targetyaw(0)
+    , targetrot(0)
+    , rot(0)
+    , oldrot(0)
+    , lookyaw(0)
+    , lookpitch(0)
+    , yaw(0)
+    , pitch(0)
+    , lowyaw(0)
+    , tilt(0)
+    , targettilt(0)
+    , tilt2(0)
+    , targettilt2(0)
+    , rabbitkickenabled(false)
+    ,
+
+    bloodloss(0)
+    , bleeddelay(0)
+    , skiddelay(0)
+    , skiddingdelay(0)
+    , deathbleeding(0)
+    , tempdeltav(0)
+    ,
+
+    damagetolerance(200)
+    , damage(0)
+    , permanentdamage(0)
+    , superpermanentdamage(0)
+    , lastcollide(0)
+    , dead(0)
+    ,
+
+    jumppower(5)
+    , onground(false)
+    ,
+
+    wentforweapon(0)
+    ,
+
+    calcrot(false)
+    ,
+
+    facing()
+    ,
+
+    bleeding(0)
+    , bleedx(0)
+    , bleedy(0)
+    , direction(0)
+    , texupdatedelay(0)
+    ,
+
+    headyaw(0)
+    , headpitch(0)
+    , targetheadyaw(0)
+    , targetheadpitch(0)
+    ,
+
+    onterrain(false)
+    , pause(false)
+    ,
+
+    grabdelay(0)
+    ,
+
+    victim(nullptr)
+    , hasvictim(false)
+    ,
+
+    updatedelay(0)
+    , normalsupdatedelay(0)
+    ,
+
+    jumpstart(false)
+    , forwardkeydown(false)
+    , forwardstogglekeydown(false)
+    , rightkeydown(false)
+    , leftkeydown(false)
+    , backkeydown(false)
+    , jumpkeydown(false)
+    , jumptogglekeydown(false)
+    , crouchkeydown(false)
+    , crouchtogglekeydown(false)
+    , drawkeydown(false)
+    , drawtogglekeydown(false)
+    , throwkeydown(false)
+    , throwtogglekeydown(false)
+    , attackkeydown(false)
+    , feint(false)
+    , lastfeint(false)
+    , headless(false)
+    ,
+
+    crouchkeydowntime(0)
+    , jumpkeydowntime(0)
+    , freefall(false)
+    ,
+
+    turnspeed(0)
+    ,
+
+    aitype(passivetype)
+    , aiupdatedelay(0)
+    , losupdatedelay(0)
+    , ally(0)
+    , collide(0)
+    , collided(-10)
+    , avoidcollided(0)
+    , loaded(false)
+    , whichdirection(false)
+    , whichdirectiondelay(0)
+    , avoidsomething(false)
+    , avoidwhere()
+    , blooddimamount(0)
+    ,
+
+    staggerdelay(0)
+    , blinkdelay(0)
+    , twitchdelay(0)
+    , twitchdelay2(0)
+    , twitchdelay3(0)
+    , lefthandmorphness(0)
+    , righthandmorphness(0)
+    , headmorphness(0)
+    , chestmorphness(0)
+    , tailmorphness(0)
+    , targetlefthandmorphness(0)
+    , targetrighthandmorphness(0)
+    , targetheadmorphness(1)
+    , targetchestmorphness(0)
+    , targettailmorphness(0)
+    , lefthandmorphstart(0)
+    , lefthandmorphend(0)
+    , righthandmorphstart(0)
+    , righthandmorphend(0)
+    , headmorphstart(0)
+    , headmorphend(0)
+    , chestmorphstart(0)
+    , chestmorphend(0)
+    , tailmorphstart(0)
+    , tailmorphend(0)
+    ,
+
+    weaponmissdelay(0)
+    , highreversaldelay(0)
+    , lowreversaldelay(0)
+    ,
+
+    creature(rabbittype)
+    ,
+
+    id(0)
+    ,
+
+    skeleton()
+    ,
+
+    speed(0)
+    , scale(-1)
+    , power(0)
+    , speedmult(0)
+    ,
+
+    protectionhead(0)
+    , protectionhigh(0)
+    , protectionlow(0)
+    , armorhead(0)
+    , armorhigh(0)
+    , armorlow(0)
+    , metalhead(false)
+    , metalhigh(false)
+    , metallow(false)
+    ,
+
+    numclothes(0)
+    ,
+
+    landhard(false)
+    , bled(false)
+    , spurt(false)
+    , onfire(false)
+    , onfiredelay(0)
+    , burnt(0)
+    ,
+
+    flamedelay(0)
+    ,
+
+    playerdetail(0)
+    ,
+
+    num_weapons(0)
+    , weaponactive(-1)
+    , weaponstuck(-1)
+    , weaponstuckwhere(0)
+    ,
+
+    numwaypoints(0)
+    , pausetime(0)
+    ,
+
+    headtarget()
+    , interestdelay(0)
+    ,
+
+    finalfinaltarget()
+    , finaltarget()
+    , finalpathfindpoint(0)
+    , targetpathfindpoint(0)
+    , lastpathfindpoint(0)
+    , lastpathfindpoint2(0)
+    , lastpathfindpoint3(0)
+    , lastpathfindpoint4(0)
+    ,
+
+    waypoint(0)
+    ,
+
+    lastseen()
+    , lastseentime(0)
+    , lastchecktime(0)
+    , stunned(0)
+    , surprised(0)
+    , runninghowlong(0)
+    , occluded(0)
+    , lastoccluded(0)
+    , laststanding(0)
+    , escapednum(0)
+    ,
+
+    speechdelay(0)
+    , neckspurtdelay(0)
+    , neckspurtparticledelay(0)
+    , neckspurtamount(0)
+    ,
+
+    whichskin(0)
+    , rabbitkickragdoll(false)
+    ,
+
+    tempanimation()
+    ,
 
     jumpclimb(false)
 {
 }
 
 /* Read a person in tfile. Throws an error if it’s not valid */
-Person::Person(FILE *tfile, int mapvers, unsigned i) : Person()
+Person::Person(FILE* tfile, int mapvers, unsigned i)
+    : Person()
 {
     id = i;
     funpackf(tfile, "Bi Bi Bf Bf Bf Bi", &whichskin, &creature, &coords.x, &coords.y, &coords.z, &num_weapons);
@@ -399,8 +454,9 @@ Person::Person(FILE *tfile, int mapvers, unsigned i) : Person()
     for (int k = 0; k < numclothes; k++) {
         int templength;
         funpackf(tfile, "Bi", &templength);
-        for (int l = 0; l < templength; l++)
+        for (int l = 0; l < templength; l++) {
             funpackf(tfile, "Bb", &clothes[k][l]);
+        }
         clothes[k][templength] = '\0';
         funpackf(tfile, "Bf Bf Bf", &clothestintr[k], &clothestintg[k], &clothestintb[k]);
     }
@@ -437,8 +493,7 @@ void Person::skeletonLoad(bool clothes)
             "Models/Body7.solid",
             "Models/BodyLow.solid",
             "Models/Belt.solid",
-            clothes
-        );
+            clothes);
     } else {
         skeleton.Load(
             "Skeleton/BasicFigureWolf",
@@ -453,8 +508,7 @@ void Person::skeletonLoad(bool clothes)
             "Models/Wolf7.solid",
             "Models/WolfLow.solid",
             "Models/Belt.solid",
-            clothes
-        );
+            clothes);
     }
 
     skeleton.drawmodel.textureptr.load(creatureskin[creature][whichskin], 1, &skeleton.skinText[0], &skeleton.skinsize);
@@ -467,15 +521,9 @@ void Person::skeletonLoad(bool clothes)
  */
 void Person::CheckKick()
 {
-    if (!(hasvictim
-            && (animTarget == rabbitkickanim
-                && victim
-                && victim != this->shared_from_this()
-                && frameCurrent >= 2
-                && animCurrent == rabbitkickanim)
-            && distsq(&coords, &victim->coords) < 1.2
-            && !victim->skeleton.free))
+    if (!(hasvictim && (animTarget == rabbitkickanim && victim && victim != this->shared_from_this() && frameCurrent >= 2 && animCurrent == rabbitkickanim) && distsq(&coords, &victim->coords) < 1.2 && !victim->skeleton.free)) {
         return;
+    }
 
     if (Animation::animations[victim->animTarget].height != lowheight) {
         float damagemult = (creature == wolftype ? 2.5 : 1.) * power * power;
@@ -485,16 +533,18 @@ void Person::CheckKick()
 
         victim->spurt = 1;
         DoBlood(.2, 250);
-        if (!Tutorial::active)
+        if (!Tutorial::active) {
             emit_sound_at(heavyimpactsound, victim->coords);
+        }
         victim->RagDoll(0);
         for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
             victim->skeleton.joints[i].velocity += relative * 120 * damagemult;
         }
         victim->Puff(neck);
         victim->DoDamage(100 * damagemult / victim->protectionhigh);
-        if (id == 0)
+        if (id == 0) {
             camerashake += .4;
+        }
 
         target = 0;
         frameCurrent = 3;
@@ -503,8 +553,9 @@ void Person::CheckKick()
         velocity = facing * -10;
         velocity.y = 5;
         skeleton.free = 0;
-        if (id == 0)
+        if (id == 0) {
             resume_stream(whooshsound);
+        }
 
         award_bonus(id, cannon);
     } else if (victim->isCrouch()) {
@@ -563,42 +614,70 @@ void Person::CatchFire()
  */
 int Person::getIdle()
 {
-    if (Dialog::inDialog() && (howactive == typeactive) && (creature == rabbittype))
+    if (Dialog::inDialog() && (howactive == typeactive) && (creature == rabbittype)) {
         return talkidleanim;
-    if (hasvictim && (victim != this->shared_from_this())/*||(id==0&&attackkeydown)*/)
-        if (/*(id==0&&attackkeydown)||*/(!victim->dead && victim->aitype != passivetype &&
-            victim->aitype != searchtype && aitype != passivetype && aitype != searchtype &&
-            victim->id < Person::players.size())) {
+    }
+    if (hasvictim && (victim != this->shared_from_this())) {
+        if ((!victim->dead && victim->aitype != passivetype &&
+             victim->aitype != searchtype && aitype != passivetype && aitype != searchtype &&
+             victim->id < Person::players.size())) {
             if ((aitype == playercontrolled && stunned <= 0 && weaponactive == -1) || pause) {
-                if (creature == rabbittype)
+                if (creature == rabbittype) {
                     return fightidleanim;
-                if (creature == wolftype)
+                }
+                if (creature == wolftype) {
                     return wolfidle;
+                }
             }
             if (aitype == playercontrolled && stunned <= 0 && weaponactive != -1) {
-                if (weapons[weaponids[weaponactive]].getType() == knife)
+                if (weapons[weaponids[weaponactive]].getType() == knife) {
                     return knifefightidleanim;
-                if (weapons[weaponids[weaponactive]].getType() == sword && victim->weaponactive != -1)
+                }
+                if (weapons[weaponids[weaponactive]].getType() == sword && victim->weaponactive != -1) {
                     return swordfightidlebothanim;
-                if (weapons[weaponids[weaponactive]].getType() == sword)
+                }
+                if (weapons[weaponids[weaponactive]].getType() == sword) {
                     return swordfightidleanim;
-                if (weapons[weaponids[weaponactive]].getType() == staff)
+                }
+                if (weapons[weaponids[weaponactive]].getType() == staff) {
                     return swordfightidleanim;
+                }
             }
-            if (aitype != playercontrolled && stunned <= 0 && creature != wolftype && !pause)
+            if (aitype != playercontrolled && stunned <= 0 && creature != wolftype && !pause) {
                 return fightsidestep;
+            }
         }
-    if ((damage > permanentdamage || damage > damagetolerance * .8 || deathbleeding > 0) && creature != wolftype)
+    }
+    if ((damage > permanentdamage || damage > damagetolerance * .8 || deathbleeding > 0) && creature != wolftype) {
         return hurtidleanim;
-    if (howactive == typesitting) return sitanim;
-    if (howactive == typesittingwall) return sitwallanim;
-    if (howactive == typesleeping) return sleepanim;
-    if (howactive == typedead1) return dead1anim;
-    if (howactive == typedead2) return dead2anim;
-    if (howactive == typedead3) return dead3anim;
-    if (howactive == typedead4) return dead4anim;
-    if (creature == rabbittype) return bounceidleanim;
-    if (creature == wolftype) return wolfidle;
+    }
+    if (howactive == typesitting) {
+        return sitanim;
+    }
+    if (howactive == typesittingwall) {
+        return sitwallanim;
+    }
+    if (howactive == typesleeping) {
+        return sleepanim;
+    }
+    if (howactive == typedead1) {
+        return dead1anim;
+    }
+    if (howactive == typedead2) {
+        return dead2anim;
+    }
+    if (howactive == typedead3) {
+        return dead3anim;
+    }
+    if (howactive == typedead4) {
+        return dead4anim;
+    }
+    if (creature == rabbittype) {
+        return bounceidleanim;
+    }
+    if (creature == wolftype) {
+        return wolfidle;
+    }
     return 0;
 }
 
@@ -607,10 +686,12 @@ int Person::getIdle()
  */
 int Person::getCrouch()
 {
-    if (creature == rabbittype)
+    if (creature == rabbittype) {
         return crouchanim;
-    if (creature == wolftype)
+    }
+    if (creature == wolftype) {
         return wolfcrouchanim;
+    }
     return 0;
 }
 
@@ -619,15 +700,19 @@ int Person::getCrouch()
  */
 int Person::getRun()
 {
-    if (creature == rabbittype && (!superruntoggle || weaponactive != -1))
+    if (creature == rabbittype && (!superruntoggle || weaponactive != -1)) {
         return runanim;
-    if (creature == wolftype && (!superruntoggle))
+    }
+    if (creature == wolftype && (!superruntoggle)) {
         return wolfrunanim;
+    }
 
-    if (creature == rabbittype && (superruntoggle && weaponactive == -1))
+    if (creature == rabbittype && (superruntoggle && weaponactive == -1)) {
         return rabbitrunninganim;
-    if (creature == wolftype && (superruntoggle))
+    }
+    if (creature == wolftype && (superruntoggle)) {
         return wolfrunninganim;
+    }
     return 0;
 }
 
@@ -635,10 +720,12 @@ int Person::getRun()
  */
 int Person::getStop()
 {
-    if (creature == rabbittype)
+    if (creature == rabbittype) {
         return stopanim;
-    if (creature == wolftype)
+    }
+    if (creature == wolftype) {
         return wolfstopanim;
+    }
     return 0;
 }
 
@@ -646,10 +733,12 @@ int Person::getStop()
  */
 int Person::getLanding()
 {
-    if (creature == rabbittype)
+    if (creature == rabbittype) {
         return landanim;
-    if (creature == wolftype)
+    }
+    if (creature == wolftype) {
         return wolflandanim;
+    }
     return 0;
 }
 
@@ -657,10 +746,12 @@ int Person::getLanding()
  */
 int Person::getLandhard()
 {
-    if (creature == rabbittype)
+    if (creature == rabbittype) {
         return landhardanim;
-    if (creature == wolftype)
+    }
+    if (creature == wolftype) {
         return wolflandhardanim;
+    }
     return 0;
 }
 
@@ -672,10 +763,11 @@ int Person::getLandhard()
 static void
 SolidHitBonus(int playerid)
 {
-    if (bonustime < 1.5 && bonus >= solidhit && bonus <= megacombo)
+    if (bonustime < 1.5 && bonus >= solidhit && bonus <= megacombo) {
         award_bonus(playerid, bonus == megacombo ? bonus : bonus + 1);
-    else
+    } else {
         award_bonus(playerid, solidhit);
+    }
 }
 
 /* EFFECT
@@ -701,11 +793,11 @@ void Person::DoBlood(float howmuch, int which)
                     bloodvel.z = 10;
                     bloodvel = DoRotation(bloodvel, ((float)(Random() % 100)) / 4, yaw + ((float)(Random() % 100)) / 4, 0) * scale;
                     bloodvel += DoRotation(velocity, ((float)(Random() % 100)) / 4, ((float)(Random() % 100)) / 4, 0) * scale;
-                    Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .05, 1);
-                    Sprite::MakeSprite(bloodflamesprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .3, 1);
+                    Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
+                    Sprite::MakeSprite(bloodflamesprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .3, 1);
                 }
             }
-            if (Random() % 2 == 0) // 50% chance
+            if (Random() % 2 == 0) // 50% chance
                 for (int i = 0; i < 3; i++) {
                     if (Random() % 2 != 0) {
                         // emit teeth particles
@@ -722,37 +814,40 @@ void Person::DoBlood(float howmuch, int which)
                         if (skeleton.free) {
                             Sprite::MakeSprite(splintersprite, jointPos(head) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
                         } else {
-                            Sprite::MakeSprite(splintersprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .05, 1);
+                            Sprite::MakeSprite(splintersprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
                         }
                         Sprite::setLastSpriteSpecial(3); // sets it to teeth
                     }
                 }
+            }
         }
-        if (decals) {
+        if (decalstoggle) {
             // FIXME: manipulating attributes
             bleeding = howmuch + (float)abs(Random() % 100) / 200 - .25;
             bleedxint = 0;
             bleedyint = 0;
-            if (creature == rabbittype)
+            if (creature == rabbittype) {
                 while (bloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] > which + 4 || bloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] < which - 4 || bleedxint < 10 || bleedyint < 10 || bleedxint > 500 || bleedyint > 500) {
                     bleedxint = abs(Random() % 512);
                     bleedyint = abs(Random() % 512);
                 }
-            if (creature == wolftype)
+            }
+            if (creature == wolftype) {
                 while (wolfbloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] > which + 4 || wolfbloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] < which - 4 || bleedxint < 10 || bleedyint < 10 || bleedxint > 500 || bleedyint > 500) {
                     bleedxint = abs(Random() % 512);
                     bleedyint = abs(Random() % 512);
                 }
+            }
             bleedy = bleedxint;
             bleedx = bleedyint;
             bleedy /= realtexdetail;
             bleedx /= realtexdetail;
             direction = abs(Random() % 2) * 2 - 1;
         }
-
     }
-    if (bleeding > 2)
+    if (bleeding > 2) {
         bleeding = 2;
+    }
 }
 
 /* EFFECT
@@ -763,27 +858,32 @@ void Person::DoBloodBig(float howmuch, int which)
 {
     static int bleedxint, bleedyint, i, j;
     static XYZ bloodvel;
-    if (howmuch && id == 0)
+    if (howmuch && id == 0) {
         blooddimamount = 1;
+    }
 
-    if (!Tutorial::active || id == 0)
+    if (!Tutorial::active || id == 0) {
         if (aitype != playercontrolled && howmuch > 0) {
             // play pain sounds
             int whichsound = -1;
 
             if (creature == wolftype) {
                 int i = abs(Random() % 2);
-                if (i == 0)
+                if (i == 0) {
                     whichsound = snarlsound;
-                if (i == 1)
+                }
+                if (i == 1) {
                     whichsound = snarl2sound;
+                }
             }
             if (creature == rabbittype) {
                 int i = abs(Random() % 2);
-                if (i == 0)
+                if (i == 0) {
                     whichsound = rabbitpainsound;
-                if (i == 1 && howmuch >= 2)
+                }
+                if (i == 1 && howmuch >= 2) {
                     whichsound = rabbitpain1sound;
+                }
             }
 
             if (whichsound != -1) {
@@ -791,12 +891,13 @@ void Person::DoBloodBig(float howmuch, int which)
                 addEnvSound(coords);
             }
         }
+    }
 
     if (id == 0 && howmuch > 0) {
         Game::flash(.5, 0);
     }
 
-    if (bloodtoggle && decals && !Tutorial::active) {
+    if (bloodtoggle && decalstoggle && !Tutorial::active) {
         if (bleeding <= 0 && spurt) {
             spurt = 0;
             for (int i = 0; i < 3; i++) {
@@ -812,8 +913,8 @@ void Person::DoBloodBig(float howmuch, int which)
                     bloodvel.z = 10;
                     bloodvel = DoRotation(bloodvel, ((float)(Random() % 100)) / 4, yaw + ((float)(Random() % 100)) / 4, 0) * scale;
                     bloodvel += DoRotation(velocity, ((float)(Random() % 100)) / 4, ((float)(Random() % 100)) / 4, 0) * scale;
-                    Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .05, 1);
-                    Sprite::MakeSprite(bloodflamesprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .3, 1);
+                    Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
+                    Sprite::MakeSprite(bloodflamesprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .3, 1);
                 }
             }
         }
@@ -843,46 +944,75 @@ void Person::DoBloodBig(float howmuch, int which)
             offsetx = 20;
         }
 
-
         int startx = 512;
         int starty = 512;
         int endx = 0;
         int endy = 0;
         GLubyte color;
-        if (creature == rabbittype)
+        if (creature == rabbittype) {
             for (i = 0; i < 512; i++) {
                 for (j = 0; j < 512; j++) {
                     if (bloodText[i * 512 * 3 + j * 3 + 0] <= which + 4 && bloodText[i * 512 * 3 + j * 3 + 0] >= which - 4) {
-                        if (i < startx) startx = i;
-                        if (j < starty) starty = j;
-                        if (i > endx) endx = i;
-                        if (j > endy) endy = j;
+                        if (i < startx) {
+                            startx = i;
+                        }
+                        if (j < starty) {
+                            starty = j;
+                        }
+                        if (i > endx) {
+                            endx = i;
+                        }
+                        if (j > endy) {
+                            endy = j;
+                        }
                     }
                 }
             }
-        if (creature == wolftype)
+        }
+        if (creature == wolftype) {
             for (i = 0; i < 512; i++) {
                 for (j = 0; j < 512; j++) {
                     if (wolfbloodText[i * 512 * 3 + j * 3 + 0] <= which + 4 && wolfbloodText[i * 512 * 3 + j * 3 + 0] >= which - 4) {
-                        if (i < startx) startx = i;
-                        if (j < starty) starty = j;
-                        if (i > endx) endx = i;
-                        if (j > endy) endy = j;
+                        if (i < startx) {
+                            startx = i;
+                        }
+                        if (j < starty) {
+                            starty = j;
+                        }
+                        if (i > endx) {
+                            endx = i;
+                        }
+                        if (j > endy) {
+                            endy = j;
+                        }
                     }
                 }
             }
+        }
 
         startx += offsetx;
         endx += offsetx;
         starty += offsety;
         endy += offsety;
 
-        if (startx < 0) startx = 0;
-        if (starty < 0) starty = 0;
-        if (endx > 512 - 1) endx = 512 - 1;
-        if (endy > 512 - 1) endy = 512 - 1;
-        if (endx < startx) endx = startx;
-        if (endy < starty) endy = starty;
+        if (startx < 0) {
+            startx = 0;
+        }
+        if (starty < 0) {
+            starty = 0;
+        }
+        if (endx > 512 - 1) {
+            endx = 512 - 1;
+        }
+        if (endy > 512 - 1) {
+            endy = 512 - 1;
+        }
+        if (endx < startx) {
+            endx = startx;
+        }
+        if (endy < starty) {
+            endy = starty;
+        }
 
         startx /= realtexdetail;
         starty /= realtexdetail;
@@ -891,61 +1021,70 @@ void Person::DoBloodBig(float howmuch, int which)
 
         int texdetailint = realtexdetail;
         int where;
-        if (creature == rabbittype)
+        if (creature == rabbittype) {
             for (i = startx; i < endx; i++) {
                 for (j = starty; j < endy; j++) {
                     if (bloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] <= which + 4 && bloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] >= which - 4) {
                         color = Random() % 85 + 170;
                         where = i * skeleton.skinsize * 3 + j * 3;
-                        if (skeleton.skinText[where + 0] > color / 2)
+                        if (skeleton.skinText[where + 0] > color / 2) {
                             skeleton.skinText[where + 0] = color / 2;
+                        }
                         skeleton.skinText[where + 1] = 0;
                         skeleton.skinText[where + 2] = 0;
                     }
                 }
             }
-        if (creature == wolftype)
+        }
+        if (creature == wolftype) {
             for (i = startx; i < endx; i++) {
                 for (j = starty; j < endy; j++) {
                     if (wolfbloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] <= which + 4 && wolfbloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] >= which - 4) {
                         color = Random() % 85 + 170;
                         where = i * skeleton.skinsize * 3 + j * 3;
-                        if (skeleton.skinText[where + 0] > color / 2)
+                        if (skeleton.skinText[where + 0] > color / 2) {
                             skeleton.skinText[where + 0] = color / 2;
+                        }
                         skeleton.skinText[where + 1] = 0;
                         skeleton.skinText[where + 2] = 0;
                     }
                 }
             }
+        }
         skeleton.drawmodel.textureptr.bind();
         DoMipmaps();
 
         bleedxint = 0;
         bleedyint = 0;
-        if (creature == rabbittype)
+        if (creature == rabbittype) {
             while (bloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] > which + 4 || bloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] < which - 4 || bleedxint < 10 || bleedyint < 10 || bleedxint > 500 || bleedyint > 500) {
                 bleedxint = abs(Random() % 512);
                 bleedyint = abs(Random() % 512);
             }
-        if (creature == wolftype)
+        }
+        if (creature == wolftype) {
             while (wolfbloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] > which + 4 || wolfbloodText[bleedxint * 512 * 3 + bleedyint * 3 + 0] < which - 4 || bleedxint < 10 || bleedyint < 10 || bleedxint > 500 || bleedyint > 500) {
                 bleedxint = abs(Random() % 512);
                 bleedyint = abs(Random() % 512);
             }
+        }
         bleedy = bleedxint + offsetx;
         bleedx = bleedyint + offsety;
         bleedy /= realtexdetail;
         bleedx /= realtexdetail;
-        if (bleedx < 0)
+        if (bleedx < 0) {
             bleedx = 0;
-        if (bleedy < 0)
+        }
+        if (bleedy < 0) {
             bleedy = 0;
-        if (bleedx > skeleton.skinsize - 1)
+        }
+        if (bleedx > skeleton.skinsize - 1) {
             bleedx = skeleton.skinsize - 1;
-        if (bleedy > skeleton.skinsize - 1)
+        }
+        if (bleedy > skeleton.skinsize - 1) {
             bleedy = skeleton.skinsize - 1;
+        }
         direction = abs(Random() % 2) * 2 - 1;
-
     }
     bleeding = howmuch + (float)abs(Random() % 100) / 200 - .25;
     deathbleeding += bleeding;
@@ -955,12 +1094,14 @@ void Person::DoBloodBig(float howmuch, int which)
         if (abs(Random() % 2) == 0) {
             aitype = gethelptype;
             lastseentime = 12;
-        } else
+        } else {
             aitype = attacktypecutoff;
+        }
         ally = 0;
     }
-    if (bleeding > 2)
+    if (bleeding > 2) {
         bleeding = 2;
+    }
 }
 
 /* EFFECT
@@ -979,10 +1120,11 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
     float coordsx, coordsy;
     float total;
 
-    if (bloodtoggle && decals && !Tutorial::active) {
+    if (bloodtoggle && decalstoggle && !Tutorial::active) {
         where -= coords;
-        if (!skeleton.free)
+        if (!skeleton.free) {
             where = DoRotation(where, 0, -yaw, 0);
+        }
         //where=scale;
         startpoint = where;
         startpoint.y += 100;
@@ -995,9 +1137,9 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
         if (whichtri != -1) {
             // low level geometry math
             p0 = colpoint;
-            p1 = skeleton.drawmodel.vertex[skeleton.drawmodel.Triangles[whichtri].vertex[0]];
-            p2 = skeleton.drawmodel.vertex[skeleton.drawmodel.Triangles[whichtri].vertex[1]];
-            p3 = skeleton.drawmodel.vertex[skeleton.drawmodel.Triangles[whichtri].vertex[2]];
+            p1 = skeleton.drawmodel.getTriangleVertex(whichtri, 0);
+            p2 = skeleton.drawmodel.getTriangleVertex(whichtri, 1);
+            p3 = skeleton.drawmodel.getTriangleVertex(whichtri, 2);
 
             bary.x = distsq(&p0, &p1);
             bary.y = distsq(&p0, &p2);
@@ -1017,7 +1159,6 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
             bary.y /= total;
             bary.z /= total;
 
-
             gxx.x = skeleton.drawmodel.Triangles[whichtri].gx[0];
             gxx.y = skeleton.drawmodel.Triangles[whichtri].gx[1];
             gxx.z = skeleton.drawmodel.Triangles[whichtri].gx[2];
@@ -1042,8 +1183,8 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
                         bloodvel.z = 10;
                         bloodvel = DoRotation(bloodvel, ((float)(Random() % 100)) / 4, yaw + ((float)(Random() % 100)) / 4, 0) * scale;
                         bloodvel += DoRotation(velocity, ((float)(Random() % 100)) / 4, ((float)(Random() % 100)) / 4, 0) * scale;
-                        Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .05, 1);
-                        Sprite::MakeSprite(bloodflamesprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .3, 1);
+                        Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
+                        Sprite::MakeSprite(bloodflamesprite, DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .3, 1);
                     }
                 }
             }
@@ -1059,39 +1200,69 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
             int endx = 0;
             int endy = 0;
             GLubyte color;
-            if (creature == rabbittype)
+            if (creature == rabbittype) {
                 for (i = 0; i < 512; i++) {
                     for (j = 0; j < 512; j++) {
                         if (bloodText[i * 512 * 3 + j * 3 + 0] <= which + 4 && bloodText[i * 512 * 3 + j * 3 + 0] >= which - 4) {
-                            if (i < startx) startx = i;
-                            if (j < starty) starty = j;
-                            if (i > endx) endx = i;
-                            if (j > endy) endy = j;
+                            if (i < startx) {
+                                startx = i;
+                            }
+                            if (j < starty) {
+                                starty = j;
+                            }
+                            if (i > endx) {
+                                endx = i;
+                            }
+                            if (j > endy) {
+                                endy = j;
+                            }
                         }
                     }
                 }
-            if (creature == wolftype)
+            }
+            if (creature == wolftype) {
                 for (i = 0; i < 512; i++) {
                     for (j = 0; j < 512; j++) {
                         if (wolfbloodText[i * 512 * 3 + j * 3 + 0] <= which + 4 && wolfbloodText[i * 512 * 3 + j * 3 + 0] >= which - 4) {
-                            if (i < startx) startx = i;
-                            if (j < starty) starty = j;
-                            if (i > endx) endx = i;
-                            if (j > endy) endy = j;
+                            if (i < startx) {
+                                startx = i;
+                            }
+                            if (j < starty) {
+                                starty = j;
+                            }
+                            if (i > endx) {
+                                endx = i;
+                            }
+                            if (j > endy) {
+                                endy = j;
+                            }
                         }
                     }
                 }
+            }
             startx += offsetx;
             endx += offsetx;
             starty += offsety;
             endy += offsety;
 
-            if (startx < 0) startx = 0;
-            if (starty < 0) starty = 0;
-            if (endx > 512 - 1) endx = 512 - 1;
-            if (endy > 512 - 1) endy = 512 - 1;
-            if (endx < startx) endx = startx;
-            if (endy < starty) endy = starty;
+            if (startx < 0) {
+                startx = 0;
+            }
+            if (starty < 0) {
+                starty = 0;
+            }
+            if (endx > 512 - 1) {
+                endx = 512 - 1;
+            }
+            if (endy > 512 - 1) {
+                endy = 512 - 1;
+            }
+            if (endx < startx) {
+                endx = startx;
+            }
+            if (endy < starty) {
+                endy = starty;
+            }
 
             startx /= realtexdetail;
             starty /= realtexdetail;
@@ -1100,46 +1271,52 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
 
             int texdetailint = realtexdetail;
             int where;
-            if (creature == rabbittype)
+            if (creature == rabbittype) {
                 for (i = startx; i < endx; i++) {
                     for (j = starty; j < endy; j++) {
                         if (bloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] <= which + 4 && bloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] >= which - 4) {
                             color = Random() % 85 + 170;
                             where = i * skeleton.skinsize * 3 + j * 3;
-                            if (skeleton.skinText[where + 0] > color / 2)
+                            if (skeleton.skinText[where + 0] > color / 2) {
                                 skeleton.skinText[where + 0] = color / 2;
+                            }
                             skeleton.skinText[where + 1] = 0;
                             skeleton.skinText[where + 2] = 0;
                         } else if (bloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] <= 160 + 4 && bloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] >= 160 - 4) {
                             color = Random() % 85 + 170;
                             where = i * skeleton.skinsize * 3 + j * 3;
-                            if (skeleton.skinText[where + 0] > color / 2)
+                            if (skeleton.skinText[where + 0] > color / 2) {
                                 skeleton.skinText[where + 0] = color / 2;
+                            }
                             skeleton.skinText[where + 1] = 0;
                             skeleton.skinText[where + 2] = 0;
                         }
                     }
                 }
-            if (creature == wolftype)
+            }
+            if (creature == wolftype) {
                 for (i = startx; i < endx; i++) {
                     for (j = starty; j < endy; j++) {
                         if (wolfbloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] <= which + 4 && wolfbloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] >= which - 4) {
                             color = Random() % 85 + 170;
                             where = i * skeleton.skinsize * 3 + j * 3;
-                            if (skeleton.skinText[where + 0] > color / 2)
+                            if (skeleton.skinText[where + 0] > color / 2) {
                                 skeleton.skinText[where + 0] = color / 2;
+                            }
                             skeleton.skinText[where + 1] = 0;
                             skeleton.skinText[where + 2] = 0;
                         } else if (wolfbloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] <= 160 + 4 && wolfbloodText[(i * texdetailint - offsetx) * 512 * 3 + (j * texdetailint - offsety) * 3 + 0] >= 160 - 4) {
                             color = Random() % 85 + 170;
                             where = i * skeleton.skinsize * 3 + j * 3;
-                            if (skeleton.skinText[where + 0] > color / 2)
+                            if (skeleton.skinText[where + 0] > color / 2) {
                                 skeleton.skinText[where + 0] = color / 2;
+                            }
                             skeleton.skinText[where + 1] = 0;
                             skeleton.skinText[where + 2] = 0;
                         }
                     }
                 }
+            }
             skeleton.drawmodel.textureptr.bind();
             DoMipmaps();
 
@@ -1147,18 +1324,23 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
             bleedx = coordsx * 512;
             bleedy /= realtexdetail;
             bleedx /= realtexdetail;
-            if (bleedx < 0)
+            if (bleedx < 0) {
                 bleedx = 0;
-            if (bleedy < 0)
+            }
+            if (bleedy < 0) {
                 bleedy = 0;
-            if (bleedx > skeleton.skinsize - 1)
+            }
+            if (bleedx > skeleton.skinsize - 1) {
                 bleedx = skeleton.skinsize - 1;
-            if (bleedy > skeleton.skinsize - 1)
+            }
+            if (bleedy > skeleton.skinsize - 1) {
                 bleedy = skeleton.skinsize - 1;
+            }
             direction = abs(Random() % 2) * 2 - 1;
         }
-        if (whichtri == -1)
+        if (whichtri == -1) {
             return 0;
+        }
     }
     bleeding = howmuch + (float)abs(Random() % 100) / 200 - .25;
     deathbleeding += bleeding;
@@ -1168,35 +1350,29 @@ bool Person::DoBloodBigWhere(float howmuch, int which, XYZ where)
         if (abs(Random() % 2) == 0) {
             aitype = gethelptype;
             lastseentime = 12;
-        } else
+        } else {
             aitype = attacktypecutoff;
+        }
         ally = 0;
     }
-    if (bleeding > 2)
+    if (bleeding > 2) {
         bleeding = 2;
+    }
     return 1;
 }
 
-
-
 /* EFFECT
  * guessing this performs a reversal
  */
 void Person::Reverse()
 {
-    if (!((victim->aitype == playercontrolled
-            || hostiletime > 1
-            || staggerdelay <= 0)
-            && victim->animTarget != jumpupanim
-            && victim->animTarget != jumpdownanim
-            && (!Tutorial::active || cananger)
-            && hostile))
+    if (!((victim->aitype == playercontrolled || hostiletime > 1 || staggerdelay <= 0) && victim->animTarget != jumpupanim && victim->animTarget != jumpdownanim && (!Tutorial::active || cananger) && hostile)) {
         return;
+    }
 
-    if (normaldotproduct (victim->facing, victim->coords - coords) > 0
-            && (victim->id != 0 || difficulty >= 2)
-            && (creature != wolftype || victim->creature == wolftype))
+    if (normaldotproduct(victim->facing, victim->coords - coords) > 0 && (victim->id != 0 || difficulty >= 2) && (creature != wolftype || victim->creature == wolftype)) {
         return;
+    }
 
     if (animTarget == sweepanim) {
         animTarget = sweepreversedanim;
@@ -1226,14 +1402,16 @@ void Person::Reverse()
         if (victim->weaponactive != -1) {
             victim->throwtogglekeydown = 1;
             XYZ tempVelocity = victim->velocity * .2;
-            if (tempVelocity.x == 0)
+            if (tempVelocity.x == 0) {
                 tempVelocity.x = .1;
+            }
             weapons[victim->weaponids[0]].drop(tempVelocity, tempVelocity, false);
             victim->num_weapons--;
             if (victim->num_weapons) {
                 victim->weaponids[0] = victim->weaponids[victim->num_weapons];
-                if (victim->weaponstuck == victim->num_weapons)
+                if (victim->weaponstuck == victim->num_weapons) {
                     victim->weaponstuck = 0;
+                }
             }
 
             victim->weaponactive = -1;
@@ -1251,14 +1429,16 @@ void Person::Reverse()
         if (victim->weaponactive != -1) {
             victim->throwtogglekeydown = 1;
             XYZ tempVelocity = victim->velocity * .2;
-            if (tempVelocity.x == 0)
+            if (tempVelocity.x == 0) {
                 tempVelocity.x = .1;
+            }
             weapons[victim->weaponids[0]].drop(tempVelocity, tempVelocity, false);
             victim->num_weapons--;
             if (victim->num_weapons) {
                 victim->weaponids[0] = victim->weaponids[victim->num_weapons];
-                if (victim->weaponstuck == victim->num_weapons)
+                if (victim->weaponstuck == victim->num_weapons) {
                     victim->weaponstuck = 0;
+                }
             }
 
             victim->weaponactive = -1;
@@ -1275,14 +1455,16 @@ void Person::Reverse()
         if (victim->weaponactive != -1) {
             victim->throwtogglekeydown = 1;
             XYZ tempVelocity = victim->velocity * .2;
-            if (tempVelocity.x == 0)
+            if (tempVelocity.x == 0) {
                 tempVelocity.x = .1;
+            }
             weapons[victim->weaponids[0]].drop(tempVelocity, tempVelocity, false);
             victim->num_weapons--;
             if (victim->num_weapons) {
                 victim->weaponids[0] = victim->weaponids[victim->num_weapons];
-                if (victim->weaponstuck == victim->num_weapons)
+                if (victim->weaponstuck == victim->num_weapons) {
                     victim->weaponstuck = 0;
+                }
             }
 
             victim->weaponactive = -1;
@@ -1299,14 +1481,16 @@ void Person::Reverse()
         if (victim->weaponactive != -1) {
             victim->throwtogglekeydown = 1;
             XYZ tempVelocity = victim->velocity * .2;
-            if (tempVelocity.x == 0)
+            if (tempVelocity.x == 0) {
                 tempVelocity.x = .1;
+            }
             weapons[victim->weaponids[0]].drop(tempVelocity, tempVelocity, false);
             victim->num_weapons--;
             if (victim->num_weapons) {
                 victim->weaponids[0] = victim->weaponids[victim->num_weapons];
-                if (victim->weaponstuck == victim->num_weapons)
+                if (victim->weaponstuck == victim->num_weapons) {
                     victim->weaponstuck = 0;
+                }
             }
 
             victim->weaponactive = -1;
@@ -1360,10 +1544,12 @@ void Person::Reverse()
         if (abs(Random() % 20) == 0 || weapons[victim->weaponids[victim->weaponactive]].getType() == knife) {
             if (victim->weaponactive != -1) {
                 if (weapons[victim->weaponids[0]].getType() == staff || weapons[weaponids[0]].getType() == staff) {
-                    if (weapons[victim->weaponids[0]].getType() == staff)
+                    if (weapons[victim->weaponids[0]].getType() == staff) {
                         weapons[victim->weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
-                    if (weapons[weaponids[0]].getType() == staff)
+                    }
+                    if (weapons[weaponids[0]].getType() == staff) {
                         weapons[weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
+                    }
                     emit_sound_at(swordstaffsound, victim->coords);
                 } else {
                     emit_sound_at(metalhitsound, victim->coords);
@@ -1382,8 +1568,9 @@ void Person::Reverse()
             victim->num_weapons--;
             if (victim->num_weapons) {
                 victim->weaponids[0] = victim->weaponids[num_weapons];
-                if (victim->weaponstuck == victim->num_weapons)
+                if (victim->weaponstuck == victim->num_weapons) {
                     victim->weaponstuck = 0;
+                }
             }
             victim->weaponactive = -1;
             for (unsigned i = 0; i < Person::players.size(); i++) {
@@ -1394,10 +1581,12 @@ void Person::Reverse()
         if (abs(Random() % 20) == 0) {
             if (weaponactive != -1) {
                 if (weapons[victim->weaponids[0]].getType() == staff || weapons[weaponids[0]].getType() == staff) {
-                    if (weapons[victim->weaponids[0]].getType() == staff)
+                    if (weapons[victim->weaponids[0]].getType() == staff) {
                         weapons[victim->weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
-                    if (weapons[weaponids[0]].getType() == staff)
+                    }
+                    if (weapons[weaponids[0]].getType() == staff) {
                         weapons[weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
+                    }
 
                     emit_sound_at(swordstaffsound, coords);
                 } else {
@@ -1418,18 +1607,17 @@ void Person::Reverse()
             num_weapons--;
             if (num_weapons) {
                 weaponids[0] = weaponids[num_weapons];
-                if (weaponstuck == num_weapons)
+                if (weaponstuck == num_weapons) {
                     weaponstuck = 0;
+                }
             }
             weaponactive = -1;
             for (unsigned i = 0; i < Person::players.size(); i++) {
                 Person::players[i]->wentforweapon = 0;
             }
-
-
         }
     }
-    if (hasvictim)
+    if (hasvictim) {
         if (animTarget == knifeslashstartanim || animTarget == swordslashanim || animTarget == staffhitanim || animTarget == staffspinhitanim) {
             if ((animTarget != staffhitanim && animTarget != staffspinhitanim) || distsq(&coords, &victim->coords) > .2) {
                 victim->animTarget = dodgebackanim;
@@ -1441,8 +1629,9 @@ void Person::Reverse()
                 Normalise(&rotatetarget);
                 victim->targetyaw = -asin(0 - rotatetarget.x);
                 victim->targetyaw *= 360 / 6.28;
-                if (rotatetarget.z < 0)
+                if (rotatetarget.z < 0) {
                     victim->targetyaw = 180 - victim->targetyaw;
+                }
 
                 victim->targettilt2 = -asin(rotatetarget.y) * 360 / 6.28; //*-70;
 
@@ -1459,8 +1648,9 @@ void Person::Reverse()
                 Normalise(&rotatetarget);
                 victim->targetyaw = -asin(0 - rotatetarget.x);
                 victim->targetyaw *= 360 / 6.28;
-                if (rotatetarget.z < 0)
+                if (rotatetarget.z < 0) {
                     victim->targetyaw = 180 - victim->targetyaw;
+                }
 
                 victim->targettilt2 = -asin(rotatetarget.y) * 360 / 6.28; //*-70;
 
@@ -1469,6 +1659,7 @@ void Person::Reverse()
                 victim->lastattack = victim->animTarget;
             }
         }
+    }
 
     velocity = 0;
     victim->velocity = 0;
@@ -1483,8 +1674,9 @@ void Person::Reverse()
         }
     }
 
-    if (victim->id == 0 && Animation::animations[victim->animTarget].attack == reversal)
+    if (victim->id == 0 && Animation::animations[victim->animTarget].attack == reversal) {
         numreversals++;
+    }
 }
 
 /* EFFECT
@@ -1492,45 +1684,53 @@ void Person::Reverse()
  */
 void Person::DoDamage(float howmuch)
 {
-    // subtract health (temporary?)
-    if (!Tutorial::active)
-        damage += howmuch / power;
     // stats?
-    if (id != 0)
-        damagedealt += howmuch / power;
-    if (id == 0)
+    if (id == 0) {
         damagetaken += howmuch / power;
+    } else {
+        damagedealt += howmuch / power;
+    }
 
     // reset bonuses
-    if (id == 0 && (bonus == solidhit || bonus == twoxcombo || bonus == threexcombo || bonus == fourxcombo || bonus == megacombo))
+    if (id == 0 && (bonus == solidhit || bonus == twoxcombo || bonus == threexcombo || bonus == fourxcombo || bonus == megacombo)) {
         bonus = 0;
+    }
+
     // subtract health
-    if (!Tutorial::active)
+    if (!Tutorial::active) {
+        damage += howmuch / power;
         permanentdamage += howmuch / 2 / power;
-    if (!Tutorial::active)
         superpermanentdamage += howmuch / 4 / power;
+    }
     // visual effects
-    if (permanentdamage > damagetolerance / 2 && permanentdamage - howmuch < damagetolerance / 2 && Random() % 2)
+    if (permanentdamage > damagetolerance / 2 && permanentdamage - howmuch < damagetolerance / 2 && Random() % 2) {
         DoBlood(1, 255);
-    if ((permanentdamage > damagetolerance * .8 && Random() % 2 && !deathbleeding) || spurt)
+    }
+    if ((permanentdamage > damagetolerance * .8 && Random() % 2 && !deathbleeding) || spurt) {
         DoBlood(1, 255);
+    }
     spurt = 0;
-    if (id == 0)
+    if (id == 0) {
         camerashake += howmuch / 100;
-    if (id == 0 && ((howmuch > 50 && damage > damagetolerance / 2)))
-        blackout = damage / damagetolerance;
-    if (blackout > 1)
-        blackout = 1;
+        if ((howmuch > 50 && damage > damagetolerance / 2)) {
+            blackout = damage / damagetolerance;
+            if (blackout > 1) {
+                blackout = 1;
+            }
+        }
+    }
 
     // cancel attack?
-    if (aitype == passivetype && damage < damagetolerance && ((!Tutorial::active || cananger) && hostile))
+    if (aitype == passivetype && damage < damagetolerance && ((!Tutorial::active || cananger) && hostile)) {
         aitype = attacktypecutoff;
+    }
     if (!Tutorial::active && aitype != playercontrolled && damage < damagetolerance && damage > damagetolerance * 2 / 3 && creature == rabbittype) {
         if (abs(Random() % 2) == 0) {
             aitype = gethelptype;
             lastseentime = 12;
-        } else
+        } else {
             aitype = attacktypecutoff;
+        }
         ally = 0;
     }
 
@@ -1566,23 +1766,27 @@ void Person::DoDamage(float howmuch)
     }
 
     // play sounds
-    if (!Tutorial::active || id == 0)
+    if (!Tutorial::active || id == 0) {
         if (speechdelay <= 0 && !dead && aitype != playercontrolled) {
             int whichsound = -1;
 
             if (creature == wolftype) {
                 int i = abs(Random() % 2);
-                if (i == 0)
+                if (i == 0) {
                     whichsound = snarlsound;
-                if (i == 1)
+                }
+                if (i == 1) {
                     whichsound = snarl2sound;
+                }
             }
             if (creature == rabbittype) {
                 int i = abs(Random() % 2);
-                if (i == 0)
+                if (i == 0) {
                     whichsound = rabbitpainsound;
-                if (i == 1 && damage > damagetolerance)
+                }
+                if (i == 1 && damage > damagetolerance) {
                     whichsound = rabbitpain1sound;
+                }
             }
 
             if (whichsound != -1) {
@@ -1590,6 +1794,7 @@ void Person::DoDamage(float howmuch)
                 addEnvSound(coords);
             }
         }
+    }
     speechdelay = .3;
 }
 
@@ -1608,51 +1813,68 @@ void Person::DoHead()
         targetheadyaw = (float)((int)((0 - yaw - targetheadyaw + 180) * 100) % 36000) / 100;
         targetheadpitch = (float)((int)(targetheadpitch * 100) % 36000) / 100;
 
-        while (targetheadyaw > 180)targetheadyaw -= 360;
-        while (targetheadyaw < -180)targetheadyaw += 360;
+        while (targetheadyaw > 180) {
+            targetheadyaw -= 360;
+        }
+        while (targetheadyaw < -180) {
+            targetheadyaw += 360;
+        }
 
-        if (targetheadyaw > 160)
+        if (targetheadyaw > 160) {
             targetheadpitch = targetheadpitch * -1;
-        if (targetheadyaw < -160)
+        }
+        if (targetheadyaw < -160) {
             targetheadpitch = targetheadpitch * -1;
-        if (targetheadyaw > 160)
+        }
+        if (targetheadyaw > 160) {
             targetheadyaw = targetheadyaw - 180;
-        if (targetheadyaw < -160)
+        }
+        if (targetheadyaw < -160) {
             targetheadyaw = targetheadyaw + 180;
+        }
 
-        if (targetheadpitch > 120)
+        if (targetheadpitch > 120) {
             targetheadpitch = 120;
-        if (targetheadpitch < -120)
+        }
+        if (targetheadpitch < -120) {
             targetheadpitch = -120;
-        if (targetheadyaw > 120)
+        }
+        if (targetheadyaw > 120) {
             targetheadyaw = 120;
-        if (targetheadyaw < -120)
+        }
+        if (targetheadyaw < -120) {
             targetheadyaw = -120;
+        }
 
-        if (!isIdle())
+        if (!isIdle()) {
             targetheadpitch = 0;
+        }
         if (isIdle()) {
-            if (targetheadyaw > 80)
+            if (targetheadyaw > 80) {
                 targetheadyaw = 80;
-            if (targetheadyaw < -80)
+            }
+            if (targetheadyaw < -80) {
                 targetheadyaw = -80;
-            if (targetheadpitch > 50)
+            }
+            if (targetheadpitch > 50) {
                 targetheadpitch = 50;
-            if (targetheadpitch < -50)
+            }
+            if (targetheadpitch < -50) {
                 targetheadpitch = -50;
+            }
         }
 
-        if (abs(headyaw - targetheadyaw) < multiplier * lookspeed)
+        if (abs(headyaw - targetheadyaw) < multiplier * lookspeed) {
             headyaw = targetheadyaw;
-        else if (headyaw > targetheadyaw) {
+        else if (headyaw > targetheadyaw) {
             headyaw -= multiplier * lookspeed;
         } else if (headyaw < targetheadyaw) {
             headyaw += multiplier * lookspeed;
         }
 
-        if (abs(headpitch - targetheadpitch) < multiplier * lookspeed / 2)
+        if (abs(headpitch - targetheadpitch) < multiplier * lookspeed / 2) {
             headpitch = targetheadpitch;
-        else if (headpitch > targetheadpitch) {
+        else if (headpitch > targetheadpitch) {
             headpitch -= multiplier * lookspeed / 2;
         } else if (headpitch < targetheadpitch) {
             headpitch += multiplier * lookspeed / 2;
@@ -1694,13 +1916,15 @@ void Person::DoHead()
 void Person::RagDoll(bool checkcollision)
 {
     static XYZ change;
-    static int l, i;
+    static int i;
     static float speed;
     if (!skeleton.free) {
-        if (id == 0)
+        if (id == 0) {
             numfalls++;
-        if (id == 0 && isFlip())
+        }
+        if (id == 0 && isFlip()) {
             numflipfail++;
+        }
 
         escapednum = 0;
 
@@ -1718,20 +1942,38 @@ void Person::RagDoll(bool checkcollision)
         freefall = 1;
         skeleton.freefall = 1;
 
-        if (!isnormal(velocity.x)) velocity.x = 0;
-        if (!isnormal(velocity.y)) velocity.y = 0;
-        if (!isnormal(velocity.z)) velocity.z = 0;
-        if (!isnormal(yaw)) yaw = 0;
-        if (!isnormal(coords.x)) coords = 0;
-        if (!isnormal(tilt)) tilt = 0;
-        if (!isnormal(tilt2)) tilt2 = 0;
+        if (!isnormal(velocity.x)) {
+            velocity.x = 0;
+        }
+        if (!isnormal(velocity.y)) {
+            velocity.y = 0;
+        }
+        if (!isnormal(velocity.z)) {
+            velocity.z = 0;
+        }
+        if (!isnormal(yaw)) {
+            yaw = 0;
+        }
+        if (!isnormal(coords.x)) {
+            coords = 0;
+        }
+        if (!isnormal(tilt)) {
+            tilt = 0;
+        }
+        if (!isnormal(tilt2)) {
+            tilt2 = 0;
+        }
 
         for (unsigned i = 0; i < skeleton.joints.size(); i++) {
             skeleton.joints[i].delay = 0;
             skeleton.joints[i].locked = 0;
             skeleton.joints[i].position = DoRotation(DoRotation(DoRotation(skeleton.joints[i].position, 0, 0, tilt), tilt2, 0, 0), 0, yaw, 0);
-            if (!isnormal(skeleton.joints[i].position.x)) skeleton.joints[i].position = DoRotation(skeleton.joints[i].position, 0, yaw, 0);
-            if (!isnormal(skeleton.joints[i].position.x)) skeleton.joints[i].position = coords;
+            if (!isnormal(skeleton.joints[i].position.x)) {
+                skeleton.joints[i].position = DoRotation(skeleton.joints[i].position, 0, yaw, 0);
+            }
+            if (!isnormal(skeleton.joints[i].position.x)) {
+                skeleton.joints[i].position = coords;
+            }
             skeleton.joints[i].position.y += .1;
             skeleton.joints[i].oldposition = skeleton.joints[i].position;
             skeleton.joints[i].realoldposition = skeleton.joints[i].position * scale + coords;
@@ -1753,16 +1995,18 @@ void Person::RagDoll(bool checkcollision)
         if (currentFrame().speed > targetFrame().speed) {
             speed = currentFrame().speed * 2;
         }
-        if (transspeed)
+        if (transspeed) {
             speed = transspeed * 2;
+        }
 
         speed *= speedmult;
 
         for (unsigned i = 0; i < skeleton.joints.size(); i++) {
-            if ((Animation::animations[animCurrent].attack != reversed || animCurrent == swordslashreversedanim) && animCurrent != rabbitkickanim && !isLanding() && !wasLanding() && Animation::animations[animCurrent].height == Animation::animations[animTarget].height)
+            if ((Animation::animations[animCurrent].attack != reversed || animCurrent == swordslashreversedanim) && animCurrent != rabbitkickanim && !isLanding() && !wasLanding() && Animation::animations[animCurrent].height == Animation::animations[animTarget].height) {
                 skeleton.joints[i].velocity = velocity / scale + facing * 5 + DoRotation(DoRotation(DoRotation((targetFrame().joints[i].position - currentFrame().joints[i].position) * speed, 0, 0, tilt), tilt2, 0, 0), 0, yaw, 0);
-            else
+            } else {
                 skeleton.joints[i].velocity = velocity / scale + facing * 5;
+            }
             change.x = (float)(Random() % 100) / 100;
             change.y = (float)(Random() % 100) / 100;
             change.z = (float)(Random() % 100) / 100;
@@ -1794,16 +2038,15 @@ void Person::RagDoll(bool checkcollision)
 
             whichpatchx = coords.x / (terrain.size / subdivision * terrain.scale);
             whichpatchz = coords.z / (terrain.size / subdivision * terrain.scale);
-            if (terrain.patchobjectnum[whichpatchx][whichpatchz])
-                for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
-                    i = terrain.patchobjects[whichpatchx][whichpatchz][l];
-                    lowpoint = coords;
-                    lowpoint.y += 1;
-                    if (SphereCheck(&lowpoint, 3, &colpoint, &Object::objects[i]->position, &Object::objects[i]->yaw, &Object::objects[i]->model) != -1) {
-                        coords.x = lowpoint.x;
-                        coords.z = lowpoint.z;
-                    }
+            for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+                i = terrain.patchobjects[whichpatchx][whichpatchz][l];
+                lowpoint = coords;
+                lowpoint.y += 1;
+                if (SphereCheck(&lowpoint, 3, &colpoint, &Object::objects[i]->position, &Object::objects[i]->yaw, &Object::objects[i]->model) != -1) {
+                    coords.x = lowpoint.x;
+                    coords.z = lowpoint.z;
                 }
+            }
         }
 
         yaw = 0;
@@ -1823,8 +2066,9 @@ void Person::RagDoll(bool checkcollision)
                 num_weapons--;
                 if (num_weapons) {
                     weaponids[0] = weaponids[num_weapons];
-                    if (weaponstuck == num_weapons)
+                    if (weaponstuck == num_weapons) {
                         weaponstuck = 0;
+                    }
                 }
                 weaponactive = -1;
                 for (unsigned i = 0; i < Person::players.size(); i++) {
@@ -1840,8 +2084,6 @@ void Person::RagDoll(bool checkcollision)
     }
 }
 
-
-
 /* EFFECT
  */
 void Person::FootLand(bodypart whichfoot, float opacity)
@@ -1856,12 +2098,14 @@ void Person::FootLand(bodypart whichfoot, float opacity)
         if (opacity > 1) {
             footvel = 0;
             footpoint = DoRotation(jointPos(whichfoot), 0, yaw, 0) * scale + coords;
-            if (distsq(&footpoint, &viewer))
+            if (distsq(&footpoint, &viewer)) {
                 Sprite::MakeSprite(cloudsprite, footpoint, footvel, 1, 1, 1, .5, .2 * opacity);
+            }
         } else if (onterrain && terrain.getOpacity(coords.x, coords.z) < .2) {
             footvel = velocity / 5;
-            if (footvel.y < .8)
+            if (footvel.y < .8) {
                 footvel.y = .8;
+            }
             footpoint = DoRotation(jointPos(whichfoot), 0, yaw, 0) * scale + coords;
             footpoint.y = terrain.getHeight(footpoint.x, footpoint.z);
             terrainlight = terrain.getLighting(footpoint.x, footpoint.z);
@@ -1882,8 +2126,9 @@ void Person::FootLand(bodypart whichfoot, float opacity)
             }
         } else if (isLanding() || (animTarget == jumpupanim) || isLandhard()) {
             footvel = velocity / 5;
-            if (footvel.y < .8)
+            if (footvel.y < .8) {
                 footvel.y = .8;
+            }
             footpoint = DoRotation(jointPos(whichfoot), 0, yaw, 0) * scale + coords;
             if (distsq(&footpoint, &viewer) < viewdistance * viewdistance / 4) {
                 Sprite::MakeSprite(cloudsprite, footpoint, footvel * .6, 1, 1, 1, .5, .2 * opacity);
@@ -1907,7 +2152,7 @@ void Person::Puff(int whichlabel)
 /* EFFECT
  * I think I added this in an attempt to clean up code
  */
-void Person::setAnimation(int animation)
+void Person::setTargetAnimation(int animation)
 {
     animTarget = animation;
     frameTarget = 0;
@@ -1923,67 +2168,72 @@ void Person::DoAnimations()
     if (!skeleton.free) {
         static float oldtarget;
 
-        if (isIdle() && animCurrent != getIdle())
+        if (isIdle() && animCurrent != getIdle()) {
             normalsupdatedelay = 0;
+        }
 
         if (animTarget == tempanim || animCurrent == tempanim) {
             Animation::animations[tempanim] = tempanimation;
         }
         if (animTarget == jumpupanim || animTarget == jumpdownanim || isFlip()) {
             float gLoc[3];
-            float vel[3];
             gLoc[0] = coords.x;
             gLoc[1] = coords.y;
             gLoc[2] = coords.z;
-            vel[0] = velocity.x;
-            vel[1] = velocity.y;
-            vel[2] = velocity.z;
 
             if (id == 0) {
-                OPENAL_3D_SetAttributes(channels[whooshsound], gLoc, vel);
+                OPENAL_3D_SetAttributes(channels[whooshsound], gLoc);
                 OPENAL_SetVolume(channels[whooshsound], 64 * findLength(&velocity) / 5);
             }
-            if (((velocity.y < -15) || (crouchkeydown && velocity.y < -8)) && abs(velocity.y) * 4 > fast_sqrt(velocity.x * velocity.x * velocity.z * velocity.z))
+            if (((velocity.y < -15) || (crouchkeydown && velocity.y < -8)) && abs(velocity.y) * 4 > fast_sqrt(velocity.x * velocity.x * velocity.z * velocity.z)) {
                 landhard = 1;
-            if (!crouchkeydown && velocity.y >= -15)
+            }
+            if (!crouchkeydown && velocity.y >= -15) {
                 landhard = 0;
+            }
         }
-        if ((animCurrent == jumpupanim || animTarget == jumpdownanim)/*&&velocity.y<40*/ && !isFlip() && (!isLanding() && !isLandhard()) && ((crouchkeydown && !crouchtogglekeydown))) {
+        if ((animCurrent == jumpupanim || animTarget == jumpdownanim) /*&&velocity.y<40*/ && !isFlip() && (!isLanding() && !isLandhard()) && ((crouchkeydown && !crouchtogglekeydown))) {
             XYZ targfacing;
             targfacing = 0;
             targfacing.z = 1;
 
             targfacing = DoRotation(targfacing, 0, targetyaw, 0);
 
-            if (normaldotproduct(targfacing, velocity) >= -.3)
+            if (normaldotproduct(targfacing, velocity) >= -.3) {
                 animTarget = flipanim;
-            else
+            } else {
                 animTarget = backflipanim;
+            }
             crouchtogglekeydown = 1;
             frameTarget = 0;
             target = 0;
 
-            if (id == 0)
+            if (id == 0) {
                 numflipped++;
+            }
         }
 
-        if (Animation::animations[animTarget].attack != reversed)
+        if (Animation::animations[animTarget].attack != reversed) {
             feint = 0;
+        }
         if (!crouchkeydown || (isLanding() || isLandhard()) || (wasLanding() || wasLandhard())) {
             crouchtogglekeydown = 0;
-            if (aitype == playercontrolled)
+            if (aitype == playercontrolled) {
                 feint = 0;
+            }
         } else {
-            if (!crouchtogglekeydown && Animation::animations[animTarget].attack == reversed && aitype == playercontrolled && (escapednum < 2 || reversaltrain))
+            if (!crouchtogglekeydown && Animation::animations[animTarget].attack == reversed && aitype == playercontrolled && (escapednum < 2 || reversaltrain)) {
                 feint = 1;
-            if (!isFlip())
+            }
+            if (!isFlip()) {
                 crouchtogglekeydown = 1;
+            }
         }
 
-
         if (Animation::animations[animTarget].attack || animCurrent == getupfrombackanim || animCurrent == getupfromfrontanim) {
-            if (detail)
+            if (detail) {
                 normalsupdatedelay = 0;
+            }
         }
 
         if (target >= 1) {
@@ -1995,19 +2245,22 @@ void Person::DoAnimations()
             }
 
             if (animTarget == rabbittacklinganim && frameTarget == 1) {
-                if (victim->aitype == attacktypecutoff && victim->stunned <= 0 && victim->surprised <= 0 && victim->id != 0)
+                if (victim->aitype == attacktypecutoff && victim->stunned <= 0 && victim->surprised <= 0 && victim->id != 0) {
                     Reverse();
+                }
                 if (animTarget == rabbittacklinganim && frameTarget == 1 && !victim->isCrouch() && victim->animTarget != backhandspringanim) {
-                    if (normaldotproduct(victim->facing, facing) > 0)
+                    if (normaldotproduct(victim->facing, facing) > 0) {
                         victim->animTarget = rabbittackledbackanim;
-                    else
+                    } else {
                         victim->animTarget = rabbittackledfrontanim;
+                    }
                     victim->frameTarget = 2;
                     victim->target = 0;
                     victim->yaw = yaw;
                     victim->targetyaw = yaw;
-                    if (victim->aitype == gethelptype)
+                    if (victim->aitype == gethelptype) {
                         victim->DoDamage(victim->damagetolerance - victim->damage);
+                    }
                     //victim->DoDamage(30);
                     if (creature == wolftype) {
                         DoBloodBig(0, 255);
@@ -2022,10 +2275,11 @@ void Person::DoAnimations()
 
             if (!drawtogglekeydown && drawkeydown && (weaponactive == -1 || num_weapons == 1) && (targetFrame().label || (animTarget != animCurrent && animCurrent == rollanim)) && num_weapons > 0 && creature != wolftype) {
                 if (weapons[weaponids[0]].getType() == knife) {
-                    if (weaponactive == -1)
+                    if (weaponactive == -1) {
                         weaponactive = 0;
-                    else if (weaponactive == 0)
+                    } else if (weaponactive == 0) {
                         weaponactive = -1;
+                    }
 
                     if (weaponactive == -1) {
                         emit_sound_at(knifesheathesound, coords);
@@ -2037,47 +2291,54 @@ void Person::DoAnimations()
                 drawtogglekeydown = 1;
             }
             //Footstep sounds
-            if (!Tutorial::active || id == 0)
+            if (!Tutorial::active || id == 0) {
                 if ((targetFrame().label && (targetFrame().label < 5 || targetFrame().label == 8))) {
                     int whichsound = -1;
                     if (onterrain) {
                         if (terrain.getOpacity(coords.x, coords.z) < .2) {
-                            if (targetFrame().label == 1)
+                            if (targetFrame().label == 1) {
                                 whichsound = footstepsound;
-                            else
+                            } else {
                                 whichsound = footstepsound2;
-                            if (targetFrame().label == 1)
+                            }
+                            if (targetFrame().label == 1) {
                                 FootLand(leftfoot, 1);
-                            if (targetFrame().label == 2)
+                            }
+                            if (targetFrame().label == 2) {
                                 FootLand(rightfoot, 1);
+                            }
                             if (targetFrame().label == 3 && isRun()) {
                                 FootLand(rightfoot, 1);
                                 FootLand(leftfoot, 1);
                             }
-
                         }
                         if (terrain.getOpacity(coords.x, coords.z) >= .2) {
-                            if (targetFrame().label == 1)
+                            if (targetFrame().label == 1) {
                                 whichsound = footstepsound3;
-                            else
+                            } else {
                                 whichsound = footstepsound4;
+                            }
                         }
                     }
                     if (!onterrain) {
-                        if (targetFrame().label == 1)
+                        if (targetFrame().label == 1) {
                             whichsound = footstepsound3;
-                        else
+                        } else {
                             whichsound = footstepsound4;
+                        }
                     }
                     if (targetFrame().label == 4 && (weaponactive == -1 || (animTarget != knifeslashstartanim && animTarget != knifethrowanim && animTarget != crouchstabanim && animTarget != swordgroundstabanim && animTarget != knifefollowanim))) {
                         if (Animation::animations[animTarget].attack != neutral) {
                             unsigned r = abs(Random() % 3);
-                            if (r == 0)
+                            if (r == 0) {
                                 whichsound = lowwhooshsound;
-                            if (r == 1)
+                            }
+                            if (r == 1) {
                                 whichsound = midwhooshsound;
-                            if (r == 2)
+                            }
+                            if (r == 2) {
                                 whichsound = highwhooshsound;
+                            }
                         }
                         if (Animation::animations[animTarget].attack == neutral) {
                             whichsound = movewhooshsound;
@@ -2108,27 +2369,44 @@ void Person::DoAnimations()
                         }
                     }
                 }
+            }
 
             //Combat sounds
-            if (!Tutorial::active || id == 0)
-                if (speechdelay <= 0)
-                    if (animTarget != crouchstabanim && animTarget != swordgroundstabanim && animTarget != staffgroundsmashanim)
+            if (!Tutorial::active || id == 0) {
+                if (speechdelay <= 0) {
+                    if (animTarget != crouchstabanim && animTarget != swordgroundstabanim && animTarget != staffgroundsmashanim) {
                         if ((targetFrame().label && (targetFrame().label < 5 || targetFrame().label == 8))) {
                             int whichsound = -1;
                             if (targetFrame().label == 4 && aitype != playercontrolled) {
                                 if (Animation::animations[animTarget].attack != neutral) {
                                     unsigned r = abs(Random() % 4);
                                     if (creature == rabbittype) {
-                                        if (r == 0) whichsound = rabbitattacksound;
-                                        if (r == 1) whichsound = rabbitattack2sound;
-                                        if (r == 2) whichsound = rabbitattack3sound;
-                                        if (r == 3) whichsound = rabbitattack4sound;
+                                        if (r == 0) {
+                                            whichsound = rabbitattacksound;
+                                        }
+                                        if (r == 1) {
+                                            whichsound = rabbitattack2sound;
+                                        }
+                                        if (r == 2) {
+                                            whichsound = rabbitattack3sound;
+                                        }
+                                        if (r == 3) {
+                                            whichsound = rabbitattack4sound;
+                                        }
                                     }
                                     if (creature == wolftype) {
-                                        if (r == 0) whichsound = barksound;
-                                        if (r == 1) whichsound = bark2sound;
-                                        if (r == 2) whichsound = bark3sound;
-                                        if (r == 3) whichsound = barkgrowlsound;
+                                        if (r == 0) {
+                                            whichsound = barksound;
+                                        }
+                                        if (r == 1) {
+                                            whichsound = bark2sound;
+                                        }
+                                        if (r == 2) {
+                                            whichsound = bark3sound;
+                                        }
+                                        if (r == 3) {
+                                            whichsound = barkgrowlsound;
+                                        }
                                     }
                                     speechdelay = .3;
                                 }
@@ -2138,8 +2416,9 @@ void Person::DoAnimations()
                                 emit_sound_at(whichsound, coords);
                             }
                         }
-
-
+                    }
+                }
+            }
 
             if ((!wasLanding() && !wasLandhard()) && animCurrent != getIdle() && (isLanding() || isLandhard())) {
                 FootLand(leftfoot, 1);
@@ -2154,7 +2433,7 @@ void Person::DoAnimations()
 
             if (animTarget == removeknifeanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                 for (unsigned i = 0; i < weapons.size(); i++) {
-                    if (weapons[i].owner == -1)
+                    if (weapons[i].owner == -1) {
                         if (distsqflat(&coords, &weapons[i].position) < 4 && weaponactive == -1) {
                             if (distsq(&coords, &weapons[i].position) >= 1) {
                                 if (weapons[i].getType() != staff) {
@@ -2164,27 +2443,33 @@ void Person::DoAnimations()
                                 takeWeapon(i);
                             }
                         }
+                    }
                 }
             }
 
             if (animTarget == crouchremoveknifeanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                 for (unsigned i = 0; i < weapons.size(); i++) {
                     bool willwork = true;
-                    if (weapons[i].owner != -1)
-                        if (Person::players[weapons[i].owner]->weaponstuck != -1)
-                            if (Person::players[weapons[i].owner]->weaponids[Person::players[weapons[i].owner]->weaponstuck] == int(i))
-                                if (Person::players[weapons[i].owner]->num_weapons > 1)
+                    if (weapons[i].owner != -1) {
+                        if (Person::players[weapons[i].owner]->weaponstuck != -1) {
+                            if (Person::players[weapons[i].owner]->weaponids[Person::players[weapons[i].owner]->weaponstuck] == int(i)) {
+                                if (Person::players[weapons[i].owner]->num_weapons > 1) {
                                     willwork = 0;
-                    if ((weapons[i].owner == -1) || (hasvictim && (weapons[i].owner == int(victim->id)) && victim->skeleton.free))
+                                }
+                            }
+                        }
+                    }
+                    if ((weapons[i].owner == -1) || (hasvictim && (weapons[i].owner == int(victim->id)) && victim->skeleton.free)) {
                         if (willwork && distsqflat(&coords, &weapons[i].position) < 3 && weaponactive == -1) {
                             if (distsq(&coords, &weapons[i].position) < 1 || hasvictim) {
                                 bool fleshstuck = false;
-                                if (weapons[i].owner != -1)
+                                if (weapons[i].owner != -1) {
                                     if (victim->weaponstuck != -1) {
                                         if (victim->weaponids[victim->weaponstuck] == int(i)) {
                                             fleshstuck = true;
                                         }
                                     }
+                                }
                                 if (fleshstuck) {
                                     emit_sound_at(fleshstabremovesound, coords, 128.);
                                 } else {
@@ -2194,10 +2479,11 @@ void Person::DoAnimations()
                                 }
                                 if (weapons[i].owner != -1) {
                                     victim = Person::players[weapons[i].owner];
-                                    if (victim->num_weapons == 1)
+                                    if (victim->num_weapons == 1) {
                                         victim->num_weapons = 0;
-                                    else
+                                    } else {
                                         victim->num_weapons = 1;
+                                    }
 
                                     //victim->weaponactive=-1;
                                     victim->skeleton.longdead = 0;
@@ -2218,18 +2504,21 @@ void Person::DoAnimations()
                                     footpoint = weapons[i].position;
                                     if (victim->weaponstuck != -1) {
                                         if (victim->weaponids[victim->weaponstuck] == int(i)) {
-                                            if (bloodtoggle)
+                                            if (bloodtoggle) {
                                                 Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .8, .3);
+                                            }
                                             weapons[i].bloody = 2;
                                             weapons[i].blooddrip = 5;
                                             victim->weaponstuck = -1;
                                         }
                                     }
                                     if (victim->num_weapons > 0) {
-                                        if (victim->weaponstuck != 0 && victim->weaponstuck != -1)
+                                        if (victim->weaponstuck != 0 && victim->weaponstuck != -1) {
                                             victim->weaponstuck = 0;
-                                        if (victim->weaponids[0] == int(i))
+                                        }
+                                        if (victim->weaponids[0] == int(i)) {
                                             victim->weaponids[0] = victim->weaponids[victim->num_weapons];
+                                        }
                                     }
 
                                     victim->jointVel(abdomen) += relative * 6;
@@ -2240,13 +2529,14 @@ void Person::DoAnimations()
                                 takeWeapon(i);
                             }
                         }
+                    }
                 }
             }
 
             if (animCurrent == drawleftanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
-                if (weaponactive == -1)
+                if (weaponactive == -1) {
                     weaponactive = 0;
-                else if (weaponactive == 0) {
+                else if (weaponactive == 0) {
                     weaponactive = -1;
                     if (num_weapons == 2) {
                         int buffer;
@@ -2263,30 +2553,36 @@ void Person::DoAnimations()
                 }
             }
 
-
             if ((animCurrent == walljumprightkickanim && animTarget == walljumprightkickanim) || (animCurrent == walljumpleftkickanim && animTarget == walljumpleftkickanim)) {
                 XYZ rotatetarget = DoRotation(skeleton.forward, 0, yaw, 0);
                 Normalise(&rotatetarget);
                 targetyaw = -asin(0 - rotatetarget.x);
                 targetyaw *= 360 / 6.28;
-                if (rotatetarget.z < 0)
+                if (rotatetarget.z < 0) {
                     targetyaw = 180 - targetyaw;
+                }
 
-                if (animTarget == walljumprightkickanim)
+                if (animTarget == walljumprightkickanim) {
                     targetyaw += 40;
-                if (animTarget == walljumpleftkickanim)
+                }
+                if (animTarget == walljumpleftkickanim) {
                     targetyaw -= 40;
+                }
             }
 
             bool dojumpattack;
             dojumpattack = 0;
-            if ((animTarget == rabbitrunninganim || animTarget == wolfrunninganim) && frameTarget == 3 && (jumpkeydown || attackkeydown || id != 0))
+            if ((animTarget == rabbitrunninganim || animTarget == wolfrunninganim) && frameTarget == 3 && (jumpkeydown || attackkeydown || id != 0)) {
                 dojumpattack = 1;
-            if (hasvictim)
-                if (distsq(&victim->coords, &/*Person::players[i]->*/coords) < 5 && victim->aitype == gethelptype && (attackkeydown) && !victim->skeleton.free && victim->isRun() && victim->runninghowlong >= 1)
+            }
+            if (hasvictim) {
+                if (distsq(&victim->coords, &/*Person::players[i]->*/ coords) < 5 && victim->aitype == gethelptype && (attackkeydown) && !victim->skeleton.free && victim->isRun() && victim->runninghowlong >= 1) {
                     dojumpattack = 1;
-            if (!hostile)
+                }
+            }
+            if (!hostile) {
                 dojumpattack = 0;
+            }
             if (dojumpattack) {
                 if ((animTarget == rabbitrunninganim || animTarget == wolfrunninganim) && id == 0) {
                     animTarget = rabbittackleanim;
@@ -2303,13 +2599,14 @@ void Person::DoAnimations()
                 Normalise(&targetloc);
                 targetloc += coords;
                 for (unsigned i = 0; i < Person::players.size(); i++) {
-                    if (i != id)
+                    if (i != id) {
                         if (distsq(&targetloc, &Person::players[i]->coords) < closestdist || closestdist == 0) {
                             closestdist = distsq(&targetloc, &Person::players[i]->coords);
                             closestid = i;
                         }
+                    }
                 }
-                if (closestid != -1)
+                if (closestid != -1) {
                     if (closestdist < 5 && !Person::players[closestid]->dead && Animation::animations[Person::players[closestid]->animTarget].height != lowheight && Person::players[closestid]->animTarget != backhandspringanim) {
                         hasvictim = 1;
                         victim = Person::players[closestid];
@@ -2324,19 +2621,22 @@ void Person::DoAnimations()
                             Normalise(&rotatetarget);
                             targetyaw = -asin(0 - rotatetarget.x);
                             targetyaw *= 360 / 6.28;
-                            if (rotatetarget.z < 0)
+                            if (rotatetarget.z < 0) {
                                 targetyaw = 180 - targetyaw;
+                            }
                         }
                         if (animTarget != rabbitrunninganim) {
                             emit_sound_at(jumpsound, coords, 128.);
                         }
                     }
+                }
             }
 
             //Move impacts
             float damagemult = 1 * power;
-            if (creature == wolftype)
+            if (creature == wolftype) {
                 damagemult = 2.5 * power;
+            }
             if (hasvictim) {
                 damagemult /= victim->damagetolerance / 200;
             }
@@ -2344,13 +2644,15 @@ void Person::DoAnimations()
                 if (animTarget == spinkickanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && Animation::animations[victim->animTarget].height != lowheight) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (Random() % 2 || creature == wolftype) {
                             victim->spurt = 1;
                             DoBlood(.2, 250);
-                            if (creature == wolftype)
+                            if (creature == wolftype) {
                                 DoBloodBig(0, 250);
+                            }
                         }
                         if (!Tutorial::active) {
                             emit_sound_at(heavyimpactsound, victim->coords, 128.);
@@ -2380,12 +2682,14 @@ void Person::DoAnimations()
                 if (animTarget == wolfslapanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && Animation::animations[victim->animTarget].height != lowheight) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (Random() % 2 || creature == wolftype) {
                             victim->spurt = 1;
-                            if (creature == wolftype)
+                            if (creature == wolftype) {
                                 DoBloodBig(0, 235);
+                            }
                         }
                         emit_sound_at(whooshhitsound, victim->coords);
                         if (creature == wolftype) {
@@ -2413,8 +2717,9 @@ void Person::DoAnimations()
                 if (animTarget == walljumprightkickanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && Animation::animations[victim->animTarget].height != lowheight) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         victim->spurt = 1;
                         DoBlood(.2, 250);
                         if (!Tutorial::active) {
@@ -2438,18 +2743,20 @@ void Person::DoAnimations()
                         victim->Puff(head);
                         victim->DoDamage(damagemult * 150 / victim->protectionhead);
 
-                        if (victim->damage > victim->damagetolerance)
+                        if (victim->damage > victim->damagetolerance) {
                             award_bonus(id, style);
-                        else
+                        } else {
                             SolidHitBonus(id);
+                        }
                     }
                 }
 
                 if (animTarget == walljumpleftkickanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && Animation::animations[victim->animTarget].height != lowheight) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         victim->spurt = 1;
                         DoBlood(.2, 250);
                         if (!Tutorial::active) {
@@ -2473,18 +2780,20 @@ void Person::DoAnimations()
                         victim->Puff(head);
                         victim->DoDamage(damagemult * 150 / victim->protectionhead);
 
-                        if (victim->damage > victim->damagetolerance)
+                        if (victim->damage > victim->damagetolerance) {
                             award_bonus(id, style);
-                        else
+                        } else {
                             SolidHitBonus(id);
+                        }
                     }
                 }
 
                 if (animTarget == blockhighleftstrikeanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && Animation::animations[victim->animTarget].height != lowheight) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (Random() % 2) {
                             victim->spurt = 1;
                             DoBlood(.2, 235);
@@ -2507,8 +2816,9 @@ void Person::DoAnimations()
                 if (animTarget == killanim && Animation::animations[animTarget].frames[frameCurrent].label == 8) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && victim->dead) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .2;
+                        }
                         emit_sound_at(whooshhitsound, victim->coords, 128.);
 
                         victim->skeleton.longdead = 0;
@@ -2541,8 +2851,9 @@ void Person::DoAnimations()
                 if (animTarget == killanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 9 && victim->dead) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (!Tutorial::active) {
                             emit_sound_at(heavyimpactsound, coords, 128.);
                         }
@@ -2566,8 +2877,9 @@ void Person::DoAnimations()
                 if (animTarget == dropkickanim && Animation::animations[animTarget].frames[frameCurrent].label == 7) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 9 && victim->skeleton.free) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (!Tutorial::active) {
                             emit_sound_at(thudsound, coords);
                         }
@@ -2590,25 +2902,27 @@ void Person::DoAnimations()
                         for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
                             victim->skeleton.joints[i].velocity += relative * damagemult * 20;
                         }
-                        if (!victim->dead)
+                        if (!victim->dead) {
                             SolidHitBonus(id);
+                        }
 
                         victim->Puff(abdomen);
                         victim->DoDamage(damagemult * 20 / victim->protectionhigh);
                         victim->jointVel(abdomen) += relative * damagemult * 200;
                         staggerdelay = .5;
-                        if (!victim->dead)
+                        if (!victim->dead) {
                             staggerdelay = 1.2;
-
-
+                        }
                     }
                 }
 
                 if ((animTarget == crouchstabanim || animTarget == swordgroundstabanim) && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
 
-                    if (hasvictim)
-                        if (!victim->skeleton.free)
+                    if (hasvictim) {
+                        if (!victim->skeleton.free) {
                             hasvictim = 0;
+                        }
+                    }
 
                     if (!hasvictim) {
                         terrain.MakeDecal(blooddecalfast, (weapons[weaponids[weaponactive]].tippoint * .8 + weapons[weaponids[weaponactive]].position * .2), .08, .6, Random() % 360);
@@ -2624,8 +2938,9 @@ void Person::DoAnimations()
                             if (weapons[weaponids[weaponactive]].getType() == knife) {
                                 where = (weapons[weaponids[weaponactive]].tippoint * .6 + weapons[weaponids[weaponactive]].position * .4);
                                 where -= victim->coords;
-                                if (!victim->skeleton.free)
+                                if (!victim->skeleton.free) {
                                     where = DoRotation(where, 0, -victim->yaw, 0);
+                                }
                                 //where=scale;
                                 startpoint = where;
                                 startpoint.y += 100;
@@ -2635,25 +2950,29 @@ void Person::DoAnimations()
                             if (weapons[weaponids[weaponactive]].getType() == sword) {
                                 where = weapons[weaponids[weaponactive]].position;
                                 where -= victim->coords;
-                                if (!victim->skeleton.free)
+                                if (!victim->skeleton.free) {
                                     where = DoRotation(where, 0, -victim->yaw, 0);
+                                }
                                 startpoint = where;
                                 where = weapons[weaponids[weaponactive]].tippoint;
                                 where -= victim->coords;
-                                if (!victim->skeleton.free)
+                                if (!victim->skeleton.free) {
                                     where = DoRotation(where, 0, -victim->yaw, 0);
+                                }
                                 endpoint = where;
                             }
                             if (weapons[weaponids[weaponactive]].getType() == staff) {
                                 where = weapons[weaponids[weaponactive]].position;
                                 where -= victim->coords;
-                                if (!victim->skeleton.free)
+                                if (!victim->skeleton.free) {
                                     where = DoRotation(where, 0, -victim->yaw, 0);
+                                }
                                 startpoint = where;
                                 where = weapons[weaponids[weaponactive]].tippoint;
                                 where -= victim->coords;
-                                if (!victim->skeleton.free)
+                                if (!victim->skeleton.free) {
                                     where = DoRotation(where, 0, -victim->yaw, 0);
+                                }
                                 endpoint = where;
                             }
                             movepoint = 0;
@@ -2663,11 +2982,13 @@ void Person::DoAnimations()
                             if (whichtri != -1) {
                                 if (victim->dead != 2) {
                                     victim->DoDamage(abs((victim->damagetolerance - victim->permanentdamage) * 2));
-                                    if (!victim->dead)
+                                    if (!victim->dead) {
                                         award_bonus(id, FinishedBonus);
+                                    }
                                 }
-                                if (bloodtoggle)
+                                if (bloodtoggle) {
                                     weapons[weaponids[weaponactive]].bloody = 2;
+                                }
 
                                 victim->skeleton.longdead = 0;
                                 victim->skeleton.free = 1;
@@ -2679,7 +3000,6 @@ void Person::DoAnimations()
                                     //victim->skeleton.joints[i].velocity=0;
                                 }
                                 emit_sound_at(fleshstabsound, coords, 128);
-
                             }
                             if (whichtri != -1 || weapons[weaponids[weaponactive]].bloody) {
                                 weapons[weaponids[weaponactive]].blooddrip += 5;
@@ -2713,13 +3033,15 @@ void Person::DoAnimations()
 
                             where = weapons[weaponids[weaponactive]].position;
                             where -= victim->coords;
-                            if (!victim->skeleton.free)
+                            if (!victim->skeleton.free) {
                                 where = DoRotation(where, 0, -victim->yaw, 0);
+                            }
                             startpoint = where;
                             where = weapons[weaponids[weaponactive]].tippoint;
                             where -= victim->coords;
-                            if (!victim->skeleton.free)
+                            if (!victim->skeleton.free) {
                                 where = DoRotation(where, 0, -victim->yaw, 0);
+                            }
                             endpoint = where;
 
                             movepoint = 0;
@@ -2738,13 +3060,15 @@ void Person::DoAnimations()
 
                             where = weapons[weaponids[weaponactive]].position;
                             where -= victim->coords;
-                            if (!victim->skeleton.free)
+                            if (!victim->skeleton.free) {
                                 where = DoRotation(where, 0, -victim->yaw, 0);
+                            }
                             startpoint = where;
                             where = weapons[weaponids[weaponactive]].tippoint;
                             where -= victim->coords;
-                            if (!victim->skeleton.free)
+                            if (!victim->skeleton.free) {
                                 where = DoRotation(where, 0, -victim->yaw, 0);
+                            }
                             endpoint = where;
 
                             movepoint = 0;
@@ -2774,8 +3098,9 @@ void Person::DoAnimations()
                                 relative.y = 10;
                                 Normalise(&relative);
                                 //victim->Puff(abdomen);
-                                if (bloodtoggle)
+                                if (bloodtoggle) {
                                     Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .8, .3);
+                                }
 
                                 if (victim->bloodloss < victim->damagetolerance) {
                                     victim->bloodloss += 1000;
@@ -2795,8 +3120,9 @@ void Person::DoAnimations()
                 if (animTarget == upunchanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (Random() % 2) {
                             victim->spurt = 1;
                             DoBlood(.2, 235);
@@ -2829,12 +3155,12 @@ void Person::DoAnimations()
                     }
                 }
 
-
                 if (animTarget == winduppunchanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 2) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         if (victim->damage <= victim->damagetolerance - 60 && normaldotproduct(victim->facing, victim->coords - coords) < (scale * 5) * (scale * 5) * 0 && Animation::animations[victim->animTarget].height != lowheight) {
                             if (!Tutorial::active) {
                                 emit_sound_at(thudsound, victim->coords);
@@ -2849,8 +3175,9 @@ void Person::DoAnimations()
                             }
                         }
 
-                        if (victim->damage > victim->damagetolerance - 60 || normaldotproduct(victim->facing, victim->coords - coords) > 0 || Animation::animations[victim->animTarget].height == lowheight)
+                        if (victim->damage > victim->damagetolerance - 60 || normaldotproduct(victim->facing, victim->coords - coords) > 0 || Animation::animations[victim->animTarget].height == lowheight) {
                             victim->RagDoll(0);
+                        }
                         XYZ relative;
                         relative = victim->coords - coords;
                         relative.y = 0;
@@ -2877,8 +3204,9 @@ void Person::DoAnimations()
 
                 if (animTarget == blockhighleftanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 4) {
-                        if (victim->id == 0)
+                        if (victim->id == 0) {
                             camerashake += .4;
+                        }
                         emit_sound_at(landsound2, victim->coords);
 
                         Puff(righthand);
@@ -2887,15 +3215,18 @@ void Person::DoAnimations()
 
                 if (animTarget == swordslashparryanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 4) {
-                        if (victim->id == 0)
+                        if (victim->id == 0) {
                             camerashake += .4;
+                        }
 
                         if (weaponactive != -1) {
                             if (weapons[victim->weaponids[0]].getType() == staff || weapons[weaponids[0]].getType() == staff) {
-                                if (weapons[victim->weaponids[0]].getType() == staff)
+                                if (weapons[victim->weaponids[0]].getType() == staff) {
                                     weapons[victim->weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
-                                if (weapons[weaponids[0]].getType() == staff)
+                                }
+                                if (weapons[weaponids[0]].getType() == staff) {
                                     weapons[weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
+                                }
 
                                 emit_sound_at(swordstaffsound, victim->coords);
                             } else {
@@ -2923,11 +3254,12 @@ void Person::DoAnimations()
                 }
 
                 if (animTarget == knifeslashstartanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
-                    if (hasvictim)
-                        if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 4.5 &&/*Animation::animations[victim->animTarget].height!=lowheight&&*/victim->animTarget != dodgebackanim && victim->animTarget != rollanim) {
+                    if (hasvictim) {
+                        if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 4.5 && /*Animation::animations[victim->animTarget].height!=lowheight&&*/ victim->animTarget != dodgebackanim && victim->animTarget != rollanim) {
                             escapednum = 0;
-                            if (!Tutorial::active)
+                            if (!Tutorial::active) {
                                 victim->DoBloodBig(1.5 / victim->armorhigh, 225);
+                            }
 
                             award_bonus(id, Slicebonus);
                             if (!Tutorial::active) {
@@ -2944,14 +3276,16 @@ void Person::DoAnimations()
                             }
                             victim->lowreversaldelay = 0;
                             victim->highreversaldelay = 0;
-                            if (aitype != playercontrolled)
+                            if (aitype != playercontrolled) {
                                 weaponmissdelay = .6;
+                            }
 
-                            if (!Tutorial::active)
-                                if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody)
+                            if (!Tutorial::active) {
+                                if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody) {
                                     weapons[weaponids[weaponactive]].bloody = 1;
-                            if (!Tutorial::active)
+                                }
                                 weapons[weaponids[weaponactive]].blooddrip += 3;
+                            }
 
                             XYZ footvel, footpoint;
                             footvel = 0;
@@ -2960,21 +3294,21 @@ void Person::DoAnimations()
                             } else {
                                 footpoint = DoRotation((victim->jointPos(abdomen) + victim->jointPos(neck)) / 2, 0, victim->yaw, 0) * victim->scale + victim->coords;
                             }
-                            if (!Tutorial::active) {
-                                if (bloodtoggle)
+                            if (Tutorial::active) {
+                                Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 1, 1, .6, .3);
+                            } else {
+                                if (bloodtoggle) {
                                     Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .6, .3);
+                                }
                                 footvel = DoRotation(facing, 0, 90, 0) * .8;
-                                //footvel.y-=.3;
                                 Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                                 Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 3, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                                 Sprite::MakeSprite(bloodflamesprite, footpoint, footvel * 5, 1, 1, 1, .2, 1);
                                 Sprite::MakeSprite(bloodflamesprite, footpoint, footvel * 2, 1, 1, 1, .2, 1);
                             }
-                            if (Tutorial::active) {
-                                Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 1, 1, .6, .3);
-                            }
                             victim->DoDamage(damagemult * 0);
                         }
+                    }
                 }
                 if (animTarget == swordslashanim && Animation::animations[animTarget].frames[frameCurrent].label == 5 && victim->animTarget != rollanim) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 6.5 && victim->animTarget != dodgebackanim) {
@@ -2982,30 +3316,25 @@ void Person::DoAnimations()
                             award_bonus(id, Slashbonus);
                             escapednum = 0;
                             if (!Tutorial::active) {
-                                if (normaldotproduct(victim->facing, victim->coords - coords) < 0)
+                                if (normaldotproduct(victim->facing, victim->coords - coords) < 0) {
                                     victim->DoBloodBig(2 / victim->armorhigh, 190);
-                                else
+                                } else {
                                     victim->DoBloodBig(2 / victim->armorhigh, 185);
+                                }
                                 victim->deathbleeding = 1;
                                 emit_sound_at(swordslicesound, victim->coords);
-                            }
-                            //victim->jointVel(abdomen)+=relative*damagemult*200;
-                            if (!Tutorial::active) {
                                 victim->frameTarget = 0;
                                 victim->animTarget = staggerbackhardanim;
                                 victim->targetyaw = targetyaw + 180;
                                 victim->target = 0;
-                            }
-
-                            if (!Tutorial::active) {
-                                if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody)
+                                if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody) {
                                     weapons[weaponids[weaponactive]].bloody = 1;
+                                }
                                 weapons[weaponids[weaponactive]].blooddrip += 3;
 
                                 float bloodlossamount;
                                 bloodlossamount = 200 + abs((float)(Random() % 40)) - 20;
                                 victim->bloodloss += bloodlossamount / victim->armorhigh;
-                                //victim->bloodloss+=100*(6.5-distsq(&coords,&victim->coords));
                                 victim->DoDamage(damagemult * 0);
 
                                 XYZ footvel, footpoint;
@@ -3015,8 +3344,9 @@ void Person::DoAnimations()
                                 } else {
                                     footpoint = DoRotation((victim->jointPos(abdomen) + victim->jointPos(neck)) / 2, 0, victim->yaw, 0) * victim->scale + victim->coords;
                                 }
-                                if (bloodtoggle)
+                                if (bloodtoggle) {
                                     Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .9, .3);
+                                }
                                 footvel = DoRotation(facing, 0, 90, 0) * .8;
                                 footvel.y -= .3;
                                 Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
@@ -3027,10 +3357,12 @@ void Person::DoAnimations()
                         } else {
                             if (victim->weaponactive != -1) {
                                 if (weapons[victim->weaponids[0]].getType() == staff || weapons[weaponids[0]].getType() == staff) {
-                                    if (weapons[victim->weaponids[0]].getType() == staff)
+                                    if (weapons[victim->weaponids[0]].getType() == staff) {
                                         weapons[victim->weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
-                                    if (weapons[weaponids[0]].getType() == staff)
+                                    }
+                                    if (weapons[weaponids[0]].getType() == staff) {
                                         weapons[weaponids[0]].damage += .2 + float(abs(Random() % 100) - 50) / 250;
+                                    }
 
                                     emit_sound_at(swordstaffsound, victim->coords);
                                 } else {
@@ -3038,7 +3370,6 @@ void Person::DoAnimations()
                                 }
                             }
 
-
                             XYZ aim;
                             victim->Puff(righthand);
                             victim->target = 0;
@@ -3052,14 +3383,14 @@ void Person::DoAnimations()
                             victim->num_weapons--;
                             if (victim->num_weapons) {
                                 victim->weaponids[0] = victim->weaponids[num_weapons];
-                                if (victim->weaponstuck == victim->num_weapons)
+                                if (victim->weaponstuck == victim->num_weapons) {
                                     victim->weaponstuck = 0;
+                                }
                             }
                             victim->weaponactive = -1;
                             for (unsigned i = 0; i < Person::players.size(); i++) {
                                 Person::players[i]->wentforweapon = 0;
                             }
-
                         }
                     }
                 }
@@ -3069,8 +3400,9 @@ void Person::DoAnimations()
                         if (!Tutorial::active) {
                             weapons[weaponids[0]].damage += .4 + float(abs(Random() % 100) - 50) / 250;
                             escapednum = 0;
-                            if (id == 0)
+                            if (id == 0) {
                                 camerashake += .4;
+                            }
                             if (Random() % 2 || creature == wolftype) {
                                 victim->spurt = 1;
                             }
@@ -3103,8 +3435,9 @@ void Person::DoAnimations()
                         if (!Tutorial::active) {
                             weapons[weaponids[0]].damage += .6 + float(abs(Random() % 100) - 50) / 250;
                             escapednum = 0;
-                            if (id == 0)
+                            if (id == 0) {
                                 camerashake += .4;
+                            }
                             if (Random() % 2 || creature == wolftype) {
                                 victim->spurt = 1;
                             }
@@ -3134,10 +3467,12 @@ void Person::DoAnimations()
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 6.5) {
                         escapednum = 0;
                         if (!Tutorial::active) {
-                            if (!victim->dead)
+                            if (!victim->dead) {
                                 weapons[weaponids[0]].damage += .4 + float(abs(Random() % 100) - 50) / 500;
-                            if (id == 0)
+                            }
+                            if (id == 0) {
                                 camerashake += .4;
+                            }
                             if (Random() % 2 || creature == wolftype) {
                                 victim->spurt = 1;
                             }
@@ -3183,8 +3518,9 @@ void Person::DoAnimations()
                 if (animTarget == lowkickanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3 && Animation::animations[victim->animTarget].height != highheight) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .4;
+                        }
                         XYZ relative;
                         relative = victim->coords - coords;
                         relative.y = 0;
@@ -3207,16 +3543,18 @@ void Person::DoAnimations()
                             }
                             victim->Puff(head);
                             victim->DoDamage(damagemult * 100 / victim->protectionhead);
-                            if (victim->howactive == typesleeping)
+                            if (victim->howactive == typesleeping) {
                                 victim->DoDamage(damagemult * 150 / victim->protectionhead);
+                            }
                             if (creature == wolftype) {
                                 emit_sound_at(clawslicesound, victim->coords, 128.);
                                 victim->spurt = 1;
                                 victim->DoBloodBig(2 / victim->armorhead, 175);
                             }
                         } else {
-                            if (victim->damage >= victim->damagetolerance)
+                            if (victim->damage >= victim->damagetolerance) {
                                 victim->RagDoll(0);
+                            }
                             for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
                                 victim->skeleton.joints[i].velocity += relative * damagemult * 10;
                             }
@@ -3236,7 +3574,6 @@ void Person::DoAnimations()
                                 victim->DoBloodBig(2 / victim->armorhigh, 170);
                             }
                         }
-
                     }
                 }
 
@@ -3245,8 +3582,9 @@ void Person::DoAnimations()
                         (distsq(&coords, &victim->coords) < (scale * 5) * (scale * 5) * 3) &&
                         (victim != this->shared_from_this())) {
                         escapednum = 0;
-                        if (id == 0)
+                        if (id == 0) {
                             camerashake += .2;
+                        }
                         if (!Tutorial::active) {
                             emit_sound_at(landsound2, victim->coords, 128.);
                         }
@@ -3264,22 +3602,25 @@ void Person::DoAnimations()
                             relative = DoRotation(relative, 0, -90, 0);
                             relative.y += .1;
                             for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
-                                if (victim->skeleton.joints[i].label == leftfoot || victim->skeleton.joints[i].label == rightfoot || victim->skeleton.joints[i].label == leftankle || victim->skeleton.joints[i].label == rightankle)
+                                if (victim->skeleton.joints[i].label == leftfoot || victim->skeleton.joints[i].label == rightfoot || victim->skeleton.joints[i].label == leftankle || victim->skeleton.joints[i].label == rightankle) {
                                     victim->skeleton.joints[i].velocity = relative * 80;
+                                }
                             }
                             victim->Puff(rightankle);
                             victim->Puff(leftankle);
                             victim->DoDamage(damagemult * 40 / victim->protectionlow);
                         } else {
-                            if (victim->damage >= victim->damagetolerance)
+                            if (victim->damage >= victim->damagetolerance) {
                                 victim->RagDoll(0);
+                            }
                             for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
                                 victim->skeleton.joints[i].velocity += relative * damagemult * 10;
                             }
                             relative = DoRotation(relative, 0, -90, 0);
                             for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
-                                if (victim->skeleton.joints[i].label == leftfoot || victim->skeleton.joints[i].label == rightfoot || victim->skeleton.joints[i].label == leftankle || victim->skeleton.joints[i].label == rightankle)
+                                if (victim->skeleton.joints[i].label == leftfoot || victim->skeleton.joints[i].label == rightfoot || victim->skeleton.joints[i].label == leftankle || victim->skeleton.joints[i].label == rightankle) {
                                     victim->skeleton.joints[i].velocity += relative * damagemult * 80;
+                                }
                             }
                             victim->jointVel(abdomen) += relative * damagemult * 200;
                             victim->frameTarget = 0;
@@ -3294,15 +3635,15 @@ void Person::DoAnimations()
                         }
 
                         SolidHitBonus(id);
-
                     }
                 }
             }
             if (Animation::animations[animTarget].attack == reversal && (!victim->feint || (victim->lastattack == victim->lastattack2 && victim->lastattack2 == victim->lastattack3 && Random() % 2) || animTarget == knifefollowanim)) {
                 if (animTarget == spinkickreversalanim && Animation::animations[animTarget].frames[frameCurrent].label == 7) {
                     escapednum = 0;
-                    if (id == 0)
+                    if (id == 0) {
                         camerashake += .4;
+                    }
                     if (Random() % 2) {
                         victim->spurt = 1;
                         DoBlood(.2, 230);
@@ -3345,8 +3686,9 @@ void Person::DoAnimations()
 
                 if (animTarget == staffhitreversalanim && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     escapednum = 0;
-                    if (id == 0)
+                    if (id == 0) {
                         camerashake += .4;
+                    }
                     if (Random() % 2) {
                         victim->spurt = 1;
                         DoBlood(.2, 230);
@@ -3367,8 +3709,9 @@ void Person::DoAnimations()
 
                 if (animTarget == staffspinhitreversalanim && Animation::animations[animTarget].frames[frameCurrent].label == 7) {
                     escapednum = 0;
-                    if (id == 0)
+                    if (id == 0) {
                         camerashake += .4;
+                    }
                     if (Random() % 2) {
                         victim->spurt = 1;
                         DoBlood(.2, 230);
@@ -3421,17 +3764,21 @@ void Person::DoAnimations()
 
                     bool doslice;
                     doslice = 0;
-                    if (weaponactive != -1 || creature == wolftype)
+                    if (weaponactive != -1 || creature == wolftype) {
                         doslice = 1;
-                    if (creature == rabbittype && weaponactive != -1)
-                        if (weapons[weaponids[0]].getType() == staff)
+                    }
+                    if (creature == rabbittype && weaponactive != -1) {
+                        if (weapons[weaponids[0]].getType() == staff) {
                             doslice = 0;
+                        }
+                    }
                     if (doslice) {
                         if (weaponactive != -1) {
                             victim->DoBloodBig(2 / victim->armorhigh, 225);
                             emit_sound_at(knifeslicesound, victim->coords);
-                            if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody)
+                            if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody) {
                                 weapons[weaponids[weaponactive]].bloody = 1;
+                            }
                             weapons[weaponids[weaponactive]].blooddrip += 3;
                         }
                         if (weaponactive == -1 && creature == wolftype) {
@@ -3442,8 +3789,6 @@ void Person::DoAnimations()
                     }
                 }
 
-
-
                 if (animTarget == swordslashreversalanim && Animation::animations[animTarget].frames[frameCurrent].label == 7) {
                     escapednum = 0;
                     victim->RagDoll(1);
@@ -3469,8 +3814,9 @@ void Person::DoAnimations()
 
                 if (hasvictim && animTarget == knifeslashreversalanim && Animation::animations[animTarget].frames[frameCurrent].label == 7) {
                     escapednum = 0;
-                    if (id == 0)
+                    if (id == 0) {
                         camerashake += .4;
+                    }
                     if (Random() % 2) {
                         victim->spurt = 1;
                         DoBlood(.2, 230);
@@ -3502,8 +3848,9 @@ void Person::DoAnimations()
                     relative = facing * -1;
                     relative.y = -3;
                     Normalise(&relative);
-                    if (victim->id == 0)
+                    if (victim->id == 0) {
                         relative /= 30;
+                    }
                     for (unsigned i = 0; i < victim->skeleton.joints.size(); i++) {
                         victim->skeleton.joints[i].velocity += relative * damagemult * 40;
                     }
@@ -3511,17 +3858,21 @@ void Person::DoAnimations()
                     victim->permanentdamage = victim->damagetolerance - 1;
                     bool doslice;
                     doslice = 0;
-                    if (weaponactive != -1 || creature == wolftype)
+                    if (weaponactive != -1 || creature == wolftype) {
                         doslice = 1;
-                    if (creature == rabbittype && weaponactive != -1)
-                        if (weapons[weaponids[0]].getType() == staff)
+                    }
+                    if (creature == rabbittype && weaponactive != -1) {
+                        if (weapons[weaponids[0]].getType() == staff) {
                             doslice = 0;
+                        }
+                    }
                     if (doslice) {
                         if (weaponactive != -1) {
                             victim->DoBloodBig(200, 225);
                             emit_sound_at(knifeslicesound, victim->coords);
-                            if (bloodtoggle)
+                            if (bloodtoggle) {
                                 weapons[weaponids[weaponactive]].bloody = 2;
+                            }
                             weapons[weaponids[weaponactive]].blooddrip += 5;
                         }
 
@@ -3537,14 +3888,16 @@ void Person::DoAnimations()
                 if (hasvictim && (animTarget == knifefollowanim || animTarget == knifesneakattackanim) && Animation::animations[animTarget].frames[frameCurrent].label == 5) {
                     if (weaponactive != -1 && victim->bloodloss < victim->damagetolerance) {
                         escapednum = 0;
-                        if (animTarget == knifefollowanim)
+                        if (animTarget == knifefollowanim) {
                             victim->DoBloodBig(200, 210);
+                        }
                         if (animTarget == knifesneakattackanim) {
                             XYZ footvel, footpoint;
                             footvel = 0;
                             footpoint = weapons[weaponids[0]].tippoint;
-                            if (bloodtoggle)
+                            if (bloodtoggle) {
                                 Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .9, .3);
+                            }
                             footvel = (weapons[weaponids[0]].tippoint - weapons[weaponids[0]].position);
                             Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                             Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 3, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
@@ -3558,20 +3911,21 @@ void Person::DoAnimations()
                             XYZ footvel, footpoint;
                             footvel = 0;
                             footpoint = weapons[weaponids[0]].tippoint;
-                            if (bloodtoggle)
+                            if (bloodtoggle) {
                                 Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .9, .3);
+                            }
                             footvel = (weapons[weaponids[0]].tippoint - weapons[weaponids[0]].position) * -1;
                             Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                             Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 3, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                             Sprite::MakeSprite(bloodflamesprite, footpoint, footvel * 5, 1, 1, 1, .2, 1);
                             Sprite::MakeSprite(bloodflamesprite, footpoint, footvel * 2, 1, 1, 1, .2, 1);
-
                         }
                         victim->bloodloss += 10000;
                         victim->velocity = 0;
                         emit_sound_at(fleshstabsound, victim->coords);
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             weapons[weaponids[weaponactive]].bloody = 2;
+                        }
                         weapons[weaponids[weaponactive]].blooddrip += 5;
                     }
                 }
@@ -3590,15 +3944,17 @@ void Person::DoAnimations()
                     }
                     if (weaponactive != -1 && Animation::animations[victim->animTarget].attack != reversal) {
                         emit_sound_at(fleshstabremovesound, victim->coords);
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             weapons[weaponids[weaponactive]].bloody = 2;
+                        }
                         weapons[weaponids[weaponactive]].blooddrip += 5;
 
                         XYZ footvel, footpoint;
                         footvel = 0;
                         footpoint = weapons[weaponids[0]].tippoint;
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .9, .3);
+                        }
                         footvel = (weapons[weaponids[0]].tippoint - weapons[weaponids[0]].position) * -1;
                         Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                         Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 3, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
@@ -3616,8 +3972,9 @@ void Person::DoAnimations()
                         XYZ footvel, footpoint;
                         footvel = 0;
                         footpoint = (weapons[weaponids[0]].tippoint + weapons[weaponids[0]].position) / 2;
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .9, .3);
+                        }
                         footvel = (weapons[weaponids[0]].tippoint - weapons[weaponids[0]].position);
                         Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                         Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 3, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
@@ -3628,8 +3985,9 @@ void Person::DoAnimations()
                         victim->bloodloss += 10000;
                         victim->velocity = 0;
                         emit_sound_at(fleshstabsound, victim->coords);
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             weapons[weaponids[weaponactive]].bloody = 2;
+                        }
                         weapons[weaponids[weaponactive]].blooddrip += 5;
                     }
                 }
@@ -3642,15 +4000,17 @@ void Person::DoAnimations()
                     }
                     if (weaponactive != -1) {
                         emit_sound_at(fleshstabremovesound, victim->coords);
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             weapons[weaponids[weaponactive]].bloody = 2;
+                        }
                         weapons[weaponids[weaponactive]].blooddrip += 5;
 
                         XYZ footvel, footpoint;
                         footvel = 0;
                         footpoint = weapons[weaponids[0]].tippoint;
-                        if (bloodtoggle)
+                        if (bloodtoggle) {
                             Sprite::MakeSprite(cloudimpactsprite, footpoint, footvel, 1, 0, 0, .9, .3);
+                        }
                         footvel = (weapons[weaponids[0]].tippoint - weapons[weaponids[0]].position) * -1;
                         Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 7, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
                         Sprite::MakeSprite(bloodsprite, footpoint, DoRotation(footvel * 3, (float)(Random() % 20), (float)(Random() % 20), 0), 1, 1, 1, .05, .9);
@@ -3661,8 +4021,9 @@ void Person::DoAnimations()
 
                 if (animTarget == sweepreversalanim && Animation::animations[animTarget].frames[frameCurrent].label == 7) {
                     escapednum = 0;
-                    if (id == 0)
+                    if (id == 0) {
                         camerashake += .4;
+                    }
                     if (Random() % 2) {
                         victim->spurt = 1;
                         DoBlood(.2, 240);
@@ -3674,17 +4035,21 @@ void Person::DoAnimations()
                     }
                     bool doslice;
                     doslice = 0;
-                    if (weaponactive != -1 || creature == wolftype)
+                    if (weaponactive != -1 || creature == wolftype) {
                         doslice = 1;
-                    if (creature == rabbittype && weaponactive != -1)
-                        if (weapons[weaponids[0]].getType() == staff)
+                    }
+                    if (creature == rabbittype && weaponactive != -1) {
+                        if (weapons[weaponids[0]].getType() == staff) {
                             doslice = 0;
+                        }
+                    }
                     if (doslice) {
                         if (weaponactive != -1) {
                             victim->DoBloodBig(2 / victim->armorhead, 225);
                             emit_sound_at(knifeslicesound, victim->coords);
-                            if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody)
+                            if (bloodtoggle && !weapons[weaponids[weaponactive]].bloody) {
                                 weapons[weaponids[weaponactive]].bloody = 1;
+                            }
                             weapons[weaponids[weaponactive]].blooddrip += 3;
                         }
                         if (weaponactive == -1 && creature == wolftype) {
@@ -3709,8 +4074,9 @@ void Person::DoAnimations()
                         victim->skeleton.joints[i].velocity += relative * damagemult * 20;
                     }
                     victim->jointVel(head) += relative * damagemult * 200;
-                    if (victim->damage < victim->damagetolerance - 100)
+                    if (victim->damage < victim->damagetolerance - 100) {
                         victim->velocity = relative * 200;
+                    }
                     victim->DoDamage(damagemult * 100 / victim->protectionhead);
                     victim->velocity = 0;
                 }
@@ -3731,13 +4097,13 @@ void Person::DoAnimations()
                     victim->jointVel(head) += relative * damagemult * 200;
                 }
 
-                if (hasvictim && (animTarget == spinkickreversalanim || animTarget == sweepreversalanim || animTarget == rabbitkickreversalanim || animTarget == upunchreversalanim || animTarget == jumpreversalanim || animTarget == swordslashreversalanim || animTarget == knifeslashreversalanim || animTarget == rabbittacklereversal || animTarget == wolftacklereversal || animTarget == staffhitreversalanim || animTarget == staffspinhitreversalanim))
+                if (hasvictim && (animTarget == spinkickreversalanim || animTarget == sweepreversalanim || animTarget == rabbitkickreversalanim || animTarget == upunchreversalanim || animTarget == jumpreversalanim || animTarget == swordslashreversalanim || animTarget == knifeslashreversalanim || animTarget == rabbittacklereversal || animTarget == wolftacklereversal || animTarget == staffhitreversalanim || animTarget == staffspinhitreversalanim)) {
                     if (victim->damage > victim->damagetolerance && bonus != reverseko) {
                         award_bonus(id, reverseko);
                     }
+                }
             }
 
-
             //Animation end
             if (frameTarget > int(Animation::animations[animCurrent].frames.size()) - 1) {
                 frameTarget = 0;
@@ -3777,9 +4143,9 @@ void Person::DoAnimations()
                     if (animCurrent == crouchdrawrightanim) {
                         animTarget = getCrouch();
                     }
-                    if (weaponactive == -1)
+                    if (weaponactive == -1) {
                         weaponactive = 0;
-                    else if (weaponactive == 0) {
+                    else if (weaponactive == 0) {
                         weaponactive = -1;
                         if (num_weapons == 2) {
                             int buffer;
@@ -3814,8 +4180,9 @@ void Person::DoAnimations()
                     animTarget = getCrouch();
                     frameTarget = 1;
                     coords += facing * .1;
-                    if (!isnormal(coords.x))
+                    if (!isnormal(coords.x)) {
                         coords = oldcoords;
+                    }
                     oldcoords = coords;
                     targetoffset = 0;
                     currentoffset = 0;
@@ -3837,7 +4204,7 @@ void Person::DoAnimations()
                         int closest = -1;
                         float closestdist = -1;
                         float distance;
-                        if (Person::players.size() > 1)
+                        if (Person::players.size() > 1) {
                             for (unsigned i = 0; i < Person::players.size(); i++) {
                                 if (id != i && Person::players[i]->coords.y < coords.y && !Person::players[i]->skeleton.free) {
                                     distance = distsq(&Person::players[i]->coords, &coords);
@@ -3847,6 +4214,7 @@ void Person::DoAnimations()
                                     }
                                 }
                             }
+                        }
                         if (closestdist > 0 && closest >= 0 && closestdist < 16) {
                             victim = Person::players[closest];
                             animTarget = walljumprightkickanim;
@@ -3855,8 +4223,9 @@ void Person::DoAnimations()
                             Normalise(&rotatetarget);
                             yaw = -asin(0 - rotatetarget.x);
                             yaw *= 360 / 6.28;
-                            if (rotatetarget.z < 0)
+                            if (rotatetarget.z < 0) {
                                 yaw = 180 - yaw;
+                            }
                             targettilt2 = -asin(rotatetarget.y) * 360 / 6.28;
                             velocity = (victim->coords - coords) * 4;
                             velocity.y += 2;
@@ -3868,8 +4237,9 @@ void Person::DoAnimations()
                         frameTarget = 3;
                         velocity = facing * -8;
                         velocity.y = 4;
-                        if (id == 0)
+                        if (id == 0) {
                             resume_stream(whooshsound);
+                        }
                     }
                     if (animTarget == walljumprightanim) {
                         animTarget = rightflipanim;
@@ -3887,15 +4257,16 @@ void Person::DoAnimations()
                         velocity = facing * 8;
                         velocity.y = 4;
                     }
-                    if (id == 0)
+                    if (id == 0) {
                         resume_stream(whooshsound);
+                    }
                 }
                 if (animTarget == walljumpleftanim) {
                     if (attackkeydown) {
                         int closest = -1;
                         float closestdist = -1;
                         float distance;
-                        if (Person::players.size() > 1)
+                        if (Person::players.size() > 1) {
                             for (unsigned i = 0; i < Person::players.size(); i++) {
                                 if (id != i && Person::players[i]->coords.y < coords.y && !Person::players[i]->skeleton.free) {
                                     distance = distsq(&Person::players[i]->coords, &coords);
@@ -3905,6 +4276,7 @@ void Person::DoAnimations()
                                     }
                                 }
                             }
+                        }
                         if (closestdist > 0 && closest >= 0 && closestdist < 16) {
                             victim = Person::players[closest];
                             animTarget = walljumpleftkickanim;
@@ -3913,8 +4285,9 @@ void Person::DoAnimations()
                             Normalise(&rotatetarget);
                             yaw = -asin(0 - rotatetarget.x);
                             yaw *= 360 / 6.28;
-                            if (rotatetarget.z < 0)
+                            if (rotatetarget.z < 0) {
                                 yaw = 180 - yaw;
+                            }
                             targettilt2 = -asin(rotatetarget.y) * 360 / 6.28;
                             velocity = (victim->coords - coords) * 4;
                             velocity.y += 2;
@@ -3929,8 +4302,9 @@ void Person::DoAnimations()
                         velocity = DoRotation(facing, 0, -30, 0) * -8;
                         velocity.y = 4;
                     }
-                    if (id == 0)
+                    if (id == 0) {
                         resume_stream(whooshsound);
+                    }
                 }
                 if (animTarget == sneakattackanim) {
                     animCurrent = getCrouch();
@@ -3944,16 +4318,18 @@ void Person::DoAnimations()
                     transspeed = 1000000;
                     targetheadyaw += 180;
                     coords -= facing * .7;
-                    if (onterrain)
+                    if (onterrain) {
                         coords.y = terrain.getHeight(coords.x, coords.z);
+                    }
 
                     lastfeint = 0;
                 }
                 if (animTarget == knifesneakattackanim || animTarget == swordsneakattackanim) {
                     animTarget = getIdle();
                     frameTarget = 0;
-                    if (onterrain)
+                    if (onterrain) {
                         coords.y = terrain.getHeight(coords.x, coords.z);
+                    }
 
                     lastfeint = 0;
                 }
@@ -3970,13 +4346,14 @@ void Person::DoAnimations()
                     tilt2 *= -1;
                     transspeed = 1000000;
                     targetheadyaw += 180;
-                    if (!isnormal(coords.x))
+                    if (!isnormal(coords.x)) {
                         coords = oldcoords;
-                    if (animCurrent == spinkickreversalanim || animCurrent == swordslashreversalanim)
+                    }
+                    if (animCurrent == spinkickreversalanim || animCurrent == swordslashreversalanim) {
                         oldcoords = coords + facing * .5;
-                    else if (animCurrent == sweepreversalanim)
+                    } else if (animCurrent == sweepreversalanim) {
                         oldcoords = coords + facing * 1.1;
-                    else if (animCurrent == upunchreversalanim) {
+                    else if (animCurrent == upunchreversalanim) {
                         oldcoords = coords + facing * 1.5;
                         targetyaw += 180;
                         yaw += 180;
@@ -3997,10 +4374,11 @@ void Person::DoAnimations()
                         targettilt2 = 0;
                         tilt2 = 0;
                     }
-                    if (onterrain)
+                    if (onterrain) {
                         oldcoords.y = terrain.getHeight(oldcoords.x, oldcoords.z);
-                    else
+                    } else {
                         oldcoords.y = ycoords;
+                    }
                     currentoffset = coords - oldcoords;
                     targetoffset = 0;
                     coords = oldcoords;
@@ -4014,8 +4392,9 @@ void Person::DoAnimations()
                 }
                 if (Animation::animations[animTarget].attack == reversed) {
                     escapednum++;
-                    if (animTarget == sweepreversedanim)
+                    if (animTarget == sweepreversedanim) {
                         targetyaw += 90;
+                    }
                     animTarget = backhandspringanim;
                     frameTarget = 2;
                     emit_sound_at(landsound, coords, 128);
@@ -4040,10 +4419,12 @@ void Person::DoAnimations()
                 if (wasFlip()) {
                     animTarget = jumpdownanim;
                 }
-                if (wasLanding())
+                if (wasLanding()) {
                     animTarget = getIdle();
-                if (wasLandhard())
+                }
+                if (wasLandhard()) {
                     animTarget = getIdle();
+                }
                 if (animCurrent == spinkickanim || animCurrent == getupfrombackanim || animCurrent == getupfromfrontanim || animCurrent == lowkickanim) {
                     animTarget = getIdle();
                     oldcoords = coords;
@@ -4051,8 +4432,9 @@ void Person::DoAnimations()
                     coords.y = oldcoords.y;
                     //coords+=DoRotation(Animation::animations[animCurrent].offset,0,yaw,0)*scale;
                     targetoffset.y = coords.y;
-                    if (onterrain)
+                    if (onterrain) {
                         targetoffset.y = terrain.getHeight(coords.x, coords.z);
+                    }
                     currentoffset = DoRotation(Animation::animations[animCurrent].offset * -1, 0, yaw, 0) * scale;
                     currentoffset.y -= (coords.y - targetoffset.y);
                     coords.y = targetoffset.y;
@@ -4068,11 +4450,14 @@ void Person::DoAnimations()
                     targetyaw = yaw;
                     bool hasstaff;
                     hasstaff = 0;
-                    if (num_weapons > 0)
-                        if (weapons[0].getType() == staff)
+                    if (num_weapons > 0) {
+                        if (weapons[0].getType() == staff) {
                             hasstaff = 1;
-                    if (!hasstaff)
+                        }
+                    }
+                    if (!hasstaff) {
                         DoDamage(35);
+                    }
                     RagDoll(0);
                     lastfeint = 0;
                     rabbitkickragdoll = 1;
@@ -4090,8 +4475,9 @@ void Person::DoAnimations()
                         escapednum++;
                         animTarget = rollanim;
                         coords += facing;
-                        if (id == 0)
+                        if (id == 0) {
                             pause_sound(whooshsound);
+                        }
                     }
                     lastfeint = 0;
                 }
@@ -4114,8 +4500,9 @@ void Person::DoAnimations()
                         escapednum++;
                         animTarget = rollanim;
                         coords += facing * 2;
-                        if (id == 0)
+                        if (id == 0) {
                             pause_sound(whooshsound);
+                        }
                     }
                     lastfeint = 0;
                 }
@@ -4135,14 +4522,16 @@ void Person::DoAnimations()
                     lastfeint = 0;
                 }
                 if (animCurrent == spinkickanim && victim->skeleton.free) {
-                    if (creature == rabbittype)
+                    if (creature == rabbittype) {
                         animTarget = fightidleanim;
+                    }
                 }
             }
             target = 0;
 
-            if (isIdle() && !wasIdle())
+            if (isIdle() && !wasIdle()) {
                 normalsupdatedelay = 0;
+            }
 
             if (animCurrent == jumpupanim && velocity.y < 0 && !isFlip()) {
                 animTarget = jumpdownanim;
@@ -4152,32 +4541,38 @@ void Person::DoAnimations()
             oldtarget = target;
             if (!transspeed && Animation::animations[animTarget].attack != 2 && Animation::animations[animTarget].attack != 3) {
                 if (!isRun() || !wasRun()) {
-                    if (targetFrame().speed > currentFrame().speed)
+                    if (targetFrame().speed > currentFrame().speed) {
                         target += multiplier * targetFrame().speed * speed * 2;
-                    if (targetFrame().speed <= currentFrame().speed)
+                    }
+                    if (targetFrame().speed <= currentFrame().speed) {
                         target += multiplier * currentFrame().speed * speed * 2;
+                    }
                 }
                 if (isRun() && wasRun()) {
                     float tempspeed;
                     tempspeed = velspeed;
-                    if (tempspeed < 10 * speedmult)
+                    if (tempspeed < 10 * speedmult) {
                         tempspeed = 10 * speedmult;
+                    }
                     /* FIXME - mixed of target and current here, is that intended? */
                     target += multiplier * Animation::animations[animTarget].frames[frameCurrent].speed * speed * 1.7 * tempspeed / (speed * 45 * scale);
                 }
-            } else if (transspeed)
+            } else if (transspeed) {
                 target += multiplier * transspeed * speed * 2;
-            else {
+            else {
                 if (!isRun() || !wasRun()) {
-                    if (targetFrame().speed > currentFrame().speed)
+                    if (targetFrame().speed > currentFrame().speed) {
                         target += multiplier * targetFrame().speed * 2;
-                    if (targetFrame().speed <= currentFrame().speed)
+                    }
+                    if (targetFrame().speed <= currentFrame().speed) {
                         target += multiplier * currentFrame().speed * 2;
+                    }
                 }
             }
 
-            if (animCurrent != animTarget)
+            if (animCurrent != animTarget) {
                 target = (target + oldtarget) / 2;
+            }
 
             if (target > 1) {
                 frameCurrent = frameTarget;
@@ -4209,12 +4604,15 @@ void Person::DoAnimations()
                 }
                 for (unsigned i = 0; i < skeleton.muscles.size(); i++) {
                     if (skeleton.muscles[i].visible) {
-                        if (isnormal((float)((int)(skeleton.muscles[i].rotate1 * 100) % 36000) / 100))
+                        if (isnormal((float)((int)(skeleton.muscles[i].rotate1 * 100) % 36000) / 100)) {
                             skeleton.muscles[i].oldrotate1 = (float)((int)(skeleton.muscles[i].rotate1 * 100) % 36000) / 100;
-                        if (isnormal((float)((int)(skeleton.muscles[i].rotate2 * 100) % 36000) / 100))
+                        }
+                        if (isnormal((float)((int)(skeleton.muscles[i].rotate2 * 100) % 36000) / 100)) {
                             skeleton.muscles[i].oldrotate2 = (float)((int)(skeleton.muscles[i].rotate2 * 100) % 36000) / 100;
-                        if (isnormal((float)((int)(skeleton.muscles[i].rotate3 * 100) % 36000) / 100))
+                        }
+                        if (isnormal((float)((int)(skeleton.muscles[i].rotate3 * 100) % 36000) / 100)) {
                             skeleton.muscles[i].oldrotate3 = (float)((int)(skeleton.muscles[i].rotate3 * 100) % 36000) / 100;
+                        }
                     }
                 }
 
@@ -4232,18 +4630,33 @@ void Person::DoAnimations()
                 }
                 for (unsigned i = 0; i < skeleton.muscles.size(); i++) {
                     if (skeleton.muscles[i].visible) {
-                        if (isnormal((float)((int)(skeleton.muscles[i].rotate1 * 100) % 36000) / 100))
+                        if (isnormal((float)((int)(skeleton.muscles[i].rotate1 * 100) % 36000) / 100)) {
                             skeleton.muscles[i].newrotate1 = (float)((int)(skeleton.muscles[i].rotate1 * 100) % 36000) / 100;
-                        if (isnormal((float)((int)(skeleton.muscles[i].rotate2 * 100) % 36000) / 100))
+                        }
+                        if (isnormal((float)((int)(skeleton.muscles[i].rotate2 * 100) % 36000) / 100)) {
                             skeleton.muscles[i].newrotate2 = (float)((int)(skeleton.muscles[i].rotate2 * 100) % 36000) / 100;
-                        if (isnormal((float)((int)(skeleton.muscles[i].rotate3 * 100) % 36000) / 100))
+                        }
+                        if (isnormal((float)((int)(skeleton.muscles[i].rotate3 * 100) % 36000) / 100)) {
                             skeleton.muscles[i].newrotate3 = (float)((int)(skeleton.muscles[i].rotate3 * 100) % 36000) / 100;
-                        if (skeleton.muscles[i].newrotate3 > skeleton.muscles[i].oldrotate3 + 180) skeleton.muscles[i].newrotate3 -= 360;
-                        if (skeleton.muscles[i].newrotate3 < skeleton.muscles[i].oldrotate3 - 180) skeleton.muscles[i].newrotate3 += 360;
-                        if (skeleton.muscles[i].newrotate2 > skeleton.muscles[i].oldrotate2 + 180) skeleton.muscles[i].newrotate2 -= 360;
-                        if (skeleton.muscles[i].newrotate2 < skeleton.muscles[i].oldrotate2 - 180) skeleton.muscles[i].newrotate2 += 360;
-                        if (skeleton.muscles[i].newrotate1 > skeleton.muscles[i].oldrotate1 + 180) skeleton.muscles[i].newrotate1 -= 360;
-                        if (skeleton.muscles[i].newrotate1 < skeleton.muscles[i].oldrotate1 - 180) skeleton.muscles[i].newrotate1 += 360;
+                        }
+                        if (skeleton.muscles[i].newrotate3 > skeleton.muscles[i].oldrotate3 + 180) {
+                            skeleton.muscles[i].newrotate3 -= 360;
+                        }
+                        if (skeleton.muscles[i].newrotate3 < skeleton.muscles[i].oldrotate3 - 180) {
+                            skeleton.muscles[i].newrotate3 += 360;
+                        }
+                        if (skeleton.muscles[i].newrotate2 > skeleton.muscles[i].oldrotate2 + 180) {
+                            skeleton.muscles[i].newrotate2 -= 360;
+                        }
+                        if (skeleton.muscles[i].newrotate2 < skeleton.muscles[i].oldrotate2 - 180) {
+                            skeleton.muscles[i].newrotate2 += 360;
+                        }
+                        if (skeleton.muscles[i].newrotate1 > skeleton.muscles[i].oldrotate1 + 180) {
+                            skeleton.muscles[i].newrotate1 -= 360;
+                        }
+                        if (skeleton.muscles[i].newrotate1 < skeleton.muscles[i].oldrotate1 - 180) {
+                            skeleton.muscles[i].newrotate1 += 360;
+                        }
                     }
                 }
             }
@@ -4254,22 +4667,23 @@ void Person::DoAnimations()
             oldframeCurrent = frameCurrent;
 
             for (unsigned i = 0; i < skeleton.joints.size(); i++) {
-                skeleton.joints[i].velocity = (currentFrame().joints[i].position * (1 - target) + targetFrame().joints[i].position * (target) - skeleton.joints[i].position) / multiplier;
-                skeleton.joints[i].position = currentFrame().joints[i].position * (1 - target) + targetFrame().joints[i].position * (target);
+                skeleton.joints[i].velocity = (currentFrame().joints[i].position * (1 - target) + targetFrame().joints[i].position * target - skeleton.joints[i].position) / multiplier;
+                skeleton.joints[i].position = currentFrame().joints[i].position * (1 - target) + targetFrame().joints[i].position * target;
             }
             offset = currentoffset * (1 - target) + targetoffset * target;
             for (unsigned i = 0; i < skeleton.muscles.size(); i++) {
                 if (skeleton.muscles[i].visible) {
-                    skeleton.muscles[i].rotate1 = skeleton.muscles[i].oldrotate1 * (1 - target) + skeleton.muscles[i].newrotate1 * (target);
-                    skeleton.muscles[i].rotate2 = skeleton.muscles[i].oldrotate2 * (1 - target) + skeleton.muscles[i].newrotate2 * (target);
-                    skeleton.muscles[i].rotate3 = skeleton.muscles[i].oldrotate3 * (1 - target) + skeleton.muscles[i].newrotate3 * (target);
+                    skeleton.muscles[i].rotate1 = skeleton.muscles[i].oldrotate1 * (1 - target) + skeleton.muscles[i].newrotate1 * target;
+                    skeleton.muscles[i].rotate2 = skeleton.muscles[i].oldrotate2 * (1 - target) + skeleton.muscles[i].newrotate2 * target;
+                    skeleton.muscles[i].rotate3 = skeleton.muscles[i].oldrotate3 * (1 - target) + skeleton.muscles[i].newrotate3 * target;
                 }
             }
         }
 
         if (isLanding() && landhard) {
-            if (id == 0)
+            if (id == 0) {
                 camerashake += .4;
+            }
             animTarget = getLandhard();
             frameTarget = 0;
             target = 0;
@@ -4289,7 +4703,6 @@ void Person::DoStuff()
     static XYZ flatfacing;
     static XYZ flatvelocity;
     static float flatvelspeed;
-    static int i, l;
     static int bloodsize;
     static int startx, starty, endx, endy;
     static GLubyte color;
@@ -4304,23 +4717,29 @@ void Person::DoStuff()
     }
 
     crouchkeydowntime += multiplier;
-    if (!crouchkeydown)
+    if (!crouchkeydown) {
         crouchkeydowntime = 0;
+    }
     jumpkeydowntime += multiplier;
-    if (!jumpkeydown && skeleton.free)
+    if (!jumpkeydown && skeleton.free) {
         jumpkeydowntime = 0;
+    }
 
-    if (hostile || damage > 0 || bloodloss > 0)
+    if (hostile || damage > 0 || bloodloss > 0) {
         immobile = 0;
+    }
 
-    if (isIdle() || isRun())
+    if (isIdle() || isRun()) {
         targetoffset = 0;
+    }
 
-    if (num_weapons == 1 && weaponactive != -1)
+    if (num_weapons == 1 && weaponactive != -1) {
         weaponstuck = -1;
+    }
 
-    if (id == 0)
+    if (id == 0) {
         blooddimamount -= multiplier * .3;
+    }
     speechdelay -= multiplier;
     texupdatedelay -= multiplier;
     interestdelay -= multiplier;
@@ -4331,17 +4750,20 @@ void Person::DoStuff()
         hasvictim = 0;
     }
 
-    if (id == 0)
+    if (id == 0) {
         speed = 1.1 * speedmult;
-    else
+    } else {
         speed = 1.0 * speedmult;
-    if (!skeleton.free)
+    }
+    if (!skeleton.free) {
         rabbitkickragdoll = 0;
+    }
 
     speed *= speedmult;
 
-    if (id != 0 && (creature == rabbittype || difficulty != 2))
+    if (id != 0 && (creature == rabbittype || difficulty != 2)) {
         superruntoggle = 0;
+    }
     if (id != 0 && creature == wolftype && difficulty == 2) {
         superruntoggle = 0;
         if (aitype != passivetype) {
@@ -4350,8 +4772,9 @@ void Person::DoStuff()
                 superruntoggle = 0;
             }
         }
-        if (scale < 0.2)
+        if (scale < 0.2) {
             superruntoggle = 0;
+        }
         if (animTarget == wolfrunninganim && !superruntoggle) {
             animTarget = getRun();
             frameTarget = 0;
@@ -4366,22 +4789,19 @@ void Person::DoStuff()
     if (onfire) {
         burnt += multiplier;
         deathbleeding = 1;
-        if (burnt > .6)
+        if (burnt > .6) {
             burnt = .6;
+        }
         OPENAL_SetVolume(channels[stream_firesound], 256 + 256 * findLength(&velocity) / 3);
 
         if (animTarget == jumpupanim || animTarget == jumpdownanim || isFlip()) {
             float gLoc[3];
-            float vel[3];
             gLoc[0] = coords.x;
             gLoc[1] = coords.y;
             gLoc[2] = coords.z;
-            vel[0] = velocity.x;
-            vel[1] = velocity.y;
-            vel[2] = velocity.z;
 
             if (id == 0) {
-                OPENAL_3D_SetAttributes(channels[whooshsound], gLoc, vel);
+                OPENAL_3D_SetAttributes(channels[whooshsound], gLoc);
                 OPENAL_SetVolume(channels[whooshsound], 64 * findLength(&velocity) / 5);
             }
         }
@@ -4416,8 +4836,9 @@ void Person::DoStuff()
         bleeding -= multiplier * .3;
         if (bloodtoggle == 2) {
             skeleton.drawmodel.textureptr.bind();
-            if ((bleeding <= 0) && (detail != 2))
+            if ((bleeding <= 0) && (detail != 2)) {
                 DoMipmaps();
+            }
         }
     }
 
@@ -4431,12 +4852,12 @@ void Person::DoStuff()
             if (skeleton.free) {
                 bloodvel -= DoRotation(skeleton.forward * 10 * scale, ((float)(Random() % 100)) / 40, ((float)(Random() % 100)) / 40, 0);
                 bloodvel += DoRotation(jointVel(head), ((float)(Random() % 100)) / 40, yaw + ((float)(Random() % 100)) / 40, 0) * scale;
-                Sprite::MakeSprite(bloodsprite, (jointPos(neck) + (jointPos(neck) - jointPos(head)) / 5)*scale + coords, bloodvel, 1, 1, 1, .05, .9);
+                Sprite::MakeSprite(bloodsprite, (jointPos(neck) + (jointPos(neck) - jointPos(head)) / 5) * scale + coords, bloodvel, 1, 1, 1, .05, .9);
             } else {
                 bloodvel.z = 5 * neckspurtamount;
                 bloodvel = DoRotation(bloodvel, ((float)(Random() % 100)) / 40, yaw + ((float)(Random() % 100)) / 40, 0) * scale;
                 bloodvel += DoRotation(velocity, ((float)(Random() % 100)) / 40, ((float)(Random() % 100)) / 40, 0) * scale;
-                Sprite::MakeSprite(bloodsprite, DoRotation(jointPos(neck) + (jointPos(neck) - jointPos(head)) / 5, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .05, .9);
+                Sprite::MakeSprite(bloodsprite, DoRotation(jointPos(neck) + (jointPos(neck) - jointPos(head)) / 5, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .05, .9);
             }
             neckspurtparticledelay = .05;
         }
@@ -4446,10 +4867,11 @@ void Person::DoStuff()
     }
 
     if (deathbleeding > 0 && dead != 2) {
-        if (deathbleeding < 5)
+        if (deathbleeding < 5) {
             bleeddelay -= deathbleeding * multiplier / 4;
-        else
+        } else {
             bleeddelay -= 5 * multiplier / 4;
+        }
         if (bleeddelay < 0 && bloodtoggle) {
             bleeddelay = 1;
             XYZ bloodvel;
@@ -4460,14 +4882,15 @@ void Person::DoStuff()
                     Sprite::MakeSprite(bloodsprite, jointPos(abdomen) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
                 } else {
                     bloodvel += DoRotation(velocity, ((float)(Random() % 100)) / 4, ((float)(Random() % 100)) / 4, 0) * scale;
-                    Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(abdomen) + jointPos(abdomen)) / 2, 0, yaw, 0)*scale + coords, bloodvel, 1, 1, 1, .05, 1);
+                    Sprite::MakeSprite(bloodsprite, DoRotation((jointPos(abdomen) + jointPos(abdomen)) / 2, 0, yaw, 0) * scale + coords, bloodvel, 1, 1, 1, .05, 1);
                 }
             }
         }
         bloodloss += deathbleeding * multiplier * 80;
         deathbleeding -= multiplier * 1.6;
-        if (deathbleeding < 0)
+        if (deathbleeding < 0) {
             deathbleeding = 0;
+        }
         if (bloodloss > damagetolerance && Animation::animations[animTarget].attack == neutral) {
             if (weaponactive != -1) {
                 weapons[weaponids[0]].drop(velocity * scale * -.3, velocity * scale);
@@ -4475,8 +4898,9 @@ void Person::DoStuff()
                 num_weapons--;
                 if (num_weapons) {
                     weaponids[0] = weaponids[num_weapons];
-                    if (weaponstuck == num_weapons)
+                    if (weaponstuck == num_weapons) {
                         weaponstuck = 0;
+                    }
                 }
                 weaponactive = -1;
                 for (unsigned i = 0; i < Person::players.size(); i++) {
@@ -4534,17 +4958,20 @@ void Person::DoStuff()
             endy = skeleton.skinsize - 1;
             bleeding = 0;
         }
-        if (endx < startx)
+        if (endx < startx) {
             endx = startx;
-        if (endy < starty)
+        }
+        if (endy < starty) {
             endy = starty;
+        }
 
-        for (i = startx; i < endx; i++) {
+        for (int i = startx; i < endx; i++) {
             for (int j = starty; j < endy; j++) {
                 if (Random() % 2 == 0) {
                     color = Random() % 85 + 170;
-                    if (skeleton.skinText[i * skeleton.skinsize * 3 + j * 3 + 0] > color / 2)
+                    if (skeleton.skinText[i * skeleton.skinsize * 3 + j * 3 + 0] > color / 2) {
                         skeleton.skinText[i * skeleton.skinsize * 3 + j * 3 + 0] = color / 2;
+                    }
                     skeleton.skinText[i * skeleton.skinsize * 3 + j * 3 + 1] = 0;
                     skeleton.skinText[i * skeleton.skinsize * 3 + j * 3 + 2] = 0;
                 }
@@ -4557,16 +4984,18 @@ void Person::DoStuff()
 
         if (skeleton.free) {
             bleedx += 4 * direction / realtexdetail;
-            if (detail == 2)
+            if (detail == 2) {
                 bleedy += (abs(Random() % 3) - 1) * 2 / realtexdetail;
-            else
+            } else {
                 bleedy += (abs(Random() % 3) - 1) * 4 / realtexdetail;
+            }
         } else {
             bleedy -= 4 / realtexdetail;
-            if (detail == 2)
+            if (detail == 2) {
                 bleedx += (abs(Random() % 3) - 1) * 2 / realtexdetail;
-            else
+            } else {
                 bleedx += (abs(Random() % 3) - 1) * 4 / realtexdetail;
+            }
         }
     }
 
@@ -4668,8 +5097,9 @@ void Person::DoStuff()
                     footvel = DoRotation(skeleton.specialforward[0], 0, yaw, 0) * -1;
                     footpoint = DoRotation((jointPos(head) + jointPos(neck)) / 2, 0, yaw, 0) * scale + coords;
                 }
-                if (animTarget == sleepanim)
+                if (animTarget == sleepanim) {
                     footvel = DoRotation(footvel, 0, 90, 0);
+                }
                 Sprite::MakeSprite(breathsprite, footpoint + footvel * .2, footvel * .4, 1, 1, 1, .4, .3);
             }
         }
@@ -4710,7 +5140,9 @@ void Person::DoStuff()
                         righthandmorphness = 0;
                         targetrighthandmorphness = 1;
                         righthandmorphend = 1;
-                        if (Random() % 2 == 0)twitchdelay3 = (float)(abs(Random() % 40)) / 5;
+                        if (Random() % 2 == 0) {
+                            twitchdelay3 = (float)(abs(Random() % 40)) / 5;
+                        }
                     }
                     if (righthandmorphstart == 1 && righthandmorphend == 1) {
                         righthandmorphness = 0;
@@ -4735,10 +5167,11 @@ void Person::DoStuff()
         }
         if (!dead) {
             if (creature == rabbittype) {
-                if (howactive < typesleeping)
+                if (howactive < typesleeping) {
                     twitchdelay2 -= multiplier * 1.5;
-                else
+                } else {
                     twitchdelay2 -= multiplier * 0.5;
+                }
                 if (howactive <= typesleeping) {
                     if (tailmorphstart == 0 && tailmorphend == 0 && twitchdelay2 <= 0) {
                         tailmorphness = 0;
@@ -4762,20 +5195,22 @@ void Person::DoStuff()
     }
     if (creature == wolftype) {
         twitchdelay2 -= multiplier * 1.5;
-        if (tailmorphend != 0)
+        if (tailmorphend != 0) {
             if ((isRun() || animTarget == jumpupanim || animTarget == jumpdownanim || animTarget == backflipanim) && !skeleton.free) {
                 tailmorphness = 0;
                 targettailmorphness = 1;
                 tailmorphend = 0;
                 twitchdelay2 = .1;
             }
-        if (tailmorphend != 5)
+        }
+        if (tailmorphend != 5) {
             if (animTarget == flipanim || animTarget == frontflipanim || animTarget == rollanim || skeleton.free) {
                 tailmorphness = 0;
                 targettailmorphness = 1;
                 tailmorphend = 5;
                 twitchdelay2 = .1;
             }
+        }
         if (twitchdelay2 <= 0) {
             if (((tailmorphstart == 0 && tailmorphend == 0) || (tailmorphstart == 5 && tailmorphend == 5))) {
                 tailmorphness = 0;
@@ -4805,68 +5240,74 @@ void Person::DoStuff()
         }
     }
 
-    if (dead != 1)
+    if (dead != 1) {
         unconscioustime = 0;
+    }
 
     if (dead == 1 || howactive == typesleeping) {
         unconscioustime += multiplier;
         //If unconscious, close eyes and mouth
-        if (righthandmorphend != 0)
+        if (righthandmorphend != 0) {
             righthandmorphness = 0;
+        }
         righthandmorphend = 0;
         targetrighthandmorphness = 1;
 
-        if (lefthandmorphend != 0)
+        if (lefthandmorphend != 0) {
             lefthandmorphness = 0;
+        }
         lefthandmorphend = 0;
         targetlefthandmorphness = 1;
 
-        if (headmorphend != 3 && headmorphend != 5)
+        if (headmorphend != 3 && headmorphend != 5) {
             headmorphness = 0;
+        }
         headmorphend = 3;
         targetheadmorphness = 1;
     }
 
-
     if (howactive > typesleeping) {
         XYZ headpoint;
         headpoint = coords;
         if (bloodtoggle && !bled) {
             terrain.MakeDecal(blooddecalslow, headpoint, .8, .5, 0);
-        }
-        if (bloodtoggle && !bled)
-            for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
-                int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
+            for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+                unsigned int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
                 XYZ point = DoRotation(headpoint - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0);
                 float size = .8;
                 float opacity = .6;
                 float yaw = 0;
                 Object::objects[j]->model.MakeDecal(blooddecalslow, &point, &size, &opacity, &yaw);
             }
+        }
         bled = 1;
     }
 
     if (dead == 2 || howactive > typesleeping) {
         //If dead, open mouth and hands
-        if (righthandmorphend != 0)
+        if (righthandmorphend != 0) {
             righthandmorphness = 0;
+        }
         righthandmorphend = 0;
         targetrighthandmorphness = 1;
 
-        if (lefthandmorphend != 0)
+        if (lefthandmorphend != 0) {
             lefthandmorphness = 0;
+        }
         lefthandmorphend = 0;
         targetlefthandmorphness = 1;
 
-        if (headmorphend != 2)
+        if (headmorphend != 2) {
             headmorphness = 0;
+        }
         headmorphend = 2;
         targetheadmorphness = 1;
     }
 
     if (stunned > 0 && !dead && headmorphend != 2) {
-        if (headmorphend != 4)
+        if (headmorphend != 4) {
             headmorphness = 0;
+        }
         headmorphend = 4;
         targetheadmorphness = 1;
     }
@@ -4888,8 +5329,9 @@ void Person::DoStuff()
             num_weapons--;
             if (num_weapons) {
                 weaponids[0] = weaponids[num_weapons];
-                if (weaponstuck == num_weapons)
+                if (weaponstuck == num_weapons) {
                     weaponstuck = 0;
+                }
             }
             weaponactive = -1;
             for (unsigned i = 0; i < Person::players.size(); i++) {
@@ -4897,8 +5339,6 @@ void Person::DoStuff()
             }
         }
 
-
-
         if ((id == 0 || distsq(&coords, &viewer) < 50) && autoslomo) {
             slomo = 1;
             slomodelay = .2;
@@ -4907,20 +5347,22 @@ void Person::DoStuff()
         damage += 20;
     }
 
-    if (!dead)
+    if (!dead) {
         damage -= multiplier * 13;
-    if (!dead)
         permanentdamage -= multiplier * 4;
-    if (isIdle() || isCrouch()) {
-        if (!dead)
+        if (isIdle() || isCrouch()) {
             permanentdamage -= multiplier * 4;
+        }
     }
-    if (damage < 0)
+    if (damage < 0) {
         damage = 0;
-    if (permanentdamage < 0)
+    }
+    if (permanentdamage < 0) {
         permanentdamage = 0;
-    if (superpermanentdamage < 0)
+    }
+    if (superpermanentdamage < 0) {
         superpermanentdamage = 0;
+    }
     if (permanentdamage < superpermanentdamage) {
         permanentdamage = superpermanentdamage;
     }
@@ -4944,8 +5386,9 @@ void Person::DoStuff()
             num_weapons--;
             if (num_weapons) {
                 weaponids[0] = weaponids[num_weapons];
-                if (weaponstuck == num_weapons)
+                if (weaponstuck == num_weapons) {
                     weaponstuck = 0;
+                }
             }
             weaponactive = -1;
             for (unsigned i = 0; i < Person::players.size(); i++) {
@@ -4959,8 +5402,9 @@ void Person::DoStuff()
             award_bonus(0, Wolfbonus);
         }
 
-        if (unconscioustime < .1 && (bonus != spinecrusher || bonustime > 1) && (bonus != FinishedBonus || bonustime > 1) && bloodloss < damagetolerance)
+        if (unconscioustime < .1 && (bonus != spinecrusher || bonustime > 1) && (bonus != FinishedBonus || bonustime > 1) && bloodloss < damagetolerance) {
             award_bonus(id, touchofdeath);
+        }
         if (id != 0 && unconscioustime > .1) {
             numafterkill++;
         }
@@ -4973,24 +5417,28 @@ void Person::DoStuff()
     }
 
     if (skeleton.free == 1) {
-        if (id == 0)
+        if (id == 0) {
             pause_sound(whooshsound);
+        }
 
         if (!dead) {
             //If knocked over, open hands and close mouth
-            if (righthandmorphend != 0)
+            if (righthandmorphend != 0) {
                 righthandmorphness = 0;
+            }
             righthandmorphend = 0;
             targetrighthandmorphness = 1;
 
-            if (lefthandmorphend != 0)
+            if (lefthandmorphend != 0) {
                 lefthandmorphness = 0;
+            }
             lefthandmorphend = 0;
             targetlefthandmorphness = 1;
 
             if (headmorphend != 3 && headmorphend != 5 && headmorphstart != 3 && headmorphstart != 5) {
-                if (headmorphend != 0)
+                if (headmorphend != 0) {
                     headmorphness = 0;
+                }
                 headmorphend = 0;
                 targetheadmorphness = 1;
             }
@@ -4999,8 +5447,9 @@ void Person::DoStuff()
         skeleton.DoGravity(&scale);
         float damageamount;
         damageamount = skeleton.DoConstraints(&coords, &scale) * 5;
-        if (damage > damagetolerance - damageamount && !dead && (bonus != spinecrusher || bonustime > 1) && (bonus != style || bonustime > 1) && (bonus != cannon || bonustime > 1))
+        if (damage > damagetolerance - damageamount && !dead && (bonus != spinecrusher || bonustime > 1) && (bonus != style || bonustime > 1) && (bonus != cannon || bonustime > 1)) {
             award_bonus(id, deepimpact);
+        }
         DoDamage(damageamount / ((protectionhigh + protectionhead + protectionlow) / 3));
 
         XYZ average;
@@ -5031,8 +5480,9 @@ void Person::DoStuff()
             skeleton.longdead += (2000 - findLength(&average)) * multiplier + multiplier;
             if (skeleton.longdead > 2000) {
                 if (skeleton.longdead > 6000) {
-                    if (id == 0)
+                    if (id == 0) {
                         pause_sound(whooshsound);
+                    }
                     skeleton.free = 3;
                     DrawSkeleton();
                     skeleton.free = 2;
@@ -5043,35 +5493,34 @@ void Person::DoStuff()
                     DoBlood(1, 255);
                     if (bloodtoggle && !bled) {
                         terrain.MakeDecal(blooddecal, headpoint, .2 * 1.2, .5, 0);
-                    }
-                    if (bloodtoggle && !bled)
-                        for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
-                            int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
+                        for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+                            unsigned int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
                             XYZ point = DoRotation(headpoint - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0);
                             float size = .2 * 1.2;
                             float opacity = .6;
                             float yaw = 0;
                             Object::objects[j]->model.MakeDecal(blooddecal, &point, &size, &opacity, &yaw);
                         }
+                    }
                     bled = 1;
                 }
                 if (dead == 2 && bloodloss >= damagetolerance) {
                     XYZ headpoint;
                     headpoint = (jointPos(abdomen) + jointPos(neck)) / 2 * scale + coords;
-                    if (bleeding <= 0)
+                    if (bleeding <= 0) {
                         DoBlood(1, 255);
+                    }
                     if (bloodtoggle && !bled) {
                         terrain.MakeDecal(blooddecalslow, headpoint, .8, .5, 0);
-                    }
-                    if (bloodtoggle && !bled)
-                        for (l = 0; l < terrain.patchobjectnum[whichpatchx][whichpatchz]; l++) {
-                            int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
+                        for (unsigned int l = 0; l < terrain.patchobjects[whichpatchx][whichpatchz].size(); l++) {
+                            unsigned int j = terrain.patchobjects[whichpatchx][whichpatchz][l];
                             XYZ point = DoRotation(headpoint - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0);
                             float size = .8;
                             float opacity = .6;
                             float yaw = 0;
                             Object::objects[j]->model.MakeDecal(blooddecalslow, &point, &size, &opacity, &yaw);
                         }
+                    }
                     bled = 1;
                 }
             }
@@ -5083,16 +5532,19 @@ void Person::DoStuff()
             startpoint = coords;
             endpoint = coords;
             endpoint.y -= .7;
-            if (terrain.lineTerrain(startpoint, endpoint, &colpoint) != -1)
+            if (terrain.lineTerrain(startpoint, endpoint, &colpoint) != -1) {
                 canrecover = 0;
-            if (velocity.y < -30)
+            }
+            if (velocity.y < -30) {
                 canrecover = 0;
-            for (i = 0; i < Object::objects.size(); i++) {
+            }
+            for (unsigned int i = 0; i < Object::objects.size(); i++) {
                 if (Object::objects[i]->type != treeleavestype && Object::objects[i]->type != bushtype && Object::objects[i]->type != firetype) {
                     colviewer = startpoint;
                     coltarget = endpoint;
-                    if (Object::objects[i]->model.LineCheck(&colviewer, &coltarget, &colpoint, &Object::objects[i]->position, &Object::objects[i]->yaw) != -1)
+                    if (Object::objects[i]->model.LineCheck(&colviewer, &coltarget, &colpoint, &Object::objects[i]->position, &Object::objects[i]->yaw) != -1) {
                         canrecover = 0;
+                    }
                 }
             }
             if (canrecover) {
@@ -5117,8 +5569,9 @@ void Person::DoStuff()
 
                 targetyaw = -asin(0 - terrainnormal.x);
                 targetyaw *= 360 / 6.28;
-                if (terrainnormal.z < 0)
+                if (terrainnormal.z < 0) {
                     targetyaw = 180 - targetyaw;
+                }
                 yaw = targetyaw;
 
                 frameTarget = 0;
@@ -5142,8 +5595,9 @@ void Person::DoStuff()
         if (findLength(&average) < 10 && !dead && skeleton.free) {
             skeleton.longdead += (2000 - findLength(&average)) * multiplier + multiplier;
             if (skeleton.longdead > (damage + 500) * 1.5) {
-                if (id == 0)
+                if (id == 0) {
                     pause_sound(whooshsound);
+                }
                 skeleton.free = 0;
                 velocity = 0;
                 XYZ middle;
@@ -5166,13 +5620,13 @@ void Person::DoStuff()
 
                 targetyaw = -asin(0 - terrainnormal.x);
                 targetyaw *= 360 / 6.28;
-                if (terrainnormal.z < 0)
+                if (terrainnormal.z < 0) {
                     targetyaw = 180 - targetyaw;
+                }
                 yaw = targetyaw;
 
                 targettilt2 = asin(terrainnormal.y) * 180 / 3.14 * -1;
 
-
                 if (skeleton.forward.y < 0) {
                     animTarget = getupfrombackanim;
                     frameTarget = 0;
@@ -5193,35 +5647,42 @@ void Person::DoStuff()
                     if (id == 0) {
                         if (rightkeydown) {
                             targetyaw -= 90;
-                            if (forwardkeydown)
+                            if (forwardkeydown) {
                                 targetyaw += 45;
-                            if (backkeydown)
+                            }
+                            if (backkeydown) {
                                 targetyaw -= 45;
+                            }
                         }
                         if (leftkeydown) {
                             targetyaw += 90;
-                            if (forwardkeydown)
+                            if (forwardkeydown) {
                                 targetyaw -= 45;
-                            if (backkeydown)
+                            }
+                            if (backkeydown) {
                                 targetyaw += 45;
+                            }
                         }
                         if (backkeydown) {
-                            if ( !leftkeydown && !rightkeydown)
+                            if (!leftkeydown && !rightkeydown) {
                                 targetyaw += 180;
+                            }
                         }
                         targetyaw += 180;
                     }
                 }
 
-                if (abs(targettilt2) > 50)
+                if (abs(targettilt2) > 50) {
                     targettilt2 = 0;
+                }
                 animCurrent = tempanim;
                 frameCurrent = 0;
                 target = 0;
                 tilt2 = targettilt2;
 
-                if (middle.y > 0 && animTarget != rollanim)
+                if (middle.y > 0 && animTarget != rollanim) {
                     targetoffset.y = middle.y + 1;
+                }
 
                 for (unsigned i = 0; i < skeleton.joints.size(); i++) {
                     tempanimation.frames[0].joints[i].position = skeleton.joints[i].position;
@@ -5232,9 +5693,11 @@ void Person::DoStuff()
 
         bool hasstaff;
         hasstaff = 0;
-        if (num_weapons > 0)
-            if (weapons[0].getType() == staff)
+        if (num_weapons > 0) {
+            if (weapons[0].getType() == staff) {
                 hasstaff = 1;
+            }
+        }
         if (!skeleton.freefall && freefall && ((jumpkeydown && jumpkeydowntime < .2) || (hasstaff && rabbitkickragdoll)) && !dead) {
             if (velocity.y > -30) {
                 XYZ tempvelocity;
@@ -5242,8 +5705,9 @@ void Person::DoStuff()
                 Normalise(&tempvelocity);
                 targetyaw = -asin(0 - tempvelocity.x);
                 targetyaw *= 360 / 6.28;
-                if (velocity.z < 0)
+                if (velocity.z < 0) {
                     targetyaw = 180 - targetyaw;
+                }
                 //targetyaw+=180;
 
                 skeleton.free = 0;
@@ -5272,16 +5736,16 @@ void Person::DoStuff()
                 targettilt2 = 0;
             }
         }
-        if (skeleton.freefall == 0)
+        if (skeleton.freefall == 0) {
             freefall = 0;
-
+        }
     }
 
-    if (aitype != passivetype || skeleton.free == 1)
-        if (findLengthfast(&velocity) > .1)
-            for (i = 0; i < Object::objects.size(); i++) {
-                if (Object::objects[i]->type == firetype)
-                    if (distsqflat(&coords, &Object::objects[i]->position) < Object::objects[i]->scale*Object::objects[i]->scale * 12 && distsq(&coords, &Object::objects[i]->position) < Object::objects[i]->scale*Object::objects[i]->scale * 49) {
+    if (aitype != passivetype || skeleton.free == 1) {
+        if (findLengthfast(&velocity) > .1) {
+            for (unsigned int i = 0; i < Object::objects.size(); i++) {
+                if (Object::objects[i]->type == firetype) {
+                    if (distsqflat(&coords, &Object::objects[i]->position) < Object::objects[i]->scale * Object::objects[i]->scale * 12 && distsq(&coords, &Object::objects[i]->position) < Object::objects[i]->scale * Object::objects[i]->scale * 49) {
                         if (onfire) {
                             if (!Object::objects[i]->onfire) {
                                 emit_sound_at(firestartsound, Object::objects[i]->position);
@@ -5294,8 +5758,9 @@ void Person::DoStuff()
                             }
                         }
                     }
-                if (Object::objects[i]->type == bushtype)
-                    if (distsqflat(&coords, &Object::objects[i]->position) < Object::objects[i]->scale*Object::objects[i]->scale * 12 && distsq(&coords, &Object::objects[i]->position) < Object::objects[i]->scale*Object::objects[i]->scale * 49) {
+                }
+                if (Object::objects[i]->type == bushtype) {
+                    if (distsqflat(&coords, &Object::objects[i]->position) < Object::objects[i]->scale * Object::objects[i]->scale * 12 && distsq(&coords, &Object::objects[i]->position) < Object::objects[i]->scale * Object::objects[i]->scale * 49) {
                         if (onfire) {
                             if (!Object::objects[i]->onfire) {
                                 emit_sound_at(firestartsound, Object::objects[i]->position);
@@ -5319,12 +5784,14 @@ void Person::DoStuff()
                             }
 
                             int howmany = 0;
-                            if (environment == grassyenvironment)
+                            if (environment == grassyenvironment) {
                                 howmany = findLength(&velocity) * 4;
-                            if (environment == snowyenvironment)
+                            }
+                            if (environment == snowyenvironment) {
                                 howmany = findLength(&velocity) * 2;
-                            if (detail == 2)
-                                if (environment != desertenvironment)
+                            }
+                            if (detail == 2) {
+                                if (environment != desertenvironment) {
                                     for (int j = 0; j < howmany; j++) {
                                         tempvel.x = float(abs(Random() % 100) - 50) / 20;
                                         tempvel.y = float(abs(Random() % 100) - 50) / 20;
@@ -5337,9 +5804,11 @@ void Person::DoStuff()
                                         Sprite::MakeSprite(splintersprite, pos, tempvel * .5 + velocity * float(abs(Random() % 100)) / 100, 165 / 255 + float(abs(Random() % 100) - 50) / 400, 0, 0, .2 + float(abs(Random() % 100) - 50) / 1300, 1);
                                         Sprite::setLastSpriteSpecial(1);
                                     }
+                                }
+                            }
                             howmany = findLength(&velocity) * 4;
-                            if (detail == 2)
-                                if (environment == snowyenvironment)
+                            if (detail == 2) {
+                                if (environment == snowyenvironment) {
                                     for (int j = 0; j < howmany; j++) {
                                         tempvel.x = float(abs(Random() % 100) - 50) / 20;
                                         tempvel.y = float(abs(Random() % 100) - 50) / 20;
@@ -5352,22 +5821,25 @@ void Person::DoStuff()
                                         Sprite::MakeSprite(splintersprite, pos, tempvel * .3 + velocity * float(abs(Random() % 100)) / 100 / 2, 1, 1, 1, .1, 1);
                                         Sprite::setLastSpriteSpecial(2);
                                     }
+                                }
+                            }
                         }
                         Object::objects[i]->rotx += velocity.x * multiplier * 6;
                         Object::objects[i]->roty += velocity.z * multiplier * 6;
                         Object::objects[i]->messedwith = .5;
                     }
+                }
                 XYZ tempcoord;
                 if (Object::objects[i]->type == treeleavestype && environment != desertenvironment) {
-                    if (Object::objects[i]->pitch == 0)
+                    if (Object::objects[i]->pitch == 0) {
                         tempcoord = coords;
-                    else {
+                    else {
                         tempcoord = coords - Object::objects[i]->position;
                         tempcoord = DoRotation(tempcoord, 0, -Object::objects[i]->yaw, 0);
                         tempcoord = DoRotation(tempcoord, -Object::objects[i]->pitch, 0, 0);
                         tempcoord += Object::objects[i]->position;
                     }
-                    if (distsqflat(&tempcoord, &Object::objects[i]->position) < Object::objects[i]->scale*Object::objects[i]->scale * 8 && distsq(&tempcoord, &Object::objects[i]->position) < Object::objects[i]->scale*Object::objects[i]->scale * 300 && tempcoord.y > Object::objects[i]->position.y + 3 * Object::objects[i]->scale) {
+                    if (distsqflat(&tempcoord, &Object::objects[i]->position) < Object::objects[i]->scale * Object::objects[i]->scale * 8 && distsq(&tempcoord, &Object::objects[i]->position) < Object::objects[i]->scale * Object::objects[i]->scale * 300 && tempcoord.y > Object::objects[i]->position.y + 3 * Object::objects[i]->scale) {
                         if (Object::objects[i]->messedwith <= 0) {
                             XYZ tempvel;
                             XYZ pos;
@@ -5379,12 +5851,14 @@ void Person::DoStuff()
                             }
 
                             int howmany = 0;
-                            if (environment == grassyenvironment)
+                            if (environment == grassyenvironment) {
                                 howmany = findLength(&velocity) * 4;
-                            if (environment == snowyenvironment)
+                            }
+                            if (environment == snowyenvironment) {
                                 howmany = findLength(&velocity) * 2;
-                            if (detail == 2)
-                                if (environment != desertenvironment)
+                            }
+                            if (detail == 2) {
+                                if (environment != desertenvironment) {
                                     for (int j = 0; j < howmany; j++) {
                                         tempvel.x = float(abs(Random() % 100) - 50) / 20;
                                         tempvel.y = float(abs(Random() % 100) - 50) / 20;
@@ -5398,9 +5872,11 @@ void Person::DoStuff()
                                         Sprite::MakeSprite(splintersprite, pos, tempvel * .5 + velocity * float(abs(Random() % 100)) / 100, 165 / 255 + float(abs(Random() % 100) - 50) / 400, 0, 0, .2 + float(abs(Random() % 100) - 50) / 1300, 1);
                                         Sprite::setLastSpriteSpecial(1);
                                     }
+                                }
+                            }
                             howmany = findLength(&velocity) * 4;
-                            if (detail == 2)
-                                if (environment == snowyenvironment)
+                            if (detail == 2) {
+                                if (environment == snowyenvironment) {
                                     for (int j = 0; j < howmany; j++) {
                                         tempvel.x = float(abs(Random() % 100) - 50) / 20;
                                         tempvel.y = float(abs(Random() % 100) - 50) / 20;
@@ -5414,37 +5890,49 @@ void Person::DoStuff()
                                         Sprite::MakeSprite(splintersprite, pos, tempvel * .3 + velocity * float(abs(Random() % 100)) / 100 / 2, 1, 1, 1, .1, 1);
                                         Sprite::setLastSpriteSpecial(2);
                                     }
+                                }
+                            }
                         }
                         Object::objects[i]->messedwith = .5;
                     }
                 }
             }
+        }
+    }
 
     if (!skeleton.free) {
         bool play;
         play = 0;
-        if ((stunned > 0 || surprised > 0) && Person::players.size() > 2 && aitype != passivetype)
+        if ((stunned > 0 || surprised > 0) && Person::players.size() > 2 && aitype != passivetype) {
             play = 1;
-        if (hasvictim)
-            if (aitype != passivetype && victim->skeleton.free && !victim->dead)
+        }
+        if (hasvictim) {
+            if (aitype != passivetype && victim->skeleton.free && !victim->dead) {
                 play = 1;
-        if (Tutorial::active && id != 0)
+            }
+        }
+        if (Tutorial::active && id != 0) {
             play = 0;
+        }
         if (play && aitype != playercontrolled) {
             int whichsound = -1;
-            i = abs(Random() % 4);
             if (speechdelay <= 0) {
+                unsigned int i = abs(Random() % 4);
                 if (creature == rabbittype) {
-                    if (i == 0)
+                    if (i == 0) {
                         whichsound = rabbitchitter;
-                    if (i == 1)
+                    }
+                    if (i == 1) {
                         whichsound = rabbitchitter2;
+                    }
                 }
                 if (creature == wolftype) {
-                    if (i == 0)
+                    if (i == 0) {
                         whichsound = growlsound;
-                    if (i == 1)
+                    }
+                    if (i == 1) {
                         whichsound = growl2sound;
+                    }
                 }
             }
             speechdelay = .3;
@@ -5454,15 +5942,19 @@ void Person::DoStuff()
             }
         }
 
-        if (animTarget == staggerbackhighanim)
+        if (animTarget == staggerbackhighanim) {
             staggerdelay = 1;
-        if (animTarget == staggerbackhardanim)
+        }
+        if (animTarget == staggerbackhardanim) {
             staggerdelay = 1;
+        }
         staggerdelay -= multiplier;
-        if (animTarget != crouchstabanim && animTarget != swordgroundstabanim && animTarget != staffgroundsmashanim)
+        if (animTarget != crouchstabanim && animTarget != swordgroundstabanim && animTarget != staffgroundsmashanim) {
             hasvictim = 1;
-        if (velocity.y < -30 && animTarget == jumpdownanim)
+        }
+        if (velocity.y < -30 && animTarget == jumpdownanim) {
             RagDoll(0);
+        }
         if (animCurrent != getIdle() && wasIdle() && animTarget != getIdle() && isIdle()) {
             animTarget = getIdle();
             frameTarget = 0;
@@ -5549,15 +6041,46 @@ void Person::DoStuff()
             }
         }
 
-        if (animTarget == spinkickanim || animTarget == staffspinhitreversalanim || animTarget == staffspinhitreversedanim || animTarget == staffhitreversalanim || animTarget == staffhitreversedanim || animTarget == hurtidleanim || animTarget == winduppunchanim || animTarget == swordslashreversalanim || animTarget == swordslashreversedanim || animTarget == knifeslashreversalanim || animTarget == knifeslashreversedanim || animTarget == knifethrowanim || animTarget == knifefollowanim || animTarget == knifefollowedanim || animTarget == killanim || animTarget == dropkickanim || animTarget == upunchanim || animTarget == knifeslashstartanim || animTarget == swordslashanim || animTarget == staffhitanim || animTarget == staffspinhitanim || animTarget == staffgroundsmashanim || animTarget == spinkickreversalanim || animTarget == sweepreversalanim || animTarget == lowkickanim || animTarget == sweepreversedanim || animTarget == rabbitkickreversalanim || animTarget == rabbitkickreversedanim || animTarget == jumpreversalanim || animTarget == jumpreversedanim) {
+        if (animTarget == spinkickanim ||
+            animTarget == staffspinhitreversalanim ||
+            animTarget == staffspinhitreversedanim ||
+            animTarget == staffhitreversalanim ||
+            animTarget == staffhitreversedanim ||
+            animTarget == hurtidleanim ||
+            animTarget == winduppunchanim ||
+            animTarget == swordslashreversalanim ||
+            animTarget == swordslashreversedanim ||
+            animTarget == knifeslashreversalanim ||
+            animTarget == knifeslashreversedanim ||
+            animTarget == knifethrowanim ||
+            animTarget == knifefollowanim ||
+            animTarget == knifefollowedanim ||
+            animTarget == killanim ||
+            animTarget == dropkickanim ||
+            animTarget == upunchanim ||
+            animTarget == knifeslashstartanim ||
+            animTarget == swordslashanim ||
+            animTarget == staffhitanim ||
+            animTarget == staffspinhitanim ||
+            animTarget == staffgroundsmashanim ||
+            animTarget == spinkickreversalanim ||
+            animTarget == sweepreversalanim ||
+            animTarget == lowkickanim ||
+            animTarget == sweepreversedanim ||
+            animTarget == rabbitkickreversalanim ||
+            animTarget == rabbitkickreversedanim ||
+            animTarget == jumpreversalanim ||
+            animTarget == jumpreversedanim) {
             //close hands and yell
-            if (righthandmorphend != 1 && righthandmorphness == targetrighthandmorphness) {
+            if (righthandmorphend != 1 &&
+                righthandmorphness == targetrighthandmorphness) {
                 righthandmorphness = 0;
                 righthandmorphend = 1;
                 targetrighthandmorphness = 1;
             }
 
-            if (lefthandmorphend != 1 && lefthandmorphness == targetlefthandmorphness) {
+            if (lefthandmorphend != 1 &&
+                lefthandmorphness == targetlefthandmorphness) {
                 lefthandmorphness = 0;
                 lefthandmorphend = 1;
                 targetlefthandmorphness = 1;
@@ -5580,7 +6103,7 @@ void Person::DoStuff()
             }
         }
 
-        if (!dead && animTarget != hurtidleanim)
+        if (!dead && animTarget != hurtidleanim) {
             if (behind || animTarget == killanim || animTarget == knifethrowanim || animTarget == knifefollowanim || animTarget == spinkickreversalanim || animTarget == rabbitkickreversedanim || animTarget == jumpreversedanim) {
                 if (headmorphend != 4 || headmorphness == targetheadmorphness) {
                     headmorphend = 4;
@@ -5588,6 +6111,7 @@ void Person::DoStuff()
                     targetheadmorphness = 1;
                 }
             }
+        }
 
         if (weaponactive != -1) {
             if (weapons[weaponids[weaponactive]].getType() != staff) {
@@ -5604,8 +6128,9 @@ void Person::DoStuff()
         terrainnormal = terrain.getNormal(coords.x, coords.z);
 
         if (Animation::animations[animTarget].attack != reversal) {
-            if (!isnormal(coords.x))
+            if (!isnormal(coords.x)) {
                 coords = oldcoords;
+            }
             oldcoords = coords;
         }
 
@@ -5617,47 +6142,58 @@ void Person::DoStuff()
         ReflectVector(&facing, terrainnormal);
         Normalise(&facing);
 
-        if (isRun() || animTarget == sneakanim || animTarget == rollanim || animTarget == walkanim) {
-            if (onterrain)
+        if (isRun() ||
+            animTarget == sneakanim || animTarget == rollanim || animTarget == walkanim) {
+            if (onterrain) {
                 targettilt2 = -facing.y * 20;
-            else
+            } else {
                 targettilt2 = 0;
+            }
         }
         onterrain = 0;
-        if (!isRun() && !Animation::animations[animTarget].attack && animTarget != getupfromfrontanim && animTarget != getupfrombackanim && animTarget != sneakanim)
+        if (!isRun() && !Animation::animations[animTarget].attack && animTarget != getupfromfrontanim && animTarget != getupfrombackanim && animTarget != sneakanim) {
             targettilt2 = 0;
+        }
         if (animTarget == jumpupanim || animTarget == jumpdownanim || isFlip()) {
             flatvelocity = velocity;
             flatvelocity.y = 0;
             flatvelspeed = findLength(&flatvelocity);
             targettilt = flatvelspeed * fast_sqrt(abs(velocity.y) * .7) * normaldotproduct(DoRotation(flatfacing, 0, -90, 0), flatvelocity);
             targettilt2 = flatvelspeed * fast_sqrt(abs(velocity.y) * .7) * normaldotproduct(flatfacing, flatvelocity);
-            if (velocity.y < 0)
+            if (velocity.y < 0) {
                 targettilt2 *= -1;
-            if (velocity.y < 0)
+            }
+            if (velocity.y < 0) {
                 targettilt *= -1;
-            if (targettilt > 25)
+            }
+            if (targettilt > 25) {
                 targettilt = 25;
-            if (targettilt < -25)
+            }
+            if (targettilt < -25) {
                 targettilt = -25;
+            }
         }
 
-        if (targettilt2 > 45)
+        if (targettilt2 > 45) {
             targettilt2 = 45;
-        if (targettilt2 < -45)
+        }
+        if (targettilt2 < -45) {
             targettilt2 = -45;
-        if (abs(tilt2 - targettilt2) < multiplier * 400)
+        }
+        if (abs(tilt2 - targettilt2) < multiplier * 400) {
             tilt2 = targettilt2;
-        else if (tilt2 > targettilt2) {
+        else if (tilt2 > targettilt2) {
             tilt2 -= multiplier * 400;
         } else if (tilt2 < targettilt2) {
             tilt2 += multiplier * 400;
         }
         if (!Animation::animations[animTarget].attack && animTarget != getupfrombackanim && animTarget != getupfromfrontanim) {
-            if (tilt2 > 25)
+            if (tilt2 > 25) {
                 tilt2 = 25;
-            if (tilt2 < -25)
+            }
+            if (tilt2 < -25) {
                 tilt2 = -25;
+            }
         }
 
         if (!isnormal(targettilt) && targettilt) {
@@ -5693,8 +6229,9 @@ void Person::DoStuff()
                 velocity.y += gravity * multiplier * 20;
                 ReflectVector(&velocity, terrain.getNormal(coords.x, coords.z));
                 velspeed = findLength(&velocity);
-                if (velspeed < speed * 30 * scale)
+                if (velspeed < speed * 30 * scale) {
                     velspeed = speed * 30 * scale;
+                }
                 velocity = flatfacing * velspeed;
             }
         } else if (isRun()) {
@@ -5762,7 +6299,6 @@ void Person::DoStuff()
             velocity = flatfacing * velspeed;
         }
 
-
         if ((animTarget == bounceidleanim || animCurrent == hurtidleanim) && (animCurrent == fightidleanim || animCurrent == knifefightidleanim)) {
             velocity -= facing * multiplier * speed * 700 * scale;
             velspeed = findLength(&velocity);
@@ -5833,17 +6369,18 @@ void Person::DoStuff()
             velspeed = findLength(&velocity);
         }
 
-
         if (animTarget == jumpupanim || animTarget == jumpdownanim || isFlip()) {
             velocity.y += gravity * multiplier;
         }
 
-        if (animTarget != climbanim && animTarget != hanganim && !isWallJump())
+        if (animTarget != climbanim && animTarget != hanganim && !isWallJump()) {
             coords += velocity * multiplier;
+        }
 
         if (coords.y < terrain.getHeight(coords.x, coords.z) && (animTarget == jumpdownanim || animTarget == jumpupanim || isFlip())) {
-            if (isFlip() && targetFrame().label == 7)
+            if (isFlip() && targetFrame().label == 7) {
                 RagDoll(0);
+            }
 
             if (animTarget == jumpupanim) {
                 jumppower = -4;
@@ -5859,7 +6396,9 @@ void Person::DoStuff()
             }
 
             if (animTarget == jumpdownanim || isFlip()) {
-                if (isFlip())jumppower = -4;
+                if (isFlip()) {
+                    jumppower = -4;
+                }
                 animTarget = getLanding();
                 emit_sound_at(landsound, coords, 128.);
 
@@ -5869,21 +6408,22 @@ void Person::DoStuff()
             }
         }
 
-        if (animTarget != jumpupanim && animTarget != jumpdownanim && !isFlip() && animTarget != climbanim && animTarget != hanganim && !isWallJump())
+        if (animTarget != jumpupanim && animTarget != jumpdownanim && !isFlip() && animTarget != climbanim && animTarget != hanganim && !isWallJump()) {
             coords.y += gravity * multiplier * 2;
+        }
         if (animTarget != jumpupanim && animTarget != jumpdownanim && !isFlip() && coords.y < terrain.getHeight(coords.x, coords.z)) {
             coords.y = terrain.getHeight(coords.x, coords.z);
             onterrain = 1;
         }
 
-
         if (isIdle() || animTarget == drawrightanim || animTarget == drawleftanim || animTarget == crouchdrawrightanim || animTarget == crouchstabanim || animTarget == swordgroundstabanim || isStop() || animTarget == removeknifeanim || animTarget == crouchremoveknifeanim || isLanding() || isCrouch() || Animation::animations[animTarget].attack || (animTarget == rollanim && targetFrame().label == 6)) {
             velspeed = findLength(&velocity);
             velocity.y = 0;
             if (velspeed < multiplier * 300 * scale) {
                 velocity = 0;
-            } else
+            } else {
                 velocity -= velocity / velspeed * multiplier * 300 * scale;
+            }
             if (velspeed > 5 && (isLanding() || isLandhard())) {
                 skiddingdelay += multiplier;
                 if (skiddelay <= 0) {
@@ -5891,17 +6431,13 @@ void Person::DoStuff()
                     FootLand(rightfoot, .5);
                     skiddelay = .02;
                 }
-            } else
+            } else {
                 skiddingdelay = 0;
+            }
         }
 
         if (isLandhard()) {
             velspeed = findLength(&velocity);
-            velocity.y = 0;
-            if (velspeed < multiplier * 600 * scale) {
-                velocity = 0;
-            } else
-                velocity -= velocity / velspeed * multiplier * 600 * scale;
             velocity = 0;
             if (velspeed > 5 && (isLanding() || isLandhard())) {
                 skiddingdelay += multiplier;
@@ -5910,12 +6446,14 @@ void Person::DoStuff()
                     FootLand(rightfoot, .5);
                     skiddelay = .02;
                 }
-            } else
+            } else {
                 skiddingdelay = 0;
+            }
         }
 
-        if (skiddingdelay < 0)
+        if (skiddingdelay < 0) {
             skiddingdelay += multiplier;
+        }
         if (skiddingdelay > .02 && !forwardkeydown && !backkeydown && !leftkeydown && !rightkeydown && !jumpkeydown && isLanding() && !landhard) {
             skiddingdelay = -1;
             if (!onterrain || environment == grassyenvironment) {
@@ -5930,8 +6468,9 @@ void Person::DoStuff()
             Normalise(&terrainnormal);
             targetyaw = -asin(0 - terrainnormal.x);
             targetyaw *= 360 / 6.28;
-            if (terrainnormal.z < 0)
+            if (terrainnormal.z < 0) {
                 targetyaw = 180 - targetyaw;
+            }
             targettilt2 = -asin(terrainnormal.y) * 360 / 6.28; //*-70;
         }
 
@@ -5959,11 +6498,10 @@ void Person::DoStuff()
     }
 }
 
-
 /* EFFECT
  * inverse kinematics helper function
  */
-void IKHelper(Person *p, float interp)
+void IKHelper(Personp, float interp)
 {
     XYZ point, change, change2;
     float heightleft, heightright;
@@ -6023,12 +6561,15 @@ int Person::DrawSkeleton()
         XYZ terrainlight;
         float terrainheight;
         float distance;
-        if (!isnormal(yaw))
+        if (!isnormal(yaw)) {
             yaw = 0;
-        if (!isnormal(tilt))
+        }
+        if (!isnormal(tilt)) {
             tilt = 0;
-        if (!isnormal(tilt2))
+        }
+        if (!isnormal(tilt2)) {
             tilt2 = 0;
+        }
         oldplayerdetail = playerdetail;
         playerdetail = 0;
         if (distsq(&viewer, &coords) < viewdistance * viewdistance / 32 && detail == 2) {
@@ -6040,8 +6581,9 @@ int Person::DrawSkeleton()
         if (distsq(&viewer, &coords) < viewdistance * viewdistance / 256 && (detail != 1 && detail != 2)) {
             playerdetail = 1;
         }
-        if (id == 0)
+        if (id == 0) {
             playerdetail = 1;
+        }
         if (playerdetail != oldplayerdetail) {
             updatedelay = 0;
             normalsupdatedelay = 0;
@@ -6058,7 +6600,7 @@ int Person::DrawSkeleton()
         }
         static XYZ mid;
         static float M[16];
-        static int i, k;
+        static int k;
         static int weaponattachmuscle;
         static int weaponrotatemuscle;
         static XYZ weaponpoint;
@@ -6066,51 +6608,53 @@ int Person::DrawSkeleton()
         if ((dead != 2 || skeleton.free != 2) && updatedelay <= 0) {
             if (!isSleeping() && !isSitting()) {
                 // TODO: give these meaningful names
-                const bool cond1 = (isIdle() || isCrouch() || isLanding() || isLandhard()
-                                    || animTarget == drawrightanim || animTarget == drawleftanim || animTarget == crouchdrawrightanim);
-                const bool cond2 = (wasIdle() || wasCrouch() || wasLanding() || wasLandhard()
-                                    || animCurrent == drawrightanim || animCurrent == drawleftanim || animCurrent == crouchdrawrightanim);
+                const bool cond1 = (isIdle() || isCrouch() || isLanding() || isLandhard() || animTarget == drawrightanim || animTarget == drawleftanim || animTarget == crouchdrawrightanim);
+                const bool cond2 = (wasIdle() || wasCrouch() || wasLanding() || wasLandhard() || animCurrent == drawrightanim || animCurrent == drawleftanim || animCurrent == crouchdrawrightanim);
 
                 if (onterrain && (cond1 && cond2) && !skeleton.free) {
                     IKHelper(this, 1);
-                    if (creature == wolftype)
+                    if (creature == wolftype) {
                         IKHelper(this, 1);
+                    }
                 }
 
                 if (onterrain && (cond1 && !cond2) && !skeleton.free) {
                     IKHelper(this, target);
-                    if (creature == wolftype)
+                    if (creature == wolftype) {
                         IKHelper(this, target);
+                    }
                 }
 
                 if (onterrain && (!cond1 && cond2) && !skeleton.free) {
                     IKHelper(this, 1 - target);
-                    if (creature == wolftype)
+                    if (creature == wolftype) {
                         IKHelper(this, 1 - target);
+                    }
                 }
             }
 
-            if (!skeleton.free && (!Animation::animations[animTarget].attack && animTarget != getupfrombackanim && ((animTarget != rollanim && !isFlip()) || targetFrame().label == 6) && animTarget != getupfromfrontanim && animTarget != wolfrunninganim && animTarget != rabbitrunninganim && animTarget != backhandspringanim && animTarget != walljumpfrontanim && animTarget != hurtidleanim && !isLandhard() && !isSleeping()))
+            if (!skeleton.free && (!Animation::animations[animTarget].attack && animTarget != getupfrombackanim && ((animTarget != rollanim && !isFlip()) || targetFrame().label == 6) && animTarget != getupfromfrontanim && animTarget != wolfrunninganim && animTarget != rabbitrunninganim && animTarget != backhandspringanim && animTarget != walljumpfrontanim && animTarget != hurtidleanim && !isLandhard() && !isSleeping())) {
                 DoHead();
-            else {
+            else {
                 targetheadyaw = -targetyaw;
                 targetheadpitch = 0;
-                if (Animation::animations[animTarget].attack == 3)
+                if (Animation::animations[animTarget].attack == 3) {
                     targetheadyaw += 180;
+                }
             }
-            for (i = 0; i < skeleton.drawmodel.vertexNum; i++) {
+            for (int i = 0; i < skeleton.drawmodel.vertexNum; i++) {
                 skeleton.drawmodel.vertex[i] = 0;
                 skeleton.drawmodel.vertex[i].y = 999;
             }
-            for (i = 0; i < skeleton.drawmodellow.vertexNum; i++) {
+            for (int i = 0; i < skeleton.drawmodellow.vertexNum; i++) {
                 skeleton.drawmodellow.vertex[i] = 0;
                 skeleton.drawmodellow.vertex[i].y = 999;
             }
-            for (i = 0; i < skeleton.drawmodelclothes.vertexNum; i++) {
+            for (int i = 0; i < skeleton.drawmodelclothes.vertexNum; i++) {
                 skeleton.drawmodelclothes.vertex[i] = 0;
                 skeleton.drawmodelclothes.vertex[i].y = 999;
             }
-            for (unsigned i = 0; i < skeleton.muscles.size(); i++) {
+            for (unsigned int i = 0; i < skeleton.muscles.size(); i++) {
                 // convenience renames
                 const int p1 = skeleton.muscles[i].parent1->label;
                 const int p2 = skeleton.muscles[i].parent2->label;
@@ -6145,17 +6689,19 @@ int Person::DrawSkeleton()
                         start = tailmorphstart;
                         endthing = tailmorphend;
                     }
-                    if (calcrot)
+                    if (calcrot) {
                         skeleton.FindRotationMuscle(i, animTarget);
+                    }
                     mid = (skeleton.muscles[i].parent1->position + skeleton.muscles[i].parent2->position) / 2;
                     glMatrixMode(GL_MODELVIEW);
                     glPushMatrix();
                     glLoadIdentity();
-                    if (!skeleton.free)
+                    if (!skeleton.free) {
                         glRotatef(tilt2, 1, 0, 0);
-                    if (!skeleton.free)
+                    }
+                    if (!skeleton.free) {
                         glRotatef(tilt, 0, 0, 1);
-
+                    }
 
                     glTranslatef(mid.x, mid.y, mid.z);
 
@@ -6170,26 +6716,30 @@ int Person::DrawSkeleton()
 
                     if (playerdetail || skeleton.free == 3) {
                         for (unsigned j = 0; j < skeleton.muscles[i].vertices.size(); j++) {
-                            XYZ &v0 = skeleton.model[start].vertex[skeleton.muscles[i].vertices[j]];
-                            XYZ &v1 = skeleton.model[endthing].vertex[skeleton.muscles[i].vertices[j]];
+                            XYZv0 = skeleton.model[start].vertex[skeleton.muscles[i].vertices[j]];
+                            XYZv1 = skeleton.model[endthing].vertex[skeleton.muscles[i].vertices[j]];
                             glMatrixMode(GL_MODELVIEW);
                             glPushMatrix();
-                            if (p1 == abdomen || p2 == abdomen)
+                            if (p1 == abdomen || p2 == abdomen) {
                                 glTranslatef((v0.x * (1 - morphness) + v1.x * morphness) * proportionbody.x,
                                              (v0.y * (1 - morphness) + v1.y * morphness) * proportionbody.y,
                                              (v0.z * (1 - morphness) + v1.z * morphness) * proportionbody.z);
-                            if (p1 == lefthand || p1 == righthand || p1 == leftwrist || p1 == rightwrist || p1 == leftelbow || p1 == rightelbow || p2 == leftelbow || p2 == rightelbow)
+                            }
+                            if (p1 == lefthand || p1 == righthand || p1 == leftwrist || p1 == rightwrist || p1 == leftelbow || p1 == rightelbow || p2 == leftelbow || p2 == rightelbow) {
                                 glTranslatef((v0.x * (1 - morphness) + v1.x * morphness) * proportionarms.x,
                                              (v0.y * (1 - morphness) + v1.y * morphness) * proportionarms.y,
                                              (v0.z * (1 - morphness) + v1.z * morphness) * proportionarms.z);
-                            if (p1 == leftfoot || p1 == rightfoot || p1 == leftankle || p1 == rightankle || p1 == leftknee || p1 == rightknee || p2 == leftknee || p2 == rightknee)
+                            }
+                            if (p1 == leftfoot || p1 == rightfoot || p1 == leftankle || p1 == rightankle || p1 == leftknee || p1 == rightknee || p2 == leftknee || p2 == rightknee) {
                                 glTranslatef((v0.x * (1 - morphness) + v1.x * morphness) * proportionlegs.x,
                                              (v0.y * (1 - morphness) + v1.y * morphness) * proportionlegs.y,
                                              (v0.z * (1 - morphness) + v1.z * morphness) * proportionlegs.z);
-                            if (p1 == head || p2 == head)
+                            }
+                            if (p1 == head || p2 == head) {
                                 glTranslatef((v0.x * (1 - morphness) + v1.x * morphness) * proportionhead.x,
                                              (v0.y * (1 - morphness) + v1.y * morphness) * proportionhead.y,
                                              (v0.z * (1 - morphness) + v1.z * morphness) * proportionhead.z);
+                            }
                             glGetFloatv(GL_MODELVIEW_MATRIX, M);
                             skeleton.drawmodel.vertex[skeleton.muscles[i].vertices[j]].x = M[12] * scale;
                             skeleton.drawmodel.vertex[skeleton.muscles[i].vertices[j]].y = M[13] * scale;
@@ -6199,25 +6749,29 @@ int Person::DrawSkeleton()
                     }
                     if (!playerdetail || skeleton.free == 3) {
                         for (unsigned j = 0; j < skeleton.muscles[i].verticeslow.size(); j++) {
-                            XYZ &v0 = skeleton.modellow.vertex[skeleton.muscles[i].verticeslow[j]];
+                            XYZv0 = skeleton.modellow.vertex[skeleton.muscles[i].verticeslow[j]];
                             glMatrixMode(GL_MODELVIEW);
                             glPushMatrix();
-                            if (p1 == abdomen || p2 == abdomen)
+                            if (p1 == abdomen || p2 == abdomen) {
                                 glTranslatef(v0.x * proportionbody.x,
                                              v0.y * proportionbody.y,
                                              v0.z * proportionbody.z);
-                            if (p1 == lefthand || p1 == righthand || p1 == leftwrist || p1 == rightwrist || p1 == leftelbow || p1 == rightelbow || p2 == leftelbow || p2 == rightelbow)
+                            }
+                            if (p1 == lefthand || p1 == righthand || p1 == leftwrist || p1 == rightwrist || p1 == leftelbow || p1 == rightelbow || p2 == leftelbow || p2 == rightelbow) {
                                 glTranslatef(v0.x * proportionarms.x,
                                              v0.y * proportionarms.y,
                                              v0.z * proportionarms.z);
-                            if (p1 == leftfoot || p1 == rightfoot || p1 == leftankle || p1 == rightankle || p1 == leftknee || p1 == rightknee || p2 == leftknee || p2 == rightknee)
+                            }
+                            if (p1 == leftfoot || p1 == rightfoot || p1 == leftankle || p1 == rightankle || p1 == leftknee || p1 == rightknee || p2 == leftknee || p2 == rightknee) {
                                 glTranslatef(v0.x * proportionlegs.x,
                                              v0.y * proportionlegs.y,
                                              v0.z * proportionlegs.z);
-                            if (p1 == head || p2 == head)
+                            }
+                            if (p1 == head || p2 == head) {
                                 glTranslatef(v0.x * proportionhead.x,
                                              v0.y * proportionhead.y,
                                              v0.z * proportionhead.z);
+                            }
 
                             glGetFloatv(GL_MODELVIEW_MATRIX, M);
                             skeleton.drawmodellow.vertex[skeleton.muscles[i].verticeslow[j]].x = M[12] * scale;
@@ -6234,10 +6788,12 @@ int Person::DrawSkeleton()
                     glMatrixMode(GL_MODELVIEW);
                     glPushMatrix();
                     glLoadIdentity();
-                    if (!skeleton.free)
+                    if (!skeleton.free) {
                         glRotatef(tilt2, 1, 0, 0);
-                    if (!skeleton.free)
+                    }
+                    if (!skeleton.free) {
                         glRotatef(tilt, 0, 0, 1);
+                    }
                     glTranslatef(mid.x, mid.y, mid.z);
                     skeleton.muscles[i].lastrotate1 = skeleton.muscles[i].rotate1;
                     glRotatef(-skeleton.muscles[i].lastrotate1 + 90, 0, 1, 0);
@@ -6249,25 +6805,29 @@ int Person::DrawSkeleton()
                     glRotatef(-skeleton.muscles[i].lastrotate3, 0, 1, 0);
 
                     for (unsigned j = 0; j < skeleton.muscles[i].verticesclothes.size(); j++) {
-                        XYZ &v0 = skeleton.modelclothes.vertex[skeleton.muscles[i].verticesclothes[j]];
+                        XYZv0 = skeleton.modelclothes.vertex[skeleton.muscles[i].verticesclothes[j]];
                         glMatrixMode(GL_MODELVIEW);
                         glPushMatrix();
-                        if (p1 == abdomen || p2 == abdomen)
+                        if (p1 == abdomen || p2 == abdomen) {
                             glTranslatef(v0.x * proportionbody.x,
                                          v0.y * proportionbody.y,
                                          v0.z * proportionbody.z);
-                        if (p1 == lefthand || p1 == righthand || p1 == leftwrist || p1 == rightwrist || p1 == leftelbow || p1 == rightelbow || p2 == leftelbow || p2 == rightelbow)
+                        }
+                        if (p1 == lefthand || p1 == righthand || p1 == leftwrist || p1 == rightwrist || p1 == leftelbow || p1 == rightelbow || p2 == leftelbow || p2 == rightelbow) {
                             glTranslatef(v0.x * proportionarms.x,
                                          v0.y * proportionarms.y,
                                          v0.z * proportionarms.z);
-                        if (p1 == leftfoot || p1 == rightfoot || p1 == leftankle || p1 == rightankle || p1 == leftknee || p1 == rightknee || p2 == leftknee || p2 == rightknee)
+                        }
+                        if (p1 == leftfoot || p1 == rightfoot || p1 == leftankle || p1 == rightankle || p1 == leftknee || p1 == rightknee || p2 == leftknee || p2 == rightknee) {
                             glTranslatef(v0.x * proportionlegs.x,
                                          v0.y * proportionlegs.y,
                                          v0.z * proportionlegs.z);
-                        if (p1 == head || p2 == head)
+                        }
+                        if (p1 == head || p2 == head) {
                             glTranslatef(v0.x * proportionhead.x,
                                          v0.y * proportionhead.y,
                                          v0.z * proportionhead.z);
+                        }
                         glGetFloatv(GL_MODELVIEW_MATRIX, M);
                         skeleton.drawmodelclothes.vertex[skeleton.muscles[i].verticesclothes[j]].x = M[12] * scale;
                         skeleton.drawmodelclothes.vertex[skeleton.muscles[i].verticesclothes[j]].y = M[13] * scale;
@@ -6280,17 +6840,22 @@ int Person::DrawSkeleton()
             }
             if (skeleton.free != 2 && (skeleton.free == 1 || skeleton.free == 3 || id == 0 || (normalsupdatedelay <= 0) || animTarget == getupfromfrontanim || animTarget == getupfrombackanim || animCurrent == getupfromfrontanim || animCurrent == getupfrombackanim)) {
                 normalsupdatedelay = 1;
-                if (playerdetail || skeleton.free == 3)
+                if (playerdetail || skeleton.free == 3) {
                     skeleton.drawmodel.CalculateNormals(0);
-                if (!playerdetail || skeleton.free == 3)
+                }
+                if (!playerdetail || skeleton.free == 3) {
                     skeleton.drawmodellow.CalculateNormals(0);
-                if (skeleton.clothes)
+                }
+                if (skeleton.clothes) {
                     skeleton.drawmodelclothes.CalculateNormals(0);
+                }
             } else {
-                if (playerdetail || skeleton.free == 3)
+                if (playerdetail || skeleton.free == 3) {
                     skeleton.drawmodel.UpdateVertexArrayNoTexNoNorm();
-                if (!playerdetail || skeleton.free == 3)
+                }
+                if (!playerdetail || skeleton.free == 3) {
                     skeleton.drawmodellow.UpdateVertexArrayNoTexNoNorm();
+                }
                 if (skeleton.clothes) {
                     skeleton.drawmodelclothes.UpdateVertexArrayNoTexNoNorm();
                 }
@@ -6298,14 +6863,18 @@ int Person::DrawSkeleton()
         }
         framemult = .01;
         updatedelaychange = -framemult * 4 * (45 - findDistance(&viewer, &coords) * 1);
-        if (updatedelaychange > -realmultiplier * 30)
+        if (updatedelaychange > -realmultiplier * 30) {
             updatedelaychange = -realmultiplier * 30;
-        if (updatedelaychange > -framemult * 4)
+        }
+        if (updatedelaychange > -framemult * 4) {
             updatedelaychange = -framemult * 4;
-        if (skeleton.free == 1)
+        }
+        if (skeleton.free == 1) {
             updatedelaychange *= 6;
-        if (id == 0)
+        }
+        if (id == 0) {
             updatedelaychange *= 8;
+        }
         updatedelay += updatedelaychange;
 
         glMatrixMode(GL_MODELVIEW);
@@ -6321,19 +6890,20 @@ int Person::DrawSkeleton()
             glDisable(GL_LIGHTING);
             glDisable(GL_TEXTURE_2D);
             glBegin(GL_POINTS);
-            if (playerdetail)
-                for (i = 0; i < skeleton.drawmodel.vertexNum; i++) {
-                    XYZ &v0 = skeleton.drawmodel.vertex[i];
+            if (playerdetail) {
+                for (int i = 0; i < skeleton.drawmodel.vertexNum; i++) {
+                    XYZv0 = skeleton.drawmodel.vertex[i];
                     glVertex3f(v0.x, v0.y, v0.z);
                 }
+            }
             glEnd();
             glBegin(GL_LINES);
 
-            if (playerdetail)
-                for (i = 0; i < skeleton.drawmodel.TriangleNum; i++) {
-                    XYZ &v0 = skeleton.drawmodel.vertex[skeleton.drawmodel.Triangles[i].vertex[0]];
-                    XYZ &v1 = skeleton.drawmodel.vertex[skeleton.drawmodel.Triangles[i].vertex[1]];
-                    XYZ &v2 = skeleton.drawmodel.vertex[skeleton.drawmodel.Triangles[i].vertex[2]];
+            if (playerdetail) {
+                for (unsigned int i = 0; i < skeleton.drawmodel.Triangles.size(); i++) {
+                    const XYZ& v0 = skeleton.drawmodel.getTriangleVertex(i, 0);
+                    const XYZ& v1 = skeleton.drawmodel.getTriangleVertex(i, 1);
+                    const XYZ& v2 = skeleton.drawmodel.getTriangleVertex(i, 2);
                     glVertex3f(v0.x, v0.y, v0.z);
                     glVertex3f(v1.x, v1.y, v1.z);
                     glVertex3f(v1.x, v1.y, v1.z);
@@ -6341,6 +6911,7 @@ int Person::DrawSkeleton()
                     glVertex3f(v2.x, v2.y, v2.z);
                     glVertex3f(v0.x, v0.y, v0.z);
                 }
+            }
 
             glEnd();
         }
@@ -6348,14 +6919,17 @@ int Person::DrawSkeleton()
         terrainlight = terrain.getLighting(coords.x, coords.z);
         distance = distsq(&viewer, &coords);
         distance = (viewdistance * viewdistance - (distance - (viewdistance * viewdistance * fadestart)) * (1 / (1 - fadestart))) / viewdistance / viewdistance;
-        if (distance > 1)
+        if (distance > 1) {
             distance = 1;
+        }
         if (distance > 0) {
             terrainheight = (coords.y - terrain.getHeight(coords.x, coords.z)) / 3 + 1;
-            if (terrainheight < 1)
+            if (terrainheight < 1) {
                 terrainheight = 1;
-            if (terrainheight > 1.7)
+            }
+            if (terrainheight > 1.7) {
                 terrainheight = 1.7;
+            }
 
             glColor4f((1 - (1 - terrainlight.x) / terrainheight) - burnt, (1 - (1 - terrainlight.y) / terrainheight) - burnt, (1 - (1 - terrainlight.z) / terrainheight) - burnt, distance);
             glDisable(GL_BLEND);
@@ -6373,11 +6947,12 @@ int Person::DrawSkeleton()
                 glDepthMask(0);
                 glEnable(GL_LIGHTING);
                 glEnable(GL_BLEND);
-                if (canattack && cananger)
+                if (canattack && cananger) {
                     if (Animation::animations[animTarget].attack == normalattack || Animation::animations[animTarget].attack == reversed) {
                         glDisable(GL_TEXTURE_2D);
                         glColor4f(1, 0, 0, 0.8);
                     }
+                }
                 glMatrixMode(GL_TEXTURE);
                 glPushMatrix();
                 glTranslatef(0, -smoketex, 0);
@@ -6385,20 +6960,22 @@ int Person::DrawSkeleton()
             }
             if (playerdetail) {
                 if (!showpoints) {
-                    if (Tutorial::active && (id != 0))
+                    if (Tutorial::active && (id != 0)) {
                         skeleton.drawmodel.drawdifftex(Sprite::cloudimpacttexture);
-                    else
+                    } else {
                         skeleton.drawmodel.draw();
+                    }
                 }
             }
             if (!playerdetail) {
-                if (Tutorial::active && (id != 0))
+                if (Tutorial::active && (id != 0)) {
                     skeleton.drawmodellow.drawdifftex(Sprite::cloudimpacttexture);
-                else
+                } else {
                     skeleton.drawmodellow.drawdifftex(skeleton.drawmodel.textureptr);
+                }
             }
 
-            if (!(Animation::animations[animTarget].attack == normalattack || Animation::animations[animTarget].attack == reversed))
+            if (!(Animation::animations[animTarget].attack == normalattack || Animation::animations[animTarget].attack == reversed)) {
                 if (Tutorial::active && id != 0) {
                     glPopMatrix();
                     glMatrixMode(GL_MODELVIEW);
@@ -6407,31 +6984,34 @@ int Person::DrawSkeleton()
                     glDepthMask(0);
                     glEnable(GL_LIGHTING);
                     glEnable(GL_BLEND);
-                    if (canattack && cananger)
+                    if (canattack && cananger) {
                         if (Animation::animations[animTarget].attack == normalattack || Animation::animations[animTarget].attack == reversed) {
                             glDisable(GL_TEXTURE_2D);
                             glColor4f(1, 0, 0, 0.8);
                         }
+                    }
                     glMatrixMode(GL_TEXTURE);
                     glPushMatrix();
                     glTranslatef(0, -smoketex * .6, 0);
                     glTranslatef(smoketex * .6, 0, 0);
                     if (playerdetail) {
                         if (!showpoints) {
-                            if (Tutorial::active && (id != 0))
+                            if (Tutorial::active && (id != 0)) {
                                 skeleton.drawmodel.drawdifftex(Sprite::cloudimpacttexture);
-                            else
+                            } else {
                                 skeleton.drawmodel.draw();
+                            }
                         }
                     }
                     if (!playerdetail) {
-                        if (Tutorial::active && (id != 0))
+                        if (Tutorial::active && (id != 0)) {
                             skeleton.drawmodellow.drawdifftex(Sprite::cloudimpacttexture);
-                        else
+                        } else {
                             skeleton.drawmodellow.drawdifftex(skeleton.drawmodel.textureptr);
+                        }
                     }
                 }
-
+            }
 
             if (Tutorial::active && id != 0) {
                 glPopMatrix();
@@ -6441,10 +7021,12 @@ int Person::DrawSkeleton()
             if (skeleton.clothes) {
                 glDepthMask(0);
                 glEnable(GL_BLEND);
-                if (!immediate)
+                if (!immediate) {
                     skeleton.drawmodelclothes.draw();
-                if (immediate)
+                }
+                if (immediate) {
                     skeleton.drawmodelclothes.drawimmediate();
+                }
                 glDepthMask(1);
             }
         }
@@ -6452,7 +7034,7 @@ int Person::DrawSkeleton()
 
         if (num_weapons > 0) {
             for (k = 0; k < num_weapons; k++) {
-                i = weaponids[k];
+                int i = weaponids[k];
                 if (weaponactive == k) {
                     if (weapons[i].getType() != staff) {
                         for (unsigned j = 0; j < skeleton.muscles.size(); j++) {
@@ -6466,8 +7048,9 @@ int Person::DrawSkeleton()
                             }
                         }
                         weaponpoint = (skeleton.muscles[weaponattachmuscle].parent1->position + skeleton.muscles[weaponattachmuscle].parent2->position) / 2;
-                        if (creature == wolftype)
+                        if (creature == wolftype) {
                             weaponpoint = (jointPos(rightwrist) * .7 + jointPos(righthand) * .3);
+                        }
                     }
                     if (weapons[i].getType() == staff) {
                         for (unsigned j = 0; j < skeleton.muscles.size(); j++) {
@@ -6488,17 +7071,21 @@ int Person::DrawSkeleton()
                         vec2 = (jointPos(rightwrist) - jointPos(rightshoulder));
                         CrossProduct(&vec1, &vec2, &tempnormthing);
                         Normalise(&tempnormthing);
-                        if (animTarget != staffhitanim && animCurrent != staffhitanim && animTarget != staffgroundsmashanim && animCurrent != staffgroundsmashanim && animTarget != staffspinhitanim && animCurrent != staffspinhitanim)
+                        if (animTarget != staffhitanim && animCurrent != staffhitanim && animTarget != staffgroundsmashanim && animCurrent != staffgroundsmashanim && animTarget != staffspinhitanim && animCurrent != staffspinhitanim) {
                             weaponpoint += tempnormthing * .1 - skeleton.specialforward[1] * .3 + (jointPos(rightwrist) - jointPos(rightelbow));
+                        }
                     }
                 }
                 if (weaponactive != k && weaponstuck != k) {
-                    if (weapons[i].getType() == knife)
+                    if (weapons[i].getType() == knife) {
                         weaponpoint = jointPos(abdomen) + (jointPos(righthip) - jointPos(lefthip)) * .1 + (jointPos(rightshoulder) - jointPos(leftshoulder)) * .35;
-                    if (weapons[i].getType() == sword)
+                    }
+                    if (weapons[i].getType() == sword) {
                         weaponpoint = jointPos(abdomen) + (jointPos(lefthip) - jointPos(righthip)) * .09 + (jointPos(leftshoulder) - jointPos(rightshoulder)) * .33;
-                    if (weapons[i].getType() == staff)
+                    }
+                    if (weapons[i].getType() == staff) {
                         weaponpoint = jointPos(abdomen) + (jointPos(lefthip) - jointPos(righthip)) * .09 + (jointPos(leftshoulder) - jointPos(rightshoulder)) * .33;
+                    }
                     for (unsigned j = 0; j < skeleton.muscles.size(); j++) {
                         if ((skeleton.muscles[j].parent1->label == abdomen || skeleton.muscles[j].parent2->label == abdomen) && (skeleton.muscles[j].parent1->label == neck || skeleton.muscles[j].parent2->label == neck) && skeleton.muscles[j].vertices.size() > 0) {
                             weaponrotatemuscle = j;
@@ -6506,10 +7093,11 @@ int Person::DrawSkeleton()
                     }
                 }
                 if (weaponstuck == k) {
-                    if (weaponstuckwhere == 0)
+                    if (weaponstuckwhere == 0) {
                         weaponpoint = jointPos(abdomen) * .5 + jointPos(neck) * .5 - skeleton.forward * .8;
-                    else
+                    } else {
                         weaponpoint = jointPos(abdomen) * .5 + jointPos(neck) * .5 + skeleton.forward * .8;
+                    }
                     for (unsigned j = 0; j < skeleton.muscles.size(); j++) {
                         if ((skeleton.muscles[j].parent1->label == abdomen || skeleton.muscles[j].parent2->label == abdomen) && (skeleton.muscles[j].parent1->label == neck || skeleton.muscles[j].parent2->label == neck) && skeleton.muscles[j].vertices.size() > 0) {
                             weaponrotatemuscle = j;
@@ -6556,8 +7144,9 @@ int Person::DrawSkeleton()
                             weapons[i].rotation3 = 0;
                             weapons[i].smallrotation = -90;
                             weapons[i].smallrotation2 = 0;
-                            if (temppoint1.x > temppoint2.x)
+                            if (temppoint1.x > temppoint2.x) {
                                 weapons[i].rotation1 = 360 - weapons[i].rotation1;
+                            }
                         }
                         if ((animCurrent == knifeslashreversalanim && animTarget == knifeslashreversalanim) || (animCurrent == knifeslashreversedanim && animTarget == knifeslashreversedanim)) {
                             XYZ temppoint1, temppoint2;
@@ -6575,8 +7164,9 @@ int Person::DrawSkeleton()
                             weapons[i].rotation3 = 0;
                             weapons[i].smallrotation = 90;
                             weapons[i].smallrotation2 = 0;
-                            if (temppoint1.x > temppoint2.x)
+                            if (temppoint1.x > temppoint2.x) {
                                 weapons[i].rotation1 = 360 - weapons[i].rotation1;
+                            }
                         }
                         if (animTarget == knifethrowanim) {
                             weapons[i].smallrotation = 90;
@@ -6619,8 +7209,9 @@ int Person::DrawSkeleton()
                             weapons[i].rotation3 = 0;
                             weapons[i].smallrotation = 90;
                             weapons[i].smallrotation2 = 0;
-                            if (temppoint1.x > temppoint2.x)
+                            if (temppoint1.x > temppoint2.x) {
                                 weapons[i].rotation1 = 360 - weapons[i].rotation1;
+                            }
                         }
                     }
                     if (weapons[i].getType() == staff) {
@@ -6642,8 +7233,9 @@ int Person::DrawSkeleton()
                             weapons[i].rotation3 = 0;
                             weapons[i].smallrotation = 90;
                             weapons[i].smallrotation2 = 0;
-                            if (temppoint1.x > temppoint2.x)
+                            if (temppoint1.x > temppoint2.x) {
                                 weapons[i].rotation1 = 360 - weapons[i].rotation1;
+                            }
                         }
                     }
                 }
@@ -6662,10 +7254,11 @@ int Person::DrawSkeleton()
                     }
                 }
                 if (weaponstuck == k) {
-                    if (weaponstuckwhere == 0)
+                    if (weaponstuckwhere == 0) {
                         weapons[i].smallrotation = 180;
-                    else
+                    } else {
                         weapons[i].smallrotation = 0;
+                    }
                     weapons[i].smallrotation2 = 10;
                 }
             }
@@ -6673,24 +7266,26 @@ int Person::DrawSkeleton()
     }
 
     calcrot = 0;
-    if (skeleton.free)
+    if (skeleton.free) {
         calcrot = 1;
-    if (Animation::animations[animTarget].attack || isRun() || animTarget == staggerbackhardanim || isFlip() || animTarget == climbanim || animTarget == sneakanim || animTarget == rollanim || animTarget == walkanim || animTarget == backhandspringanim || isWallJump())
+    }
+    if (Animation::animations[animTarget].attack || isRun() || animTarget == staggerbackhardanim || isFlip() || animTarget == climbanim || animTarget == sneakanim || animTarget == rollanim || animTarget == walkanim || animTarget == backhandspringanim || isWallJump()) {
         calcrot = 1;
-    if (animCurrent != animTarget)
+    }
+    if (animCurrent != animTarget) {
         calcrot = 1;
-    if (skeleton.free == 2)
+    }
+    if (skeleton.free == 2) {
         calcrot = 0;
+    }
 
     return 0;
 }
 
-
 /* FUNCTION?
  */
-int Person::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate, Model *model)
+int Person::SphereCheck(XYZ* p1, float radius, XYZ* p, XYZ* move, float* rotate, Model* model)
 {
-    static int i, j;
     static float distance;
     static float olddistance;
     static int intersecting;
@@ -6704,41 +7299,48 @@ int Person::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate,
 
     oldp1 = *p1;
     *p1 = *p1 - *move;
-    if (distsq(p1, &model->boundingspherecenter) > radius * radius + model->boundingsphereradius * model->boundingsphereradius)
+    if (distsq(p1, &model->boundingspherecenter) > radius * radius + model->boundingsphereradius * model->boundingsphereradius) {
         return -1;
-    if (*rotate)
+    }
+    if (*rotate) {
         *p1 = DoRotation(*p1, 0, -*rotate, 0);
-    for (i = 0; i < 4; i++) {
-        for (j = 0; j < model->TriangleNum; j++) {
-            if (model->facenormals[j].y <= slopethreshold) {
+    }
+    for (int i = 0; i < 4; i++) {
+        for (unsigned int j = 0; j < model->Triangles.size(); j++) {
+            if (model->Triangles[j].facenormal.y <= slopethreshold) {
                 intersecting = 0;
-                distance = abs((model->facenormals[j].x * p1->x) + (model->facenormals[j].y * p1->y) + (model->facenormals[j].z * p1->z) - ((model->facenormals[j].x * model->vertex[model->Triangles[j].vertex[0]].x) + (model->facenormals[j].y * model->vertex[model->Triangles[j].vertex[0]].y) + (model->facenormals[j].z * model->vertex[model->Triangles[j].vertex[0]].z)));
+                distance = abs((model->Triangles[j].facenormal.x * p1->x) + (model->Triangles[j].facenormal.y * p1->y) + (model->Triangles[j].facenormal.z * p1->z) - ((model->Triangles[j].facenormal.x * model->vertex[model->Triangles[j].vertex[0]].x) + (model->Triangles[j].facenormal.y * model->vertex[model->Triangles[j].vertex[0]].y) + (model->Triangles[j].facenormal.z * model->vertex[model->Triangles[j].vertex[0]].z)));
                 if (distance < radius) {
-                    point = *p1 - model->facenormals[j] * distance;
-                    if (PointInTriangle( &point, model->facenormals[j], &model->vertex[model->Triangles[j].vertex[0]], &model->vertex[model->Triangles[j].vertex[1]], &model->vertex[model->Triangles[j].vertex[2]]))
+                    point = *p1 - model->Triangles[j].facenormal * distance;
+                    if (PointInTriangle(&point, model->Triangles[j].facenormal, &model->vertex[model->Triangles[j].vertex[0]], &model->vertex[model->Triangles[j].vertex[1]], &model->vertex[model->Triangles[j].vertex[2]])) {
                         intersecting = 1;
-                    if (!intersecting)
+                    }
+                    if (!intersecting) {
                         intersecting = sphere_line_intersection(&model->vertex[model->Triangles[j].vertex[0]],
                                                                 &model->vertex[model->Triangles[j].vertex[1]],
                                                                 p1, &radius);
-                    if (!intersecting)
+                    }
+                    if (!intersecting) {
                         intersecting = sphere_line_intersection(&model->vertex[model->Triangles[j].vertex[1]],
                                                                 &model->vertex[model->Triangles[j].vertex[2]],
                                                                 p1, &radius);
-                    if (!intersecting)
+                    }
+                    if (!intersecting) {
                         intersecting = sphere_line_intersection(&model->vertex[model->Triangles[j].vertex[0]],
                                                                 &model->vertex[model->Triangles[j].vertex[2]],
                                                                 p1, &radius);
+                    }
                     end = *p1 - point;
-                    if (dotproduct(&model->facenormals[j], &end) > 0 && intersecting) {
+                    if (dotproduct(&model->Triangles[j].facenormal, &end) > 0 && intersecting) {
                         start = *p1;
                         end = *p1;
                         end.y -= radius;
-                        if (LineFacetd(&start, &end, &model->vertex[model->Triangles[j].vertex[0]], &model->vertex[model->Triangles[j].vertex[1]], &model->vertex[model->Triangles[j].vertex[2]], &model->facenormals[j], &point)) {
+                        if (LineFacetd(&start, &end, &model->vertex[model->Triangles[j].vertex[0]], &model->vertex[model->Triangles[j].vertex[1]], &model->vertex[model->Triangles[j].vertex[2]], &model->Triangles[j].facenormal, &point)) {
                             p1->y = point.y + radius;
                             if ((animTarget == jumpdownanim || isFlip())) {
-                                if (isFlip() && (frameTarget < 5 || targetFrame().label == 7 || targetFrame().label == 4))
+                                if (isFlip() && (frameTarget < 5 || targetFrame().label == 7 || targetFrame().label == 4)) {
                                     RagDoll(0);
+                                }
 
                                 if (animTarget == jumpupanim) {
                                     jumppower = -4;
@@ -6754,8 +7356,9 @@ int Person::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate,
                                 }
 
                                 if ((animTarget == jumpdownanim || isFlip()) && !wasLanding() && !wasLandhard()) {
-                                    if (isFlip())
+                                    if (isFlip()) {
                                         jumppower = -4;
+                                    }
                                     animTarget = getLanding();
                                     emit_sound_at(landsound, coords, 128.);
 
@@ -6774,39 +7377,39 @@ int Person::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate,
                 }
             }
         }
-        for (j = 0; j < model->TriangleNum; j++) {
-            if (model->facenormals[j].y > slopethreshold) {
+        for (unsigned int j = 0; j < model->Triangles.size(); j++) {
+            if (model->Triangles[j].facenormal.y > slopethreshold) {
                 intersecting = 0;
                 start = *p1;
                 start.y -= radius / 4;
-                XYZ &v0 = model->vertex[model->Triangles[j].vertex[0]];
-                XYZ &v1 = model->vertex[model->Triangles[j].vertex[1]];
-                XYZ &v2 = model->vertex[model->Triangles[j].vertex[2]];
-                distance = abs((model->facenormals[j].x * start.x)
-                               + (model->facenormals[j].y * start.y)
-                               + (model->facenormals[j].z * start.z)
-                               - ((model->facenormals[j].x * v0.x)
-                                  + (model->facenormals[j].y * v0.y)
-                                  + (model->facenormals[j].z * v0.z)));
+                XYZ& v0 = model->vertex[model->Triangles[j].vertex[0]];
+                XYZ& v1 = model->vertex[model->Triangles[j].vertex[1]];
+                XYZ& v2 = model->vertex[model->Triangles[j].vertex[2]];
+                distance = abs((model->Triangles[j].facenormal.x * start.x) + (model->Triangles[j].facenormal.y * start.y) + (model->Triangles[j].facenormal.z * start.z) - ((model->Triangles[j].facenormal.x * v0.x) + (model->Triangles[j].facenormal.y * v0.y) + (model->Triangles[j].facenormal.z * v0.z)));
                 if (distance < radius * .5) {
-                    point = start - model->facenormals[j] * distance;
-                    if (PointInTriangle( &point, model->facenormals[j], &v0, &v1, &v2))
+                    point = start - model->Triangles[j].facenormal * distance;
+                    if (PointInTriangle(&point, model->Triangles[j].facenormal, &v0, &v1, &v2)) {
                         intersecting = 1;
-                    if (!intersecting)
+                    }
+                    if (!intersecting) {
                         intersecting = sphere_line_intersection(v0.x, v0.y, v0.z, v1.x, v1.y, v1.z, p1->x, p1->y, p1->z, radius / 2);
-                    if (!intersecting)
+                    }
+                    if (!intersecting) {
                         intersecting = sphere_line_intersection(v1.x, v1.y, v1.z, v2.x, v2.y, v2.z, p1->x, p1->y, p1->z, radius / 2);
-                    if (!intersecting)
+                    }
+                    if (!intersecting) {
                         intersecting = sphere_line_intersection(v0.x, v0.y, v0.z, v2.x, v2.y, v2.z, p1->x, p1->y, p1->z, radius / 2);
+                    }
                     end = *p1 - point;
-                    if (dotproduct(&model->facenormals[j], &end) > 0 && intersecting) {
+                    if (dotproduct(&model->Triangles[j].facenormal, &end) > 0 && intersecting) {
                         if ((animTarget == jumpdownanim || animTarget == jumpupanim || isFlip())) {
                             start = velocity;
-                            velocity -= DoRotation(model->facenormals[j], 0, *rotate, 0) * findLength(&velocity) * abs(normaldotproduct(velocity, DoRotation(model->facenormals[j], 0, *rotate, 0))); //(distance-radius*.5)/multiplier;
-                            if (findLengthfast(&start) < findLengthfast(&velocity))
+                            velocity -= DoRotation(model->Triangles[j].facenormal, 0, *rotate, 0) * findLength(&velocity) * abs(normaldotproduct(velocity, DoRotation(model->Triangles[j].facenormal, 0, *rotate, 0))); //(distance-radius*.5)/multiplier;
+                            if (findLengthfast(&start) < findLengthfast(&velocity)) {
                                 velocity = start;
+                            }
                         }
-                        *p1 += model->facenormals[j] * (distance - radius * .5);
+                        *p1 += model->Triangles[j].facenormal * (distance - radius * .5);
                     }
                 }
                 if ((distance < olddistance || firstintersecting == -1) && intersecting) {
@@ -6817,46 +7420,55 @@ int Person::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate,
             }
         }
     }
-    if (*rotate)
+    if (*rotate) {
         *p = DoRotation(*p, 0, *rotate, 0);
+    }
     *p = *p + *move;
-    if (*rotate)
+    if (*rotate) {
         *p1 = DoRotation(*p1, 0, *rotate, 0);
+    }
     *p1 += *move;
     return firstintersecting;
 }
 
 int findPathDist(int start, int end)
 {
-    int smallestcount, count, connected;
-    int last, last2, last3, last4;
+    int connected;
     int closest;
 
-    smallestcount = 1000;
-    for (int i = 0; i < 50; i++) {
-        count = 0;
-        last = start;
-        last2 = -1;
-        last3 = -1;
-        last4 = -1;
+    unsigned int smallestcount = 1000;
+    for (char i = 0; i < 50; i++) {
+        unsigned int count = 0;
+        int last = start;
+        int last2 = -1;
+        int last3 = -1;
+        int last4 = -1;
         while (last != end && count < 30) {
             closest = -1;
             for (int j = 0; j < Game::numpathpoints; j++) {
                 if (j != last && j != last2 && j != last3 && j != last4) {
                     connected = 0;
-                    if (Game::numpathpointconnect[j])
+                    if (Game::numpathpointconnect[j]) {
                         for (int k = 0; k < Game::numpathpointconnect[j]; k++) {
-                            if (Game::pathpointconnect[j][k] == last)connected = 1;
+                            if (Game::pathpointconnect[j][k] == last) {
+                                connected = 1;
+                            }
                         }
-                    if (!connected)
-                        if (Game::numpathpointconnect[last])
+                    }
+                    if (!connected) {
+                        if (Game::numpathpointconnect[last]) {
                             for (int k = 0; k < Game::numpathpointconnect[last]; k++) {
-                                if (Game::pathpointconnect[last][k] == j)connected = 1;
+                                if (Game::pathpointconnect[last][k] == j) {
+                                    connected = 1;
+                                }
                             }
-                    if (connected)
+                        }
+                    }
+                    if (connected) {
                         if (closest == -1 || Random() % 2 == 0) {
                             closest = j;
                         }
+                    }
                 }
             }
             last4 = last3;
@@ -6865,8 +7477,9 @@ int findPathDist(int start, int end)
             last = closest;
             count++;
         }
-        if (count < smallestcount)
+        if (count < smallestcount) {
             smallestcount = count;
+        }
     }
     return smallestcount;
 }
@@ -6910,30 +7523,46 @@ bool Person::addClothes(const int& clothesId)
         float tintg = clothestintg[clothesId];
         float tintb = clothestintb[clothesId];
 
-        if (tintr > 1) tintr = 1;
-        if (tintg > 1) tintg = 1;
-        if (tintb > 1) tintb = 1;
+        if (tintr > 1) {
+            tintr = 1;
+        }
+        if (tintg > 1) {
+            tintg = 1;
+        }
+        if (tintb > 1) {
+            tintb = 1;
+        }
 
-        if (tintr < 0) tintr = 0;
-        if (tintg < 0) tintg = 0;
-        if (tintb < 0) tintb = 0;
+        if (tintr < 0) {
+            tintr = 0;
+        }
+        if (tintg < 0) {
+            tintg = 0;
+        }
+        if (tintb < 0) {
+            tintb = 0;
+        }
 
         int bytesPerPixel = texture.bpp / 8;
 
         int tempnum = 0;
         alphanum = 255;
         for (int i = 0; i < (int)(texture.sizeY * texture.sizeX * bytesPerPixel); i++) {
-            if (bytesPerPixel == 3)
+            if (bytesPerPixel == 3) {
                 alphanum = 255;
-            else if ((i + 1) % 4 == 0)
+            } else if ((i + 1) % 4 == 0) {
                 alphanum = texture.data[i];
+            }
             if ((i + 1) % 4 || bytesPerPixel == 3) {
-                if ((i % 4) == 0)
+                if ((i % 4) == 0) {
                     texture.data[i] *= tintr;
-                if ((i % 4) == 1)
+                }
+                if ((i % 4) == 1) {
                     texture.data[i] *= tintg;
-                if ((i % 4) == 2)
+                }
+                if ((i % 4) == 2) {
                     texture.data[i] *= tintb;
+                }
                 array[tempnum] = (float)array[tempnum] * (1 - alphanum / 255) + (float)texture.data[i] * (alphanum / 255);
                 tempnum++;
             }
@@ -6949,20 +7578,22 @@ void Person::doAI()
     if (aitype != playercontrolled && !Dialog::inDialog()) {
         jumpclimb = 0;
         //disable movement in editor
-        if (Game::editorenabled)
+        if (Game::editorenabled) {
             stunned = 1;
+        }
 
         pause = 0;
         if (distsqflat(&Person::players[0]->coords, &coords) < 30 &&
-                Person::players[0]->coords.y > coords.y + 2 &&
-                !Person::players[0]->onterrain)
+            Person::players[0]->coords.y > coords.y + 2 &&
+            !Person::players[0]->onterrain) {
             pause = 1;
+        }
 
         //pathfinding
         if (aitype == pathfindtype) {
             if (finalpathfindpoint == -1) {
                 float closestdistance;
-                float tempdist;
+                float tempdist = 0.0f;
                 int closest;
                 XYZ colpoint;
                 closest = -1;
@@ -6978,63 +7609,73 @@ void Person::doAI()
                 for (int j = 0; j < Game::numpathpoints; j++) {
                     for (int k = 0; k < Game::numpathpointconnect[j]; k++) {
                         DistancePointLine(&finalfinaltarget, &Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]], &tempdist, &colpoint);
-                        if (sq(tempdist) < closestdistance)
+                        if (sq(tempdist) < closestdistance) {
                             if (findDistance(&colpoint, &Game::pathpoint[j]) + findDistance(&colpoint, &Game::pathpoint[Game::pathpointconnect[j][k]]) <
-                                    findDistance(&Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]]) + .1) {
+                                findDistance(&Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]]) + .1) {
                                 closestdistance = sq(tempdist);
                                 closest = j;
                                 finaltarget = colpoint;
                             }
+                        }
                     }
                 }
                 finalpathfindpoint = closest;
-
             }
             if (targetpathfindpoint == -1) {
                 float closestdistance;
-                float tempdist;
+                float tempdist = 0.0f;
                 int closest;
                 XYZ colpoint;
                 closest = -1;
                 closestdistance = -1;
                 if (lastpathfindpoint == -1) {
                     for (int j = 0; j < Game::numpathpoints; j++) {
-                        if (j != lastpathfindpoint)
+                        if (j != lastpathfindpoint) {
                             if (closest == -1 || (distsq(&coords, &Game::pathpoint[j]) < closestdistance)) {
                                 closestdistance = distsq(&coords, &Game::pathpoint[j]);
                                 closest = j;
                             }
+                        }
                     }
                     targetpathfindpoint = closest;
-                    for (int j = 0; j < Game::numpathpoints; j++)
-                        if (j != lastpathfindpoint)
+                    for (int j = 0; j < Game::numpathpoints; j++) {
+                        if (j != lastpathfindpoint) {
                             for (int k = 0; k < Game::numpathpointconnect[j]; k++) {
-                                DistancePointLine(&coords, &Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]], &tempdist, &colpoint );
+                                DistancePointLine(&coords, &Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]], &tempdist, &colpoint);
                                 if (sq(tempdist) < closestdistance) {
                                     if (findDistance(&colpoint, &Game::pathpoint[j]) + findDistance(&colpoint, &Game::pathpoint[Game::pathpointconnect[j][k]]) <
-                                            findDistance(&Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]]) + .1) {
+                                        findDistance(&Game::pathpoint[j], &Game::pathpoint[Game::pathpointconnect[j][k]]) + .1) {
                                         closestdistance = sq(tempdist);
                                         closest = j;
                                     }
                                 }
                             }
+                        }
+                    }
                     targetpathfindpoint = closest;
                 } else {
-                    for (int j = 0; j < Game::numpathpoints; j++)
+                    for (int j = 0; j < Game::numpathpoints; j++) {
                         if (j != lastpathfindpoint &&
-                                j != lastpathfindpoint2 &&
-                                j != lastpathfindpoint3 &&
-                                j != lastpathfindpoint4) {
+                            j != lastpathfindpoint2 &&
+                            j != lastpathfindpoint3 &&
+                            j != lastpathfindpoint4) {
                             bool connected = 0;
-                            if (Game::numpathpointconnect[j])
-                                for (int k = 0; k < Game::numpathpointconnect[j]; k++)
-                                    if (Game::pathpointconnect[j][k] == lastpathfindpoint)
+                            if (Game::numpathpointconnect[j]) {
+                                for (int k = 0; k < Game::numpathpointconnect[j]; k++) {
+                                    if (Game::pathpointconnect[j][k] == lastpathfindpoint) {
                                         connected = 1;
-                            if (!connected)
-                                if (Game::numpathpointconnect[lastpathfindpoint])
-                                    for (int k = 0; k < Game::numpathpointconnect[lastpathfindpoint]; k++)
-                                        if (Game::pathpointconnect[lastpathfindpoint][k] == j)
+                                    }
+                                }
+                            }
+                            if (!connected) {
+                                if (Game::numpathpointconnect[lastpathfindpoint]) {
+                                    for (int k = 0; k < Game::numpathpointconnect[lastpathfindpoint]; k++) {
+                                        if (Game::pathpointconnect[lastpathfindpoint][k] == j) {
                                             connected = 1;
+                                        }
+                                    }
+                                }
+                            }
                             if (connected) {
                                 tempdist = findPathDist(j, finalpathfindpoint);
                                 if (closest == -1 || tempdist < closestdistance) {
@@ -7043,6 +7684,7 @@ void Person::doAI()
                                 }
                             }
                         }
+                    }
                     targetpathfindpoint = closest;
                 }
             }
@@ -7057,18 +7699,21 @@ void Person::doAI()
                 lastpathfindpoint3 = lastpathfindpoint2;
                 lastpathfindpoint2 = lastpathfindpoint;
                 lastpathfindpoint = targetpathfindpoint;
-                if (lastpathfindpoint2 == -1)
+                if (lastpathfindpoint2 == -1) {
                     lastpathfindpoint2 = lastpathfindpoint;
-                if (lastpathfindpoint3 == -1)
+                }
+                if (lastpathfindpoint3 == -1) {
                     lastpathfindpoint3 = lastpathfindpoint2;
-                if (lastpathfindpoint4 == -1)
+                }
+                if (lastpathfindpoint4 == -1) {
                     lastpathfindpoint4 = lastpathfindpoint3;
+                }
                 targetpathfindpoint = -1;
             }
-            if (     distsqflat(&coords, &finalfinaltarget) <
-                     distsqflat(&coords, &finaltarget) ||
-                     distsqflat(&coords, &finaltarget) < .6 * sq(scale * 5) ||
-                     lastpathfindpoint == finalpathfindpoint) {
+            if (distsqflat(&coords, &finalfinaltarget) <
+                    distsqflat(&coords, &finaltarget) ||
+                distsqflat(&coords, &finaltarget) < .6 * sq(scale * 5) ||
+                lastpathfindpoint == finalpathfindpoint) {
                 aitype = passivetype;
             }
 
@@ -7080,68 +7725,78 @@ void Person::doAI()
             attackkeydown = 0;
             throwkeydown = 0;
 
-            if (avoidcollided > .8 && !jumpkeydown && collided < .8)
+            if (avoidcollided > .8 && !jumpkeydown && collided < .8) {
                 targetyaw += 90 * (whichdirection * 2 - 1);
+            }
 
-            if (collided < 1 || animTarget != jumpupanim)
+            if (collided < 1 || animTarget != jumpupanim) {
                 jumpkeydown = 0;
-            if ((collided > .8 && jumppower >= 5))
+            }
+            if ((collided > .8 && jumppower >= 5)) {
                 jumpkeydown = 1;
+            }
 
             if ((!Tutorial::active || cananger) &&
-                    hostile &&
-                    !Person::players[0]->dead &&
-                    distsq(&coords, &Person::players[0]->coords) < 400 &&
-                    occluded < 25) {
+                hostile &&
+                !Person::players[0]->dead &&
+                distsq(&coords, &Person::players[0]->coords) < 400 &&
+                occluded < 25) {
                 if (distsq(&coords, &Person::players[0]->coords) < 12 &&
-                        Animation::animations[Person::players[0]->animTarget].height != lowheight &&
-                        !Game::editorenabled &&
-                        (Person::players[0]->coords.y < coords.y + 5 || Person::players[0]->onterrain))
+                    Animation::animations[Person::players[0]->animTarget].height != lowheight &&
+                    !Game::editorenabled &&
+                    (Person::players[0]->coords.y < coords.y + 5 || Person::players[0]->onterrain)) {
                     aitype = attacktypecutoff;
+                }
                 if (distsq(&coords, &Person::players[0]->coords) < 30 &&
-                        Animation::animations[Person::players[0]->animTarget].height == highheight &&
-                        !Game::editorenabled)
+                    Animation::animations[Person::players[0]->animTarget].height == highheight &&
+                    !Game::editorenabled) {
                     aitype = attacktypecutoff;
+                }
 
                 if (losupdatedelay < 0 && !Game::editorenabled && occluded < 2) {
                     losupdatedelay = .2;
-                    for (unsigned j = 0; j < Person::players.size(); j++)
-                        if (j == 0 || Person::players[j]->skeleton.free || Person::players[j]->aitype != passivetype)
-                            if (abs(Random() % 2) || Animation::animations[Person::players[j]->animTarget].height != lowheight || j != 0)
-                                if (distsq(&coords, &Person::players[j]->coords) < 400)
-                                    if (normaldotproduct(facing, Person::players[j]->coords - coords) > 0)
-                                        if (Person::players[j]->coords.y < coords.y + 5 || Person::players[j]->onterrain)
-                                            if (!Person::players[j]->isWallJump() && -1 == Object::checkcollide(
-                                                        DoRotation(jointPos(head), 0, yaw, 0)
-                                                        *scale + coords,
-                                                        DoRotation(Person::players[j]->jointPos(head), 0, Person::players[j]->yaw, 0)
-                                                        *Person::players[j]->scale + Person::players[j]->coords) ||
-                                                    (Person::players[j]->animTarget == hanganim &&
-                                                     normaldotproduct(Person::players[j]->facing, coords - Person::players[j]->coords) < 0)) {
+                    for (unsigned j = 0; j < Person::players.size(); j++) {
+                        if (j == 0 || Person::players[j]->skeleton.free || Person::players[j]->aitype != passivetype) {
+                            if (abs(Random() % 2) || Animation::animations[Person::players[j]->animTarget].height != lowheight || j != 0) {
+                                if (distsq(&coords, &Person::players[j]->coords) < 400) {
+                                    if (normaldotproduct(facing, Person::players[j]->coords - coords) > 0) {
+                                        if (Person::players[j]->coords.y < coords.y + 5 || Person::players[j]->onterrain) {
+                                            if (!Person::players[j]->isWallJump() && -1 == Object::checkcollide(DoRotation(jointPos(head), 0, yaw, 0) * scale + coords, DoRotation(Person::players[j]->jointPos(head), 0, Person::players[j]->yaw, 0) * Person::players[j]->scale + Person::players[j]->coords) ||
+                                                (Person::players[j]->animTarget == hanganim &&
+                                                 normaldotproduct(Person::players[j]->facing, coords - Person::players[j]->coords) < 0)) {
                                                 aitype = searchtype;
                                                 lastchecktime = 12;
                                                 lastseen = Person::players[j]->coords;
                                                 lastseentime = 12;
                                             }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
                 }
             }
-            if (aitype == attacktypecutoff && Game::musictype != 2)
+            if (aitype == attacktypecutoff && Game::musictype != 2) {
                 if (creature != wolftype) {
                     stunned = .6;
                     surprised = .6;
                 }
+            }
         }
 
-        if (aitype != passivetype && Game::leveltime > .5)
+        if (aitype != passivetype && Game::leveltime > .5) {
             howactive = typeactive;
+        }
 
         if (aitype == passivetype) {
             aiupdatedelay -= multiplier;
             losupdatedelay -= multiplier;
             lastseentime += multiplier;
             pausetime -= multiplier;
-            if (lastseentime > 1)
+            if (lastseentime > 1) {
                 lastseentime = 1;
+            }
 
             if (aiupdatedelay < 0) {
                 if (numwaypoints > 1 && howactive == typeactive && pausetime <= 0) {
@@ -7150,19 +7805,21 @@ void Person::doAI()
                     aiupdatedelay = .05;
 
                     if (distsqflat(&coords, &waypoints[waypoint]) < 1) {
-                        if (waypointtype[waypoint] == wppause)
+                        if (waypointtype[waypoint] == wppause) {
                             pausetime = 4;
+                        }
                         waypoint++;
-                        if (waypoint > numwaypoints - 1)
+                        if (waypoint > numwaypoints - 1) {
                             waypoint = 0;
-
+                        }
                     }
                 }
 
-                if (numwaypoints > 1 && howactive == typeactive && pausetime <= 0)
+                if (numwaypoints > 1 && howactive == typeactive && pausetime <= 0) {
                     forwardkeydown = 1;
-                else
+                } else {
                     forwardkeydown = 0;
+                }
                 leftkeydown = 0;
                 backkeydown = 0;
                 rightkeydown = 0;
@@ -7171,57 +7828,64 @@ void Person::doAI()
                 throwkeydown = 0;
 
                 if (avoidcollided > .8 && !jumpkeydown && collided < .8) {
-                    if (!avoidsomething)
+                    if (!avoidsomething) {
                         targetyaw += 90 * (whichdirection * 2 - 1);
-                    else {
+                    else {
                         XYZ leftpos, rightpos;
                         float leftdist, rightdist;
                         leftpos = coords + DoRotation(facing, 0, 90, 0);
                         rightpos = coords - DoRotation(facing, 0, 90, 0);
                         leftdist = distsq(&leftpos, &avoidwhere);
                         rightdist = distsq(&rightpos, &avoidwhere);
-                        if (leftdist < rightdist)
+                        if (leftdist < rightdist) {
                             targetyaw += 90;
-                        else
+                        } else {
                             targetyaw -= 90;
+                        }
                     }
                 }
             }
-            if (collided < 1 || animTarget != jumpupanim)
+            if (collided < 1 || animTarget != jumpupanim) {
                 jumpkeydown = 0;
-            if ((collided > .8 && jumppower >= 5))
+            }
+            if ((collided > .8 && jumppower >= 5)) {
                 jumpkeydown = 1;
-
+            }
 
             //hearing sounds
             if (!Game::editorenabled) {
-                if (howactive <= typesleeping)
-                    if (numenvsounds > 0 && (!Tutorial::active || cananger) && hostile)
+                if (howactive <= typesleeping) {
+                    if (numenvsounds > 0 && (!Tutorial::active || cananger) && hostile) {
                         for (int j = 0; j < numenvsounds; j++) {
                             float vol = howactive == typesleeping ? envsoundvol[j] - 14 : envsoundvol[j];
-                            if (vol > 0 && distsq(&coords, &envsound[j]) <
-                                    2 * (vol + vol * (creature == rabbittype) * 3))
+                            if (vol > 0 && distsq(&coords, &envsound[j]) < 2 * (vol + vol * (creature == rabbittype) * 3)) {
                                 aitype = attacktypecutoff;
+                            }
                         }
+                    }
+                }
 
                 if (aitype != passivetype) {
-                    if (howactive == typesleeping)
-                        setAnimation(getupfromfrontanim);
+                    if (howactive == typesleeping) {
+                        setTargetAnimation(getupfromfrontanim);
+                    }
                     howactive = typeactive;
                 }
             }
 
             if (howactive < typesleeping &&
-                    ((!Tutorial::active || cananger) && hostile) &&
-                    !Person::players[0]->dead &&
-                    distsq(&coords, &Person::players[0]->coords) < 400 &&
-                    occluded < 25) {
+                ((!Tutorial::active || cananger) && hostile) &&
+                !Person::players[0]->dead &&
+                distsq(&coords, &Person::players[0]->coords) < 400 &&
+                occluded < 25) {
                 if (distsq(&coords, &Person::players[0]->coords) < 12 &&
-                        Animation::animations[Person::players[0]->animTarget].height != lowheight && !Game::editorenabled)
+                    Animation::animations[Person::players[0]->animTarget].height != lowheight && !Game::editorenabled) {
                     aitype = attacktypecutoff;
+                }
                 if (distsq(&coords, &Person::players[0]->coords) < 30 &&
-                        Animation::animations[Person::players[0]->animTarget].height == highheight && !Game::editorenabled)
+                    Animation::animations[Person::players[0]->animTarget].height == highheight && !Game::editorenabled) {
                     aitype = attacktypecutoff;
+                }
 
                 //wolf smell
                 if (creature == wolftype) {
@@ -7230,19 +7894,24 @@ void Person::doAI()
                         if (j == 0 || (Person::players[j]->dead && Person::players[j]->bloodloss > 0)) {
                             float smelldistance = 50;
                             if (j == 0 && Person::players[j]->num_weapons > 0) {
-                                if (weapons[Person::players[j]->weaponids[0]].bloody)
+                                if (weapons[Person::players[j]->weaponids[0]].bloody) {
                                     smelldistance = 100;
-                                if (Person::players[j]->num_weapons == 2)
-                                    if (weapons[Person::players[j]->weaponids[1]].bloody)
+                                }
+                                if (Person::players[j]->num_weapons == 2) {
+                                    if (weapons[Person::players[j]->weaponids[1]].bloody) {
                                         smelldistance = 100;
+                                    }
+                                }
                             }
-                            if (j != 0)
+                            if (j != 0) {
                                 smelldistance = 100;
+                            }
                             windsmell = windvector;
                             Normalise(&windsmell);
                             windsmell = windsmell * 2 + Person::players[j]->coords;
-                            if (distsq(&coords, &windsmell) < smelldistance && !Game::editorenabled)
+                            if (distsq(&coords, &windsmell) < smelldistance && !Game::editorenabled) {
                                 aitype = attacktypecutoff;
+                            }
                         }
                     }
                 }
@@ -7251,23 +7920,29 @@ void Person::doAI()
                     losupdatedelay = .2;
                     for (unsigned j = 0; j < Person::players.size(); j++) {
                         if (j == 0 || Person::players[j]->skeleton.free || Person::players[j]->aitype != passivetype) {
-                            if (abs(Random() % 2) || Animation::animations[Person::players[j]->animTarget].height != lowheight || j != 0)
-                                if (distsq(&coords, &Person::players[j]->coords) < 400)
-                                    if (normaldotproduct(facing, Person::players[j]->coords - coords) > 0)
+                            if (abs(Random() % 2) || Animation::animations[Person::players[j]->animTarget].height != lowheight || j != 0) {
+                                if (distsq(&coords, &Person::players[j]->coords) < 400) {
+                                    if (normaldotproduct(facing, Person::players[j]->coords - coords) > 0) {
                                         if ((-1 == Object::checkcollide(
-                                                    DoRotation(jointPos(head), 0, yaw, 0)*
-                                                    scale + coords,
-                                                    DoRotation(Person::players[j]->jointPos(head), 0, Person::players[j]->yaw, 0)*
-                                                    Person::players[j]->scale + Person::players[j]->coords) &&
-                                                !Person::players[j]->isWallJump()) ||
-                                                (Person::players[j]->animTarget == hanganim &&
-                                                 normaldotproduct(Person::players[j]->facing, coords - Person::players[j]->coords) < 0)) {
+                                                       DoRotation(jointPos(head), 0, yaw, 0) *
+                                                               scale +
+                                                           coords,
+                                                       DoRotation(Person::players[j]->jointPos(head), 0, Person::players[j]->yaw, 0) *
+                                                               Person::players[j]->scale +
+                                                           Person::players[j]->coords) &&
+                                             !Person::players[j]->isWallJump()) ||
+                                            (Person::players[j]->animTarget == hanganim &&
+                                             normaldotproduct(Person::players[j]->facing, coords - Person::players[j]->coords) < 0)) {
                                             lastseentime -= .2;
-                                            if (j == 0 && Animation::animations[Person::players[j]->animTarget].height == lowheight)
+                                            if (j == 0 && Animation::animations[Person::players[j]->animTarget].height == lowheight) {
                                                 lastseentime -= .4;
-                                            else
+                                            } else {
                                                 lastseentime -= .6;
+                                            }
                                         }
+                                    }
+                                }
+                            }
                             if (lastseentime <= 0) {
                                 aitype = searchtype;
                                 lastchecktime = 12;
@@ -7297,8 +7972,9 @@ void Person::doAI()
         if (aitype == searchtype) {
             aiupdatedelay -= multiplier;
             losupdatedelay -= multiplier;
-            if (!pause)
+            if (!pause) {
                 lastseentime -= multiplier;
+            }
             lastchecktime -= multiplier;
 
             if (isRun() && !onground) {
@@ -7308,11 +7984,12 @@ void Person::doAI()
                     XYZ test = coords + facing;
                     test.y -= 10;
                     j = Object::checkcollide(test2, test, laststanding);
-                    if (j == -1)
+                    if (j == -1) {
                         j = Object::checkcollide(test2, test);
+                    }
                     if (j == -1) {
                         velocity = 0;
-                        setAnimation(getStop());
+                        setTargetAnimation(getStop());
                         targetyaw += 180;
                         stunned = .5;
                         //aitype=passivetype;
@@ -7324,8 +8001,9 @@ void Person::doAI()
                         lastpathfindpoint2 = -1;
                         lastpathfindpoint3 = -1;
                         lastpathfindpoint4 = -1;
-                    } else
+                    } else {
                         laststanding = j;
+                    }
                 }
             }
             //check out last seen location
@@ -7351,55 +8029,60 @@ void Person::doAI()
                 throwkeydown = 0;
 
                 if (avoidcollided > .8 && !jumpkeydown && collided < .8) {
-                    if (!avoidsomething)
+                    if (!avoidsomething) {
                         targetyaw += 90 * (whichdirection * 2 - 1);
-                    else {
+                    else {
                         XYZ leftpos, rightpos;
                         float leftdist, rightdist;
                         leftpos = coords + DoRotation(facing, 0, 90, 0);
                         rightpos = coords - DoRotation(facing, 0, 90, 0);
                         leftdist = distsq(&leftpos, &avoidwhere);
                         rightdist = distsq(&rightpos, &avoidwhere);
-                        if (leftdist < rightdist)
+                        if (leftdist < rightdist) {
                             targetyaw += 90;
-                        else
+                        } else {
                             targetyaw -= 90;
+                        }
                     }
                 }
             }
-            if (collided < 1 || animTarget != jumpupanim)
+            if (collided < 1 || animTarget != jumpupanim) {
                 jumpkeydown = 0;
-            if ((collided > .8 && jumppower >= 5))
+            }
+            if ((collided > .8 && jumppower >= 5)) {
                 jumpkeydown = 1;
+            }
 
-            if (numenvsounds > 0 && ((!Tutorial::active || cananger) && hostile))
+            if (numenvsounds > 0 && ((!Tutorial::active || cananger) && hostile)) {
                 for (int k = 0; k < numenvsounds; k++) {
                     if (distsq(&coords, &envsound[k]) < 2 * (envsoundvol[k] + envsoundvol[k] * (creature == rabbittype) * 3)) {
                         aitype = attacktypecutoff;
                     }
                 }
+            }
 
             if (!Person::players[0]->dead &&
-                    losupdatedelay < 0 &&
-                    !Game::editorenabled &&
-                    occluded < 2 &&
-                    ((!Tutorial::active || cananger) && hostile)) {
+                losupdatedelay < 0 &&
+                !Game::editorenabled &&
+                occluded < 2 &&
+                ((!Tutorial::active || cananger) && hostile)) {
                 losupdatedelay = .2;
                 if (distsq(&coords, &Person::players[0]->coords) < 4 && Animation::animations[animTarget].height != lowheight) {
                     aitype = attacktypecutoff;
                     lastseentime = 1;
                 }
-                if (abs(Random() % 2) || Animation::animations[animTarget].height != lowheight)
+                if (abs(Random() % 2) || Animation::animations[animTarget].height != lowheight) {
                     //TODO: factor out canSeePlayer()
-                    if (distsq(&coords, &Person::players[0]->coords) < 400)
-                        if (normaldotproduct(facing, Person::players[0]->coords - coords) > 0)
+                    if (distsq(&coords, &Person::players[0]->coords) < 400) {
+                        if (normaldotproduct(facing, Person::players[0]->coords - coords) > 0) {
                             if ((Object::checkcollide(
-                                        DoRotation(jointPos(head), 0, yaw, 0)*
-                                        scale + coords,
-                                        DoRotation(Person::players[0]->jointPos(head), 0, Person::players[0]->yaw, 0)*
-                                        Person::players[0]->scale + Person::players[0]->coords) == -1) ||
-                                    (Person::players[0]->animTarget == hanganim && normaldotproduct(
-                                         Person::players[0]->facing, coords - Person::players[0]->coords) < 0)) {
+                                     DoRotation(jointPos(head), 0, yaw, 0) *
+                                             scale +
+                                         coords,
+                                     DoRotation(Person::players[0]->jointPos(head), 0, Person::players[0]->yaw, 0) *
+                                             Person::players[0]->scale +
+                                         Person::players[0]->coords) == -1) ||
+                                (Person::players[0]->animTarget == hanganim && normaldotproduct(Person::players[0]->facing, coords - Person::players[0]->coords) < 0)) {
                                 /* //TODO: changed j to 0 on a whim, make sure this is correct
                                 (Person::players[j]->animTarget==hanganim&&normaldotproduct(
                                     Person::players[j]->facing,coords-Person::players[j]->coords)<0)
@@ -7407,6 +8090,9 @@ void Person::doAI()
                                 aitype = attacktypecutoff;
                                 lastseentime = 1;
                             }
+                        }
+                    }
+                }
             }
             //player escaped
             if (lastseentime < 0) {
@@ -7423,8 +8109,9 @@ void Person::doAI()
             }
         }
 
-        if (aitype != gethelptype)
+        if (aitype != gethelptype) {
             runninghowlong = 0;
+        }
 
         //get help from buddies
         if (aitype == gethelptype) {
@@ -7441,15 +8128,14 @@ void Person::doAI()
                     float closestdist = -1;
                     for (unsigned k = 0; k < Person::players.size(); k++) {
                         if ((k != id) && (k != 0) && !Person::players[k]->dead &&
-                                (Person::players[k]->howactive < typedead1) &&
-                                !Person::players[k]->skeleton.free &&
-                                (Person::players[k]->aitype == passivetype)) {
+                            (Person::players[k]->howactive < typedead1) &&
+                            !Person::players[k]->skeleton.free &&
+                            (Person::players[k]->aitype == passivetype)) {
                             float distance = distsq(&coords, &Person::players[k]->coords);
                             if (closestdist == -1 || distance < closestdist) {
                                 closestdist = distance;
                                 closest = k;
                             }
-                            closest = k;
                         }
                     }
                     if (closest != -1) {
@@ -7461,21 +8147,21 @@ void Person::doAI()
                     lastseentime = 12;
                 }
 
-
                 lastchecktime = 12;
 
                 XYZ facing = coords;
                 XYZ flatfacing = Person::players[ally]->coords;
                 facing.y += jointPos(head).y * scale;
                 flatfacing.y += Person::players[ally]->jointPos(head).y * Person::players[ally]->scale;
-                if (-1 != Object::checkcollide(facing, flatfacing))
+                if (-1 != Object::checkcollide(facing, flatfacing)) {
                     lastseentime -= .1;
+                }
 
                 //no available ally, run back to player
                 if (ally <= 0 ||
-                        Person::players[ally]->skeleton.free ||
-                        Person::players[ally]->aitype != passivetype ||
-                        lastseentime <= 0) {
+                    Person::players[ally]->skeleton.free ||
+                    Person::players[ally]->aitype != passivetype ||
+                    lastseentime <= 0) {
                     aitype = searchtype;
                     lastseentime = 12;
                 }
@@ -7499,19 +8185,20 @@ void Person::doAI()
                     }
 
                     if (avoidcollided > .8 && !jumpkeydown && collided < .8) {
-                        if (!avoidsomething)
+                        if (!avoidsomething) {
                             targetyaw += 90 * (whichdirection * 2 - 1);
-                        else {
+                        else {
                             XYZ leftpos, rightpos;
                             float leftdist, rightdist;
                             leftpos = coords + DoRotation(facing, 0, 90, 0);
                             rightpos = coords - DoRotation(facing, 0, 90, 0);
                             leftdist = distsq(&leftpos, &avoidwhere);
                             rightdist = distsq(&rightpos, &avoidwhere);
-                            if (leftdist < rightdist)
+                            if (leftdist < rightdist) {
                                 targetyaw += 90;
-                            else
+                            } else {
                                 targetyaw -= 90;
+                            }
                         }
                     }
                 }
@@ -7522,10 +8209,12 @@ void Person::doAI()
                 crouchkeydown = 0;
                 attackkeydown = 0;
             }
-            if (collided < 1 || animTarget != jumpupanim)
+            if (collided < 1 || animTarget != jumpupanim) {
                 jumpkeydown = 0;
-            if (collided > .8 && jumppower >= 5)
+            }
+            if (collided > .8 && jumppower >= 5) {
                 jumpkeydown = 1;
+            }
         }
 
         //retreiving a weapon on the ground
@@ -7540,32 +8229,34 @@ void Person::doAI()
                 if (ally < 0) {
                     int closest = -1;
                     float closestdist = -1;
-                    for (unsigned k = 0; k < weapons.size(); k++)
+                    for (unsigned k = 0; k < weapons.size(); k++) {
                         if (weapons[k].owner == -1) {
                             float distance = distsq(&coords, &weapons[k].position);
                             if (closestdist == -1 || distance < closestdist) {
                                 closestdist = distance;
                                 closest = k;
                             }
-                            closest = k;
                         }
-                    if (closest != -1)
+                    }
+                    if (closest != -1) {
                         ally = closest;
-                    else
+                    } else {
                         ally = -1;
+                    }
                 }
 
                 lastseentime = 12;
 
-                if (!Person::players[0]->dead && ((!Tutorial::active || cananger) && hostile))
+                if (!Person::players[0]->dead && ((!Tutorial::active || cananger) && hostile)) {
                     if (ally < 0 || weaponactive != -1 || lastchecktime <= 0) {
                         aitype = attacktypecutoff;
                         lastseentime = 1;
                     }
-                if (!Person::players[0]->dead)
+                }
+                if (!Person::players[0]->dead) {
                     if (ally >= 0) {
                         if (weapons[ally].owner != -1 ||
-                                distsq(&coords, &weapons[ally].position) > 16) {
+                            distsq(&coords, &weapons[ally].position) > 16) {
                             aitype = attacktypecutoff;
                             lastseentime = 1;
                         }
@@ -7575,24 +8266,25 @@ void Person::doAI()
                         aiupdatedelay = .05;
                         forwardkeydown = 1;
 
-
                         if (avoidcollided > .8 && !jumpkeydown && collided < .8) {
-                            if (!avoidsomething)
+                            if (!avoidsomething) {
                                 targetyaw += 90 * (whichdirection * 2 - 1);
-                            else {
+                            else {
                                 XYZ leftpos, rightpos;
                                 float leftdist, rightdist;
                                 leftpos = coords + DoRotation(facing, 0, 90, 0);
                                 rightpos = coords - DoRotation(facing, 0, 90, 0);
                                 leftdist = distsq(&leftpos, &avoidwhere);
                                 rightdist = distsq(&rightpos, &avoidwhere);
-                                if (leftdist < rightdist)
+                                if (leftdist < rightdist) {
                                     targetyaw += 90;
-                                else
+                                } else {
                                     targetyaw -= 90;
+                                }
                             }
                         }
                     }
+                }
 
                 leftkeydown = 0;
                 backkeydown = 0;
@@ -7601,59 +8293,68 @@ void Person::doAI()
                 throwkeydown = 1;
                 crouchkeydown = 0;
                 if (animTarget != crouchremoveknifeanim &&
-                        animTarget != removeknifeanim)
+                    animTarget != removeknifeanim) {
                     throwtogglekeydown = 0;
+                }
                 drawkeydown = 0;
             }
-            if (collided < 1 || animTarget != jumpupanim)
+            if (collided < 1 || animTarget != jumpupanim) {
                 jumpkeydown = 0;
-            if ((collided > .8 && jumppower >= 5))
+            }
+            if ((collided > .8 && jumppower >= 5)) {
                 jumpkeydown = 1;
+            }
         }
 
         if (aitype == attacktypecutoff) {
             aiupdatedelay -= multiplier;
             //dodge or reverse rabbit kicks, knife throws, flips
-            if (damage < damagetolerance * 2 / 3)
+            if (damage < damagetolerance * 2 / 3) {
                 if ((Person::players[0]->animTarget == rabbitkickanim ||
-                        Person::players[0]->animTarget == knifethrowanim ||
-                        (Person::players[0]->isFlip() &&
-                         normaldotproduct(Person::players[0]->facing, Person::players[0]->coords - coords) < 0)) &&
-                        !Person::players[0]->skeleton.free &&
-                        (aiupdatedelay < .1)) {
+                     Person::players[0]->animTarget == knifethrowanim ||
+                     (Person::players[0]->isFlip() &&
+                      normaldotproduct(Person::players[0]->facing, Person::players[0]->coords - coords) < 0)) &&
+                    !Person::players[0]->skeleton.free &&
+                    (aiupdatedelay < .1)) {
                     attackkeydown = 0;
-                    if (isIdle())
+                    if (isIdle()) {
                         crouchkeydown = 1;
+                    }
                     if (Person::players[0]->animTarget != rabbitkickanim && Person::players[0]->weaponactive != -1) {
                         if (weapons[Person::players[0]->weaponids[0]].getType() == knife) {
                             if (isIdle() || isCrouch() || isRun() || isFlip()) {
-                                if (abs(Random() % 2) == 0)
-                                    setAnimation(backhandspringanim);
-                                else
-                                    setAnimation(rollanim);
+                                if (abs(Random() % 2) == 0) {
+                                    setTargetAnimation(backhandspringanim);
+                                } else {
+                                    setTargetAnimation(rollanim);
+                                }
                                 targetyaw += 90 * (abs(Random() % 2) * 2 - 1);
                                 wentforweapon = 0;
                             }
-                            if (animTarget == jumpupanim || animTarget == jumpdownanim)
-                                setAnimation(flipanim);
+                            if (animTarget == jumpupanim || animTarget == jumpdownanim) {
+                                setTargetAnimation(flipanim);
+                            }
                         }
                     }
                     forwardkeydown = 0;
                     aiupdatedelay = .02;
                 }
+            }
             //get confused by flips
             if (Person::players[0]->isFlip() &&
-                    !Person::players[0]->skeleton.free &&
-                    Person::players[0]->animTarget != walljumprightkickanim &&
-                    Person::players[0]->animTarget != walljumpleftkickanim) {
-                if (distsq(&Person::players[0]->coords, &coords) < 25)
-                    if ((1 - damage / damagetolerance) > .5)
+                !Person::players[0]->skeleton.free &&
+                Person::players[0]->animTarget != walljumprightkickanim &&
+                Person::players[0]->animTarget != walljumpleftkickanim) {
+                if (distsq(&Person::players[0]->coords, &coords) < 25) {
+                    if ((1 - damage / damagetolerance) > .5) {
                         stunned = 1;
+                    }
+                }
             }
             //go for weapon on the ground
-            if (wentforweapon < 3)
-                for (unsigned k = 0; k < weapons.size(); k++)
-                    if (creature != wolftype)
+            if (wentforweapon < 3) {
+                for (unsigned k = 0; k < weapons.size(); k++) {
+                    if (creature != wolftype) {
                         if (num_weapons == 0 &&
                             weapons[k].owner == -1 &&
                             weapons[k].velocity.x == 0 &&
@@ -7666,31 +8367,37 @@ void Person::doAI()
                                 ally = -1;
                             }
                         }
+                    }
+                }
+            }
             //dodge/reverse walljump kicks
-            if (damage < damagetolerance / 2)
-                if (Animation::animations[animTarget].height != highheight)
+            if (damage < damagetolerance / 2) {
+                if (Animation::animations[animTarget].height != highheight) {
                     if (damage < damagetolerance * .5 &&
-                            ((Person::players[0]->animTarget == walljumprightkickanim ||
-                              Person::players[0]->animTarget == walljumpleftkickanim) &&
-                             ((aiupdatedelay < .15 &&
-                               difficulty == 2) ||
-                              (aiupdatedelay < .08 &&
-                               difficulty != 2)))) {
+                        ((Person::players[0]->animTarget == walljumprightkickanim ||
+                          Person::players[0]->animTarget == walljumpleftkickanim) &&
+                         ((aiupdatedelay < .15 &&
+                           difficulty == 2) ||
+                          (aiupdatedelay < .08 &&
+                           difficulty != 2)))) {
                         crouchkeydown = 1;
                     }
+                }
+            }
             //walked off a ledge (?)
-            if (isRun() && !onground)
+            if (isRun() && !onground) {
                 if (coords.y > terrain.getHeight(coords.x, coords.z) + 10) {
                     XYZ test2 = coords + facing;
                     test2.y += 5;
                     XYZ test = coords + facing;
                     test.y -= 10;
                     j = Object::checkcollide(test2, test, laststanding);
-                    if (j == -1)
+                    if (j == -1) {
                         j = Object::checkcollide(test2, test);
+                    }
                     if (j == -1) {
                         velocity = 0;
-                        setAnimation(getStop());
+                        setTargetAnimation(getStop());
                         targetyaw += 180;
                         stunned = .5;
                         aitype = pathfindtype;
@@ -7701,13 +8408,15 @@ void Person::doAI()
                         lastpathfindpoint2 = -1;
                         lastpathfindpoint3 = -1;
                         lastpathfindpoint4 = -1;
-                    } else
+                    } else {
                         laststanding = j;
+                    }
                 }
+            }
             //lose sight of player in the air (?)
             if (Person::players[0]->coords.y > coords.y + 5 &&
-                    Animation::animations[Person::players[0]->animTarget].height != highheight &&
-                    !Person::players[0]->onterrain) {
+                Animation::animations[Person::players[0]->animTarget].height != highheight &&
+                !Person::players[0]->onterrain) {
                 aitype = pathfindtype;
                 finalfinaltarget = waypoints[waypoint];
                 finalpathfindpoint = -1;
@@ -7719,43 +8428,48 @@ void Person::doAI()
             }
             //it's time to think (?)
             if (aiupdatedelay < 0 &&
-                    !Animation::animations[animTarget].attack &&
-                    animTarget != staggerbackhighanim &&
-                    animTarget != staggerbackhardanim &&
-                    animTarget != backhandspringanim &&
-                    animTarget != dodgebackanim) {
+                !Animation::animations[animTarget].attack &&
+                animTarget != staggerbackhighanim &&
+                animTarget != staggerbackhardanim &&
+                animTarget != backhandspringanim &&
+                animTarget != dodgebackanim) {
                 //draw weapon
-                if (weaponactive == -1 && num_weapons > 0)
+                if (weaponactive == -1 && num_weapons > 0) {
                     drawkeydown = Random() % 2;
-                else
+                } else {
                     drawkeydown = 0;
+                }
                 rabbitkickenabled = Random() % 2;
                 //chase player
                 XYZ rotatetarget = Person::players[0]->coords + Person::players[0]->velocity;
                 XYZ targetpoint = Person::players[0]->coords;
-                if (distsq(&Person::players[0]->coords, &coords) <
-                        distsq(&rotatetarget, &coords))
+                float vellength = findLength(&velocity);
+                if (vellength != 0 &&
+                    distsq(&Person::players[0]->coords, &coords) < distsq(&rotatetarget, &coords)) {
                     targetpoint += Person::players[0]->velocity *
-                                   findDistance(&Person::players[0]->coords, &coords) / findLength(&velocity);
+                                   findDistance(&Person::players[0]->coords, &coords) / vellength;
+                }
                 targetyaw = roughDirectionTo(coords, targetpoint);
                 lookyaw = targetyaw;
                 aiupdatedelay = .2 + fabs((float)(Random() % 100) / 1000);
 
-                if (distsq(&coords, &Person::players[0]->coords) > 5 && (Person::players[0]->weaponactive == -1 || weaponactive != -1))
+                if (distsq(&coords, &Person::players[0]->coords) > 5 && (Person::players[0]->weaponactive == -1 || weaponactive != -1)) {
                     forwardkeydown = 1;
-                else if ((distsq(&coords, &Person::players[0]->coords) > 16 ||
-                          distsq(&coords, &Person::players[0]->coords) < 9) &&
-                         Person::players[0]->weaponactive != -1)
+                else if ((distsq(&coords, &Person::players[0]->coords) > 16 ||
+                            distsq(&coords, &Person::players[0]->coords) < 9) &&
+                           Person::players[0]->weaponactive != -1) {
                     forwardkeydown = 1;
-                else if (Random() % 6 == 0 || (creature == wolftype && Random() % 3 == 0))
+                } else if (Random() % 6 == 0 || (creature == wolftype && Random() % 3 == 0)) {
                     forwardkeydown = 1;
-                else
+                } else {
                     forwardkeydown = 0;
+                }
                 //chill out around the corpse
                 if (Person::players[0]->dead) {
                     forwardkeydown = 0;
-                    if (Random() % 10 == 0)
+                    if (Random() % 10 == 0) {
                         forwardkeydown = 1;
+                    }
                     if (Random() % 100 == 0) {
                         aitype = pathfindtype;
                         finalfinaltarget = waypoints[waypoint];
@@ -7773,49 +8487,52 @@ void Person::doAI()
                 crouchkeydown = 0;
                 throwkeydown = 0;
 
-                if (avoidcollided > .8 && !jumpkeydown && collided < .8)
+                if (avoidcollided > .8 && !jumpkeydown && collided < .8) {
                     targetyaw += 90 * (whichdirection * 2 - 1);
+                }
                 //attack!!!
-                if (Random() % 2 == 0 || weaponactive != -1 || creature == wolftype)
+                if (Random() % 2 == 0 || weaponactive != -1 || creature == wolftype) {
                     attackkeydown = 1;
-                else
+                } else {
                     attackkeydown = 0;
-                if (isRun() && Random() % 6 && distsq(&coords, &Person::players[0]->coords) > 7)
+                }
+                if (isRun() && Random() % 6 && distsq(&coords, &Person::players[0]->coords) > 7) {
                     attackkeydown = 0;
+                }
 
                 //TODO: wat
                 if (aitype != playercontrolled &&
-                        (isIdle() ||
-                         isCrouch() ||
-                         isRun())) {
+                    (isIdle() ||
+                     isCrouch() ||
+                     isRun())) {
                     int target = -2;
-                    for (unsigned j = 0; j < Person::players.size(); j++)
+                    for (unsigned j = 0; j < Person::players.size(); j++) {
                         if (j != id && !Person::players[j]->skeleton.free &&
-                                Person::players[j]->hasvictim &&
-                                (Tutorial::active && reversaltrain ||
-                                 Random() % 2 == 0 && difficulty == 2 ||
-                                 Random() % 4 == 0 && difficulty == 1 ||
-                                 Random() % 8 == 0 && difficulty == 0 ||
-                                 Person::players[j]->lastattack2 == Person::players[j]->animTarget &&
+                            Person::players[j]->hasvictim &&
+                            (Tutorial::active && reversaltrain ||
+                             Random() % 2 == 0 && difficulty == 2 ||
+                             Random() % 4 == 0 && difficulty == 1 ||
+                             Random() % 8 == 0 && difficulty == 0 ||
+                             Person::players[j]->lastattack2 == Person::players[j]->animTarget &&
                                  Person::players[j]->lastattack3 == Person::players[j]->animTarget &&
                                  (Random() % 2 == 0 || difficulty == 2) ||
-                                 (isIdle() || isRun()) &&
+                             (isIdle() || isRun()) &&
                                  Person::players[j]->weaponactive != -1 ||
-                                 Person::players[j]->animTarget == swordslashanim &&
+                             Person::players[j]->animTarget == swordslashanim &&
                                  weaponactive != -1 ||
-                                 Person::players[j]->animTarget == staffhitanim ||
-                                 Person::players[j]->animTarget == staffspinhitanim))
+                             Person::players[j]->animTarget == staffhitanim ||
+                             Person::players[j]->animTarget == staffspinhitanim)) {
                             if (distsq(&Person::players[j]->coords, &Person::players[j]->victim->coords) < 4 &&
-                                    Person::players[j]->victim == Person::players[id] &&
-                                    (Person::players[j]->animTarget == sweepanim ||
-                                     Person::players[j]->animTarget == spinkickanim ||
-                                     Person::players[j]->animTarget == staffhitanim ||
-                                     Person::players[j]->animTarget == staffspinhitanim ||
-                                     Person::players[j]->animTarget == winduppunchanim ||
-                                     Person::players[j]->animTarget == upunchanim ||
-                                     Person::players[j]->animTarget == wolfslapanim ||
-                                     Person::players[j]->animTarget == knifeslashstartanim ||
-                                     Person::players[j]->animTarget == swordslashanim &&
+                                Person::players[j]->victim == Person::players[id] &&
+                                (Person::players[j]->animTarget == sweepanim ||
+                                 Person::players[j]->animTarget == spinkickanim ||
+                                 Person::players[j]->animTarget == staffhitanim ||
+                                 Person::players[j]->animTarget == staffspinhitanim ||
+                                 Person::players[j]->animTarget == winduppunchanim ||
+                                 Person::players[j]->animTarget == upunchanim ||
+                                 Person::players[j]->animTarget == wolfslapanim ||
+                                 Person::players[j]->animTarget == knifeslashstartanim ||
+                                 Person::players[j]->animTarget == swordslashanim &&
                                      (distsq(&Person::players[j]->coords, &coords) < 2 ||
                                       weaponactive != -1))) {
                                 if (target >= 0) {
@@ -7824,66 +8541,81 @@ void Person::doAI()
                                     target = j;
                                 }
                             }
-                    if (target >= 0)
+                        }
+                    }
+                    if (target >= 0) {
                         Person::players[target]->Reverse();
+                    }
                 }
 
-                if (collided < 1)
+                if (collided < 1) {
                     jumpkeydown = 0;
+                }
                 if (collided > .8 && jumppower >= 5 ||
-                        distsq(&coords, &Person::players[0]->coords) > 400 &&
+                    distsq(&coords, &Person::players[0]->coords) > 400 &&
                         onterrain &&
-                        creature == rabbittype)
+                        creature == rabbittype) {
                     jumpkeydown = 1;
+                }
                 //TODO: why are we controlling the human?
-                if (normaldotproduct(facing, Person::players[0]->coords - coords) > 0)
+                if (normaldotproduct(facing, Person::players[0]->coords - coords) > 0) {
                     Person::players[0]->jumpkeydown = 0;
+                }
                 if (Person::players[0]->animTarget == jumpdownanim &&
-                        distsq(&Person::players[0]->coords, &coords) < 40)
+                    distsq(&Person::players[0]->coords, &coords) < 40) {
                     crouchkeydown = 1;
-                if (jumpkeydown)
+                }
+                if (jumpkeydown) {
                     attackkeydown = 0;
+                }
 
-                if (Tutorial::active)
-                    if (!canattack)
+                if (Tutorial::active) {
+                    if (!canattack) {
                         attackkeydown = 0;
-
+                    }
+                }
 
                 XYZ facing = coords;
                 XYZ flatfacing = Person::players[0]->coords;
                 facing.y += jointPos(head).y * scale;
                 flatfacing.y += Person::players[0]->jointPos(head).y * Person::players[0]->scale;
-                if (occluded >= 2)
+                if (occluded >= 2) {
                     if (-1 != Object::checkcollide(facing, flatfacing)) {
-                        if (!pause)
+                        if (!pause) {
                             lastseentime -= .2;
+                        }
                         if (lastseentime <= 0 &&
-                                (creature != wolftype ||
-                                 weaponstuck == -1)) {
+                            (creature != wolftype ||
+                             weaponstuck == -1)) {
                             aitype = searchtype;
                             lastchecktime = 12;
                             lastseen = Person::players[0]->coords;
                             lastseentime = 12;
                         }
-                    } else
+                    } else {
                         lastseentime = 1;
+                    }
+                }
             }
         }
         if (Animation::animations[Person::players[0]->animTarget].height == highheight &&
-                (aitype == attacktypecutoff ||
-                 aitype == searchtype))
+            (aitype == attacktypecutoff ||
+             aitype == searchtype)) {
             if (Person::players[0]->coords.y > terrain.getHeight(Person::players[0]->coords.x, Person::players[0]->coords.z) + 10) {
                 XYZ test = Person::players[0]->coords;
                 test.y -= 40;
-                if (-1 == Object::checkcollide(Person::players[0]->coords, test))
+                if (-1 == Object::checkcollide(Person::players[0]->coords, test)) {
                     stunned = 1;
+                }
             }
+        }
         //stunned
         if (aitype == passivetype && !(numwaypoints > 1) ||
-                stunned > 0 ||
-                pause && damage > superpermanentdamage) {
-            if (pause)
+            stunned > 0 ||
+            pause && damage > superpermanentdamage) {
+            if (pause) {
                 lastseentime = 1;
+            }
             targetyaw = yaw;
             forwardkeydown = 0;
             leftkeydown = 0;
@@ -7895,7 +8627,6 @@ void Person::doAI()
             throwkeydown = 0;
         }
 
-
         XYZ facing;
         facing = 0;
         facing.z = -1;