fixed some bugs in new 'g'o system
[k8-i-v-a-n.git] / src / game / commands / WizardHeal.cpp
blob20e68c9f0733c4ef0d9bf54cbbe749aa807b6615
1 COMMAND(WizardHeal) {
2 /*
3 truth newbp = game::TruthQuestion(CONST_S("Do you want completely new body? [y/N]"));
4 if (newbp) {
5 dbp(Char, LEFT_ARM_INDEX);
6 //dbp(Char, RIGHT_ARM_INDEX);
7 //dbp(Char, LEFT_LEG_INDEX);
8 //dbp(Char, RIGHT_LEG_INDEX);
9 //dbp(Char, HEAD_INDEX);
10 //dbp(Char, TORSO_INDEX);
13 for (int c = 0; c < Char->GetBodyParts(); ++c) {
14 if (Char->GetBodyPart(c)) {
15 Char->GetBodyPart(c)->RemoveAllFluids();
16 } else if (Char->CanCreateBodyPart(c)) {
17 const std::list<feuLong> &obp = Char->GetOriginalBodyPartID(c);
19 for (std::list<feuLong>::const_iterator i = obp.begin(); i != obp.end(); ++i) {
20 bodypart *OldBodyPart = static_cast<bodypart *>(PLAYER->SearchForItem(*i));
22 if (OldBodyPart && OldBodyPart->CanRegenerate()) {
23 OldBodyPart->RemoveAllFluids();
24 OldBodyPart->SetHP(1);
25 OldBodyPart->RemoveFromSlot();
26 Char->AttachBodyPart(OldBodyPart);
27 break;
28 } else {
29 Char->CreateBodyPart(c);
30 Char->GetBodyPart(c)->SetHP(1);
31 break;
37 if (Char->TemporaryStateIsActivated(POISONED)) Char->DeActivateTemporaryState(POISONED);
38 if (Char->TemporaryStateIsActivated(PARASITIZED)) Char->DeActivateTemporaryState(PARASITIZED);
39 if (Char->TemporaryStateIsActivated(LEPROSY)) Char->DeActivateTemporaryState(LEPROSY);
40 if (Char->TemporaryStateIsActivated(LYCANTHROPY)) Char->DeActivateTemporaryState(LYCANTHROPY);
41 if (Char->TemporaryStateIsActivated(VAMPIRISM)) Char->DeActivateTemporaryState(VAMPIRISM);
43 ADD_MESSAGE("Wizard healing...");
44 return false;