aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRamus <nikson.91@mail.ru>2011-03-21 13:21:19 +0200
committerRamus <nikson.91@mail.ru>2011-03-21 13:21:19 +0200
commit0676da0ea100f853e85776e5eaa5ddc42b023521 (patch)
tree5a6947bff1de2074de7336494ee2a234a38375c2 /src
parent2f79b0f266e48778f13f9e183b41bfd8baa6f8bd (diff)
Allow apply .modify scale to targeted creature.
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 60944575d68..8902e0757ea 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -676,35 +676,38 @@ public:
return true;
}
- //Edit Player Scale
+ //Edit Player or Creature Scale
static bool HandleModifyScaleCommand(ChatHandler* handler, const char* args)
{
if (!*args)
return false;
float Scale = (float)atof((char*)args);
- if (Scale > 10.0f || Scale < 0.1f)
+ if (Scale > 10.0f || Scale < 0.0f)
{
handler->SendSysMessage(LANG_BAD_VALUE);
handler->SetSentErrorMessage(true);
return false;
}
- Player* target = handler->getSelectedPlayer();
+ Unit* target = handler->getSelectedUnit();
if (!target)
{
- handler->SendSysMessage(LANG_NO_CHAR_SELECTED);
+ handler->SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
handler->SetSentErrorMessage(true);
return false;
}
-
- // check online security
- if (handler->HasLowerSecurity(target, 0))
- return false;
-
- handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, handler->GetNameLink(target).c_str());
- if (handler->needReportToTarget(target))
- (ChatHandler(target)).PSendSysMessage(LANG_YOURS_SIZE_CHANGED, handler->GetNameLink().c_str(), Scale);
+
+ if (target->GetTypeId()==TYPEID_PLAYER)
+ {
+ // check online security
+ if (handler->HasLowerSecurity((Player*)target, 0))
+ return false;
+
+ handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, handler->GetNameLink((Player*)target).c_str());
+ if (handler->needReportToTarget((Player*)target))
+ (ChatHandler((Player*)target)).PSendSysMessage(LANG_YOURS_SIZE_CHANGED, handler->GetNameLink().c_str(), Scale);
+ }
target->SetFloatValue(OBJECT_FIELD_SCALE_X, Scale);