예제 #1
0
	void equipcache::loadcharlook(maplelook* plook)
	{
		if (!(plook->isloaded()))
		{
			lookinfo* info = plook->getinfo();

			for (map<char, int>::iterator equip = info->equips.begin(); equip != info->equips.end(); equip++)
			{
				int equipid = equip->second;

				if (equipid != 0)
				{
					plook->addcloth(getcloth(equipid));
				}
			}

			for (equiplayer l = EQL_CAP; l <= EQL_MEDAL; l = static_cast<equiplayer>(l + 1))
			{
				if (!plook->getcloth(l))
				{
					plook->addcloth(&emptycloth, l);
				}
			}

			plook->setbody(getbody(info->skin));
			plook->setface(getface(info->faceid));
			plook->sethair(gethair(info->hairid));
			plook->init(&bodyinfo);
		}
	}
예제 #2
0
	void Equipcache::loadlook(CharLook& toload, const LookEntry& look)
	{
		toload.setbody(getbody(look.getskin()));
		toload.sethair(gethair(look.gethair()));
		toload.setface(getface(look.getface()));

		for (Equipslot e = Character::EQL_CAP; e <= Character::EQL_WEAPON; e = static_cast<Equipslot>(e + 1))
		{
			int32_t equipid = look.getequip(e);
			if (equipid > 0)
			{
				toload.addequip(getequip(equipid));
			}
		}

		toload.init(&drawinfo);
	}
예제 #3
0
	void lookfactory::loadcharlook(maplelook* plook)
	{
		if (!(plook->isloaded()))
		{
			lookinfo* info = plook->getinfo();

			for (map<char, int>::iterator equip = info->equips.begin(); equip != info->equips.end(); equip++)
			{
				int equipid = equip->second;

				if (equipid != 0)
				{
					plook->addcloth(getcloth(equipid));
				}
			}

			plook->setbody(getbody(info->skin));
			plook->setface(getface(info->faceid));
			plook->sethair(gethair(info->hairid));
			plook->init(bodydelays, bodyactions, bodyheadmap);
		}
	}