wesnoth-cvs-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Wesnoth-cvs-commits] wesnoth src/unit_types.cpp src/race.cpp src/rac...


From: David White
Subject: [Wesnoth-cvs-commits] wesnoth src/unit_types.cpp src/race.cpp src/rac...
Date: Thu, 10 Mar 2005 21:40:01 -0500

CVSROOT:        /cvsroot/wesnoth
Module name:    wesnoth
Branch:         
Changes by:     David White <address@hidden>    05/03/11 02:40:00

Modified files:
        src            : unit_types.cpp race.cpp race.hpp 
        data           : traits.cfg game.cfg 

Log message:
        made it so undead units have a dummy 'undead' trait with a description 
of the effects of being race undead

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/unit_types.cpp.diff?tr1=1.87&tr2=1.88&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/race.cpp.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/race.hpp.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/data/traits.cfg.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/data/game.cfg.diff?tr1=1.144&tr2=1.145&r1=text&r2=text

Patches:
Index: wesnoth/data/game.cfg
diff -u wesnoth/data/game.cfg:1.144 wesnoth/data/game.cfg:1.145
--- wesnoth/data/game.cfg:1.144 Mon Feb 28 03:44:43 2005
+++ wesnoth/data/game.cfg       Fri Mar 11 02:40:00 2005
@@ -481,7 +481,9 @@
        [race]
        name=undead
        not_living=yes
-       num_traits=0
+       num_traits=1
+       ignore_global_traits=yes
+       {TRAIT_UNDEAD}
        [/race]
        [race]
        name=ogre
Index: wesnoth/data/traits.cfg
diff -u wesnoth/data/traits.cfg:1.1 wesnoth/data/traits.cfg:1.2
--- wesnoth/data/traits.cfg:1.1 Mon Feb 28 03:44:43 2005
+++ wesnoth/data/traits.cfg     Fri Mar 11 02:40:00 2005
@@ -2,12 +2,21 @@
        [trait]
        id=loyal
        name= _ "loyal"
+       description= _ "Zero upkeep"
                [effect]
                apply_to=loyal
                [/effect]
        [/trait]
 #enddef
 
+#define TRAIT_UNDEAD
+       [trait]
+       id=undead
+       name= _ "undead"
+       description= _ "Immune to poison"
+       [/trait]
+#enddef
+
 #define TRAIT_STRONG
        [trait]
        id=strong
Index: wesnoth/src/race.cpp
diff -u wesnoth/src/race.cpp:1.16 wesnoth/src/race.cpp:1.17
--- wesnoth/src/race.cpp:1.16   Thu Mar 10 20:59:20 2005
+++ wesnoth/src/race.cpp        Fri Mar 11 02:40:00 2005
@@ -95,12 +95,13 @@
 
 }
 
-unit_race::unit_race() : ntraits_(0), chain_size_(0), not_living_(false), 
traits_(&empty_traits)
+unit_race::unit_race() : ntraits_(0), chain_size_(0), not_living_(false), 
traits_(&empty_traits), global_traits_(true)
 {
 }
 
 unit_race::unit_race(const config& cfg) : name_(cfg["name"]), 
ntraits_(atoi(cfg["num_traits"].c_str())),
-                                          not_living_(cfg["not_living"] == 
"yes"), traits_(&cfg.get_children("trait"))
+                                          not_living_(cfg["not_living"] == 
"yes"),
+                                                                               
  traits_(&cfg.get_children("trait")), 
global_traits_(cfg["ignore_global_traits"] != "yes")
 {
        names_[MALE] = utils::split(cfg["male_names"]);
        names_[FEMALE] = utils::split(cfg["female_names"]);
@@ -119,11 +120,16 @@
 {
        return 
utils::wstring_to_string(markov_generate_name(next_[gender],chain_size_,12));
 }
-
-const config::child_list& unit_race::additional_traits() const
-{
-       return *traits_;
-}
+
+bool unit_race::uses_global_traits() const
+{
+       return global_traits_;
+}
+
+const config::child_list& unit_race::additional_traits() const
+{
+       return *traits_;
+}
 
 int unit_race::num_traits() const { return ntraits_; }
 
Index: wesnoth/src/race.hpp
diff -u wesnoth/src/race.hpp:1.6 wesnoth/src/race.hpp:1.7
--- wesnoth/src/race.hpp:1.6    Thu Mar 10 20:59:20 2005
+++ wesnoth/src/race.hpp        Fri Mar 11 02:40:00 2005
@@ -21,7 +21,9 @@
        const std::string& name() const;
 
        std::string generate_name(GENDER gender) const;
-
+
+       bool uses_global_traits() const;
+
        const config::child_list& additional_traits() const;
        int num_traits() const;
 
@@ -34,9 +36,10 @@
        markov_prefix_map next_[NUM_GENDERS];
        int chain_size_;
 
-       bool not_living_;
-
-       const config::child_list* traits_;
+       bool not_living_;
+
+       const config::child_list* traits_;
+       bool global_traits_;
 };
 
 typedef std::map<std::string,unit_race> race_map;
Index: wesnoth/src/unit_types.cpp
diff -u wesnoth/src/unit_types.cpp:1.87 wesnoth/src/unit_types.cpp:1.88
--- wesnoth/src/unit_types.cpp:1.87     Thu Mar 10 20:59:20 2005
+++ wesnoth/src/unit_types.cpp  Fri Mar 11 02:40:00 2005
@@ -1,4 +1,4 @@
-/* $Id: unit_types.cpp,v 1.87 2005/03/10 20:59:20 ydirson Exp $ */
+/* $Id: unit_types.cpp,v 1.88 2005/03/11 02:40:00 Sirp Exp $ */
 /*
    Copyright (C) 2003 by David White <address@hidden>
    Part of the Battle for Wesnoth Project http://wesnoth.whitevine.net
@@ -579,10 +579,14 @@
 
        const race_map::const_iterator race_it = races.find(cfg["race"]);
        if(race_it != races.end()) {
-               race_ = &race_it->second;
-               if(race_ != NULL) {
-                       const config::child_list& traits = 
race_->additional_traits();
-                       
possibleTraits_.insert(possibleTraits_.end(),traits.begin(),traits.end());
+               race_ = &race_it->second;
+               if(race_ != NULL) {
+                       if(race_->uses_global_traits() == false) {
+                               possibleTraits_.clear();
+                       }
+
+                       const config::child_list& traits = 
race_->additional_traits();
+                       
possibleTraits_.insert(possibleTraits_.end(),traits.begin(),traits.end());
                }
        } else {
                static const unit_race dummy_race;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]