00001 //////////////////////////////////////////////////////////////////////////////// 00002 // Scorched3D (c) 2000-2009 00003 // 00004 // This file is part of Scorched3D. 00005 // 00006 // Scorched3D is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License as published by 00008 // the Free Software Foundation; either version 2 of the License, or 00009 // (at your option) any later version. 00010 // 00011 // Scorched3D is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU General Public License 00017 // along with Scorched3D; if not, write to the Free Software 00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 //////////////////////////////////////////////////////////////////////////////// 00020 00021 #include <weapons/Weapon.h> 00022 #include <weapons/AccessoryStore.h> 00023 00024 WeaponFireContext::WeaponFireContext(unsigned int playerId, unsigned int data) : 00025 playerId_(playerId), 00026 data_(data) 00027 { 00028 } 00029 00030 WeaponFireContext::WeaponFireContext(WeaponFireContext &other) : 00031 playerId_(other.playerId_), 00032 data_(other.data_), 00033 labelCount_(other.labelCount_) 00034 { 00035 } 00036 00037 WeaponFireContext::~WeaponFireContext() 00038 { 00039 } 00040 00041 int WeaponFireContext::getIncLabelCount(unsigned int label) 00042 { 00043 std::map<unsigned int, int>::iterator findItor = 00044 labelCount_.find(label); 00045 if (findItor == labelCount_.end()) labelCount_[label] = 0; 00046 00047 return ++labelCount_[label]; 00048 } 00049 00050 Weapon::Weapon() : 00051 armsLevel_(-1) 00052 { 00053 00054 } 00055 00056 Weapon::~Weapon() 00057 { 00058 00059 } 00060 00061 bool Weapon::parseXML(AccessoryCreateContext &context, XMLNode *accessoryNode) 00062 { 00063 // Get the optional weapon armslevel 00064 accessoryNode->getNamedChild("armslevel", armsLevel_, false); 00065 00066 return true; 00067 } 00068 00069 int Weapon::getArmsLevel() 00070 { 00071 if (armsLevel_ == -1) return parent_->getArmsLevel(); 00072 return armsLevel_; 00073 }
1.5.3