X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;ds=sidebyside;f=Source%2FObjects%2FPerson.cpp;h=47e2e520c0987665e3c9381d38e5559399c3983d;hb=77f22d0571ddca7bbfd1d1f621d61785d375c889;hp=7a16709f30a2deffd852bec219fdc7c16b56cfd8;hpb=b35798eb8ef5e05a4574bbf1115c31a504496616;p=lugaru.git diff --git a/Source/Objects/Person.cpp b/Source/Objects/Person.cpp index 7a16709..47e2e52 100644 --- a/Source/Objects/Person.cpp +++ b/Source/Objects/Person.cpp @@ -72,7 +72,7 @@ extern float envsoundlife[30]; extern XYZ windvector; -std::vector> Person::players(1, std::shared_ptr(new Person())); +std::vector> Person::players; Person::Person() : whichpatchx(0) @@ -130,30 +130,24 @@ Person::Person() , skiddingdelay(0) , deathbleeding(0) , tempdeltav(0) - , - damagetolerance(200) + , damagetolerance(0) , damage(0) , permanentdamage(0) , superpermanentdamage(0) , lastcollide(0) , dead(0) - , - jumppower(5) + , jumppower(5) , onground(false) - , - wentforweapon(0) - , + , wentforweapon(0) - calcrot(false) - , + , calcrot(false) - facing() - , + , facing() - bleeding(0) + , bleeding(0) , bleedx(0) , bleedy(0) , direction(0) @@ -353,6 +347,7 @@ Person::Person() jumpclimb(false) { + damagetolerance = PersonType::types[creature].defaultDamageTolerance; setProportions(1, 1, 1, 1); } @@ -435,22 +430,25 @@ Person::Person(FILE* tfile, int mapvers, unsigned i) loaded = true; - if (creature == wolftype) { - damagetolerance = 300; - } + damagetolerance = PersonType::types[creature].defaultDamageTolerance; if (scale < 0) { - if (creature == wolftype) { - scale = .23; - } else { - scale = .2; - } + scale = PersonType::types[creature].defaultScale; } oldcoords = coords; realoldcoords = coords; } +void Person::changeCreatureType(person_type type) +{ + creature = type; + whichskin = 0; + skeletonLoad(type == rabbittype); + scale = PersonType::types[creature].defaultScale; + damagetolerance = PersonType::types[creature].defaultDamageTolerance; +} + void Person::skeletonLoad(bool clothes) { skeleton.id = id;