diff options
| author | Timothy Collett | 2012-09-10 11:54:56 -0400 |
|---|---|---|
| committer | Timothy Collett | 2012-09-10 11:54:56 -0400 |
| commit | 96abc903abb93b7bf7418f2da3455ee6da5ad942 (patch) | |
| tree | a5326ef1dbd492086b319c888854e707c59d2a56 /plugins/zone.cpp | |
| parent | 274d6038adce5797b58cee78a330eb5d639bf59e (diff) | |
| parent | 21904fd607d0f2037782e28ff7284300663931ab (diff) | |
| download | dfhack-96abc903abb93b7bf7418f2da3455ee6da5ad942.tar.gz dfhack-96abc903abb93b7bf7418f2da3455ee6da5ad942.tar.bz2 dfhack-96abc903abb93b7bf7418f2da3455ee6da5ad942.tar.xz | |
Merge branch 'master' of http://github.com/peterix/dfhack
Diffstat (limited to 'plugins/zone.cpp')
| -rw-r--r-- | plugins/zone.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/plugins/zone.cpp b/plugins/zone.cpp index b5e45f5c..c496f49b 100644 --- a/plugins/zone.cpp +++ b/plugins/zone.cpp @@ -420,6 +420,7 @@ bool isTame(df::unit* creature) { switch (creature->training_level) { + case df::animal_training_level::SemiWild: //?? case df::animal_training_level::Trained: case df::animal_training_level::WellTrained: case df::animal_training_level::SkilfullyTrained: @@ -429,7 +430,6 @@ bool isTame(df::unit* creature) case df::animal_training_level::Domesticated: tame=true; break; - case df::animal_training_level::SemiWild: //?? case df::animal_training_level::Unk8: //?? case df::animal_training_level::WildUntamed: default: @@ -1232,7 +1232,7 @@ bool isFreeEgglayer(df::unit * unit) { if( !isDead(unit) && !isUndead(unit) && isFemale(unit) - && isDomesticated(unit) // better strict than sorry (medium trained wild animals can revert into wild state) + && isTame(unit) && isOwnCiv(unit) && isEggLayer(unit) && !isAssigned(unit) @@ -1856,14 +1856,18 @@ command_result df_zone (color_ostream &out, vector <string> & parameters) // if followed by another parameter, check if it's numeric if(i < parameters.size()-1) { - stringstream ss(parameters[i+1]); - int new_building = -1; - ss >> new_building; - if(new_building != -1) + auto & str = parameters[i+1]; + if(str.size() > 0 && str[0] >= '0' && str[0] <= '9') { - i++; - target_building = new_building; - out << "Assign selected unit(s) to building #" << target_building <<std::endl; + stringstream ss(parameters[i+1]); + int new_building = -1; + ss >> new_building; + if(new_building != -1) + { + i++; + target_building = new_building; + out << "Assign selected unit(s) to building #" << target_building <<std::endl; + } } } if(target_building == -1) |
