]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Objects/Person.cpp
Moved default scale and default damage tolerance to PersonType.
[lugaru.git] / Source / Objects / Person.cpp
index 7a16709f30a2deffd852bec219fdc7c16b56cfd8..e9ccbbf9b6ea753b11aef0a8a54a572991e6919e 100644 (file)
@@ -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;