Monster::Monster(const TYPE_OF_CHARACTER_ID &type, const position &newpos, SpawnPoint *spawnpoint) : Character(),lastTargetPosition(position(0,0,0)),lastTargetSeen(false), spawn(spawnpoint), monstertype(type) { setId(MONSTER_BASE + counter++ % (NPC_BASE-MONSTER_BASE)); setAlive(true); setMonsterType(type); setPosition(newpos); }
bool Quetzal::init() { if (!BaseMonster::init()) { return false; } setMonsterType(QUETZAL); setName("Quetzal_"); baseSprite = Sprite::createWithSpriteFrameName("SaurianQuetzal_0001.png"); addChild(baseSprite); createAndSetHpBar(); blood = Sprite::createWithSpriteFrameName("fx_blood_splat_green_0001.png"); blood->setPosition(Point(baseSprite->getContentSize().width/2,baseSprite->getContentSize().height/2)); baseSprite->addChild(blood); blood->setVisible(false); lastState = stateNone; scheduleUpdate(); setListener(); return true; }
bool Wolf::init() { if (!BaseMonster::init()) { return false; } setMonsterType(WOLF); setName("Wolf_"); baseSprite = Sprite::createWithSpriteFrameName("desertWolf_0001.png"); addChild(baseSprite); createAndSetHpBar(); blood = Sprite::createWithSpriteFrameName("fx_blood_splat_red_0001.png"); blood->setPosition(Point(baseSprite->getContentSize().width/2,baseSprite->getContentSize().height/2)); baseSprite->addChild(blood); blood->setVisible(false); lastState = stateNone; scheduleUpdate(); setListener(); return true; }
bool Boss_Efreeti::init() { if (!BaseMonster::init()) { return false; } setMonsterType(BOSS_EFREETI); setName("Boss_Efreeti_"); baseSprite = Sprite::createWithSpriteFrameName("Boss_Efreeti_0001.png"); addChild(baseSprite); cloud = Sprite::createWithSpriteFrameName("Boss_Efreeti_Cloud_0001.png"); cloud->setPosition(Point(baseSprite->getContentSize().width/2,baseSprite->getContentSize().height/2)); baseSprite->addChild(cloud,-1); cloud->runAction(RepeatForever::create(Animate::create(AnimationCache::getInstance()->getAnimation(getName()+"cloud")))); createAndSetHpBar(); lastState = stateNone; scheduleUpdate(); schedule(schedule_selector(Boss_Efreeti::skill), 20.0f,2,5.0f); setListener(); return true; }