Beispiel #1
0
void ItemEquipable::load(vector<unsigned char>* data, int* position) {
    Item::load(data, position);

    minimumAbilities.load(data, position);

    int size = Utility::loadInt(data, position);
    for (int i = 0; i < size; i++) {
        enchantments.push_back(Enchantment(data, position));
    }
}
Beispiel #2
0
void ItemWeapon::load(vector<unsigned char>* data, int* position) {
    ItemEquipable::load(data, position);

    baseDamage = Utility::loadDouble(data, position);
    damageType = (DamageType)Utility::loadInt(data, position);
    useDelay = Utility::loadDouble(data, position);

    int size = Utility::loadInt(data, position);
    for (int i = 0; i < size; i++) {
        //int eId = Utility::loadInt(data, position);
        //int chance = Utility::loadInt(data, position);
        //int power = Utility::loadInt(data, position);
        enchantments.push_back(Enchantment(data, position));
    }
}
Beispiel #3
0
	Enchantment EnchantmentDesc::generate(id_t equipment_id, Generated const& gen) const
	{
		RNG rng = noise_coord(math::vec<2,noise_coord_t>({equipment_id,gen.gen_id()}));

		QDValue qd;

		Attributes base(m_attributes.base);

		for(unsigned i = rlrpgenumcount(Attr); i--;)
			base.flat[i] += rng.roll_dice(m_attributes.range.flat[i] +1);

		for(unsigned i = rlrpgenumcount(Attr); i--;)
			base.relative[i] += rng.roll_dice(m_attributes.range.relative[i] +1);
		
		return Enchantment(
			gen,
			qd,
			equipment_id,
			m_id,
			base);
	}