typos
[k8-i-v-a-n.git] / src / game / humans / humanoid_rogue.cpp
blob413ff835256ecb570f7f2319d11365be0eee6c90
1 #ifdef HEADER_PHASE
2 CHARACTER(rogue, humanoid)
4 public:
5 virtual void GetAICommand();
6 virtual truth IsRetreating() const;
7 };
10 #else
14 truth rogue::IsRetreating () const {
15 if (humanoid::IsRetreating()) return true;
16 for (stackiterator i = GetStack()->GetBottom(); i.HasItem(); ++i) if ((*i)->GetSparkleFlags()) return true;
17 return false;
22 void rogue::GetAICommand () {
23 if (!IsRetreating()) {
24 character *Char = GetRandomNeighbour();
25 if (Char) {
26 itemvector Sparkling;
27 for (stackiterator i = Char->GetStack()->GetBottom(); i.HasItem(); ++i) {
28 if ((*i)->GetSparkleFlags() && !MakesBurdened((*i)->GetWeight())) Sparkling.push_back(*i);
30 if (!Sparkling.empty()) {
31 item *ToSteal = Sparkling[RAND() % Sparkling.size()];
32 ToSteal->RemoveFromSlot();
33 GetStack()->AddItem(ToSteal);
34 if (Char->IsPlayer()) ADD_MESSAGE("%s steals your %s.", CHAR_NAME(DEFINITE), ToSteal->CHAR_NAME(UNARTICLED));
35 EditAP(-500);
36 return;
40 humanoid::GetAICommand();
42 #endif