Pagina 1 di 1

Domanda inerenti all tasso di cattura dei pet.

Inviato: 25/08/2018, 18:38
da Yaku
come da domanda, volevo sapere i tassi di cattura dei mob nel server. perchè sto avendo molte difficoltà nella cattura di zealotus e quindi volevo sapere principalmente come erano gestiti i tassi di cattura su questo server.

Re: Domanda inerenti all tasso di cattura dei pet.

Inviato: 26/08/2018, 12:51
da Devil
E' veramente una formula complessa da calcolare e non ti saprei dire neanche io esattamente come venirne a capo, le uniche cose che posso dirti è che questa di seguito è la formula che il nostro server utilizza e che l'unico dato fisso che abbiamo è "pet_catch_rate" che è settato a 100:

Codice: Seleziona tutto

	pet_catch_rate = (pet->capture + (sd->status.base_level - md->level)*30 + sd->battle_status.luk*20)*(200 - get_percentage(md->status.hp, md->status.max_hp))/100;

	if(pet_catch_rate < 1)
		pet_catch_rate = 1;

	if(battle_config.pet_catch_rate != 100)
		pet_catch_rate = (pet_catch_rate*battle_config.pet_catch_rate)/100;

	if(rnd()%10000 < pet_catch_rate) {
		achievement_update_objective(sd, AG_TAMING, 1, md->mob_id);
		unit_remove_map(&md->bl,CLR_OUTSIGHT);
		status_kill(&md->bl);
		clif_pet_roulette(sd,1);
		intif_create_pet(sd->status.account_id, sd->status.char_id, pet->class_, mob_db(pet->class_)->lv, pet->EggID, 0, pet->intimate, 100, 0, 1, pet->jname);
	} else {
		clif_pet_roulette(sd,0);
		sd->catch_target_class = PET_CATCH_FAIL;
	}

Re: Domanda inerenti all tasso di cattura dei pet.

Inviato: 26/08/2018, 23:52
da Yaku
Devil ha scritto: 26/08/2018, 12:51 E' veramente una formula complessa da calcolare e non ti saprei dire neanche io esattamente come venirne a capo, le uniche cose che posso dirti è che questa di seguito è la formula che il nostro server utilizza e che l'unico dato fisso che abbiamo è "pet_catch_rate" che è settato a 100:

Codice: Seleziona tutto

	pet_catch_rate = (pet->capture + (sd->status.base_level - md->level)*30 + sd->battle_status.luk*20)*(200 - get_percentage(md->status.hp, md->status.max_hp))/100;

	if(pet_catch_rate < 1)
		pet_catch_rate = 1;

	if(battle_config.pet_catch_rate != 100)
		pet_catch_rate = (pet_catch_rate*battle_config.pet_catch_rate)/100;

	if(rnd()%10000 < pet_catch_rate) {
		achievement_update_objective(sd, AG_TAMING, 1, md->mob_id);
		unit_remove_map(&md->bl,CLR_OUTSIGHT);
		status_kill(&md->bl);
		clif_pet_roulette(sd,1);
		intif_create_pet(sd->status.account_id, sd->status.char_id, pet->class_, mob_db(pet->class_)->lv, pet->EggID, 0, pet->intimate, 100, 0, 1, pet->jname);
	} else {
		clif_pet_roulette(sd,0);
		sd->catch_target_class = PET_CATCH_FAIL;
	}
grazie mille per la tua disponibilità anche stavolta devil, comunque io direi che si può chiudere la discussione, devo solo avere un pò più di fortuna evidentemente :D