Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Copyright <SWGEmu>
- See file COPYING for copying conditions.*/
- #ifndef FAUXATTACKCOMMAND_H_
- #define FAUXATTACKCOMMAND_H_
- #include "server/zone/objects/scene/SceneObject.h"
- #include "server/zone/objects/creature/commands/sovrp/sovrpfunc.h"
- class FauxAttackCommand : public CombatQueueCommand {
- public:
- FauxAttackCommand(const String& name, ZoneProcessServer* server)
- : CombatQueueCommand(name, server) {
- }
- int doQueueCommand(CreatureObject* creature, const uint64& target, const UnicodeString& arguments) const {
- if (!checkStateMask(creature))
- return INVALIDSTATE;
- if (!checkInvalidLocomotions(creature))
- return INVALIDLOCOMOTION;
- ManagedReference<SceneObject*> object = server->getZoneServer()->getObject(target);
- CreatureObject* targetCreature = cast<CreatureObject*>( object.get());
- if (targetCreature == NULL)
- return INVALIDTARGET;
- Locker clocker(targetCreature, creature);
- ManagedReference<PlayerObject*> playerGhost = creature->getPlayerObject();
- SovRPFunc* sov = new SovRPFunc();
- StringTokenizer args(arguments.toString());
- if (playerGhost == NULL)
- return GENERALERROR;
- if (!CollisionManager::checkLineOfSight(creature, targetCreature)) {
- creature->sendSystemMessage("@cbt_spam:los_fail");// You lost sight of your target.
- return GENERALERROR;
- }
- if (!checkDistance(creature, targetCreature, range))
- return TOOFAR;
- if (true) {
- String animString = "";
- String command, subCommand;
- bool isMelee = sov->IsWeaponMelee(creature->getWeapon());
- if(args.hasMoreTokens()){
- args.getStringToken(command);
- command = command.toLowerCase();
- animString = command;
- } else {
- if(isMelee) {
- animString = "combo_4a_light";
- } else {
- animString = "fire_1_special_single_light";
- }
- }
- //uint32 animCRC = getAnimationString().hashCode();
- // hitstatus: 0x0-MISS 0x1-HIT 0x2-BLOCK 0x3-DODGE 0x5-COUNTER 0x7-RICOCHET 0x8-REFLECT 0x9-REFLECT_TO_TARGET
- uint32 animCRC = animString.hashCode();
- creature->doCombatAnimation(targetCreature, animCRC, 0x1, 0xFF);
- //CombatManager::instance()->broadcastCombatSpam(creature, targetCreature, NULL, 0, "cbt_spam", combatSpam, 0);
- return SUCCESS;
- }
- return GENERALERROR;
- }
- float getCommandDuration(CreatureObject* object, const UnicodeString& arguments) const {
- return defaultTime * 0.0;
- }
- };
- #endif //TRANSFERFORCECOMMAND_H_
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement