您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ unit_remove_map函数代码示例

51自学网 2021-06-03 09:10:18
  C++
这篇教程C++ unit_remove_map函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中unit_remove_map函数的典型用法代码示例。如果您正苦于以下问题:C++ unit_remove_map函数的具体用法?C++ unit_remove_map怎么用?C++ unit_remove_map使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了unit_remove_map函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: merc_delete

int merc_delete(struct mercenary_data *md, int reply){	struct map_session_data *sd = md->master;	md->mercenary.life_time = 0;	merc_contract_stop(md);	if( !sd )		return unit_free(&md->bl, CLR_OUTSIGHT);	if( md->devotion_flag )	{		md->devotion_flag = 0;		status_change_end(&sd->bl, SC_DEVOTION, INVALID_TIMER);	}	switch( reply )	{		case 0: mercenary_set_faith(md, 1); break; // +1 Loyalty on Contract ends.		case 1: mercenary_set_faith(md, -1); break; // -1 Loyalty on Mercenary killed	}	clif->mercenary_message(sd, reply);	return unit_remove_map(&md->bl, CLR_OUTSIGHT);}
开发者ID:Alvero,项目名称:Hercules,代码行数:25,


示例2: hom_vaporize

/*** Vaporize a character's homunculus* @param sd* @param flag 1: then HP needs to be 80% or above. 2: then set to morph state.*/int hom_vaporize(struct map_session_data *sd, int flag){	struct homun_data *hd;	nullpo_ret(sd);	hd = sd->hd;	if (!hd || hd->homunculus.vaporize)		return 0;	if (status_isdead(&hd->bl))		return 0; //Can't vaporize a dead homun.	if (flag == HOM_ST_REST && get_percentage(hd->battle_status.hp, hd->battle_status.max_hp) < 80)		return 0;	hd->regen.state.block = 3; //Block regen while vaporized.	//Delete timers when vaporized.	hom_hungry_timer_delete(hd);	hd->homunculus.vaporize = flag ? flag : HOM_ST_REST;	if (battle_config.hom_setting&HOMSET_RESET_REUSESKILL_VAPORIZED)		memset(hd->blockskill, 0, sizeof(hd->blockskill));	clif_hominfo(sd, sd->hd, 0);	hom_save(hd);	return unit_remove_map(&hd->bl, CLR_OUTSIGHT);}
开发者ID:Lucciola541,项目名称:rathena,代码行数:31,


示例3: merc_hom_vaporize

//Vaporize a character's homun. If flag, HP needs to be 80% or above.int merc_hom_vaporize(struct map_session_data *sd, int flag){	struct homun_data *hd;	nullpo_retr(0, sd);	hd = sd->hd;	if (!hd || hd->homunculus.vaporize)		return 0;		if (status_isdead(&hd->bl))		return 0; //Can't vaporize a dead homun.	if (flag && status_calc_life(hd->battle_status.hp, hd->battle_status.max_hp)< 80)		return 0;	hd->regen.state.block = 3; //Block regen while vaporized.	//Delete timers when vaporized.	merc_hom_hungry_timer_delete(hd);	hd->homunculus.vaporize = 1;	if(battle_config.hom_setting&0x40)		memset(hd->blockskill, 0, sizeof(hd->blockskill));	clif_hominfo(sd, sd->hd, 0);	merc_save(hd);	return unit_remove_map(&hd->bl, 0);}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:27,


示例4: merc_hom_mutation

int merc_hom_mutation(struct homun_data *hd, int class_){	struct s_homunculus *hom;	struct map_session_data *sd;	nullpo_ret(hd);		//Only allows mutating level 99 evolved homunculus and also prevents mutating already mutated homunculus.	if( hd->homunculus.level < 99 || !(hd->homunculus.class_ >= 6009 && hd->homunculus.class_ <= 6016) || 		hd->homunculus.class_ >= MH_CLASS_BASE && hd->homunculus.class_ <= MH_CLASS_MAX)	{		clif_emotion(&hd->bl, E_SWT);		return 0 ;	}	sd = hd->master;	if (!sd)		return 0;	if (!merc_hom_change_class(hd, class_)) {		ShowError("merc_hom_mutation: Can't mutate homunc from %d to %d", hd->homunculus.class_, class_);		return 0;	}	// Its said the player can rename the homunculus again after mutation.	// This might be true since the homunculus's form completely changes.	hd->homunculus.rename_flag = 0;	//Apply mutation bonuses.	//Bonuses are the same for all mutations.	hom = &hd->homunculus;	hom->max_hp += rand(1000, 2000);	hom->max_sp += rand(10, 200);	hom->str += 10*rand(1, 10);	hom->agi += 10*rand(1, 10);	hom->vit += 10*rand(1, 10);	hom->int_+= 10*rand(1, 10);	hom->dex += 10*rand(1, 10);	hom->luk += 10*rand(1, 10);	unit_remove_map(&hd->bl, CLR_OUTSIGHT);	map_addblock(&hd->bl);	clif_spawn(&hd->bl);	clif_emotion(&sd->bl, E_NO1);	clif_specialeffect(&hd->bl,568,AREA);	//status_Calc flag&1 will make current HP/SP be reloaded from hom structure	hom->hp = hd->battle_status.hp;	hom->sp = hd->battle_status.sp;	status_calc_homunculus(hd,1);	if (!(battle_config.hom_setting&0x2))		skill_unit_move(&sd->hd->bl,gettick(),1); // apply land skills immediately	return 1 ;}
开发者ID:nevelis,项目名称:3CeAM,代码行数:55,


示例5: merc_hom_evolution

/** * Make an homonculus evolve, (changing in evolution class and apply bonus) * @param hd : homonculus datas * @return 0:failure, 1:success */int merc_hom_evolution(struct homun_data *hd){	struct s_homunculus *hom;	struct h_stats *max, *min;	struct map_session_data *sd;	nullpo_ret(hd);	if(!hd->homunculusDB->evo_class || hd->homunculus.class_ == hd->homunculusDB->evo_class)	{		clif_emotion(&hd->bl, E_SWT);		return 0 ;	}	sd = hd->master;	if (!sd)		return 0;	if (!merc_hom_change_class(hd, hd->homunculusDB->evo_class)) {		ShowError("merc_hom_evolution: Can't evolve homunc from %d to %d", hd->homunculus.class_, hd->homunculusDB->evo_class);		return 0;	}	//Apply evolution bonuses	hom = &hd->homunculus;	max = &hd->homunculusDB->emax;	min = &hd->homunculusDB->emin;	hom->max_hp += rnd_value(min->HP, max->HP);	hom->max_sp += rnd_value(min->SP, max->SP);	hom->str += 10*rnd_value(min->str, max->str);	hom->agi += 10*rnd_value(min->agi, max->agi);	hom->vit += 10*rnd_value(min->vit, max->vit);	hom->int_+= 10*rnd_value(min->int_,max->int_);	hom->dex += 10*rnd_value(min->dex, max->dex);	hom->luk += 10*rnd_value(min->luk, max->luk);	hom->intimacy = 500;	unit_remove_map(&hd->bl, CLR_OUTSIGHT);	if(map_addblock(&hd->bl))		return 0;	clif_spawn(&hd->bl);	clif_emotion(&sd->bl, E_NO1);	clif_specialeffect(&hd->bl,568,AREA);	//status_Calc flag&1 will make current HP/SP be reloaded from hom structure	hom->hp = hd->battle_status.hp;	hom->sp = hd->battle_status.sp;	status_calc_homunculus(hd,1);	if (!(battle_config.hom_setting&0x2))		skill_unit_move(&sd->hd->bl,gettick(),1); // apply land skills immediately	return 1 ;}
开发者ID:BlazingSpear,项目名称:rathena,代码行数:58,


示例6: pet_catch_process2

/** * Begin the actual catching process of a monster. * @param sd : player requesting * @param target_id : monster ID of pet to catch * @return 0:success, 1:failure */int pet_catch_process2(struct map_session_data* sd, int target_id){	struct mob_data* md;	int i = 0, pet_catch_rate = 0;	nullpo_retr(1, sd);	md = (struct mob_data*)map_id2bl(target_id);	if(!md || md->bl.type != BL_MOB || md->bl.prev == NULL) { // Invalid inputs/state, abort capture.		clif_pet_roulette(sd,0);		sd->catch_target_class = -1;		sd->itemid = sd->itemindex = -1;		return 1;	}	//FIXME: delete taming item here, if this was an item-invoked capture and the item was flagged as delay-consume [ultramage]	i = search_petDB_index(md->mob_id,PET_CLASS);	//catch_target_class == 0 is used for universal lures (except bosses for now). [Skotlex]	if (sd->catch_target_class == 0 && !status_has_mode(&md->status,MD_STATUS_IMMUNE))		sd->catch_target_class = md->mob_id;	if(i < 0 || sd->catch_target_class != md->mob_id) {		clif_emotion(&md->bl, E_AG);	//mob will do /ag if wrong lure is used on them.		clif_pet_roulette(sd,0);		sd->catch_target_class = -1;		return 1;	}	pet_catch_rate = (pet_db[i].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) {		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_db[i].class_,mob_db(pet_db[i].class_)->lv,			pet_db[i].EggID,0,pet_db[i].intimate,100,0,1,pet_db[i].jname);	} else {		clif_pet_roulette(sd,0);		sd->catch_target_class = -1;	}	return 0;}
开发者ID:544a,项目名称:rathena,代码行数:59,


示例7: elemental_delete

int elemental_delete (struct elemental_data *ed, int reply){	struct map_session_data *sd;	nullpo_ret (ed);	sd = ed->master;	ed->elemental.life_time = 0;	elemental_clean_effect (ed);	elemental_summon_stop (ed);	if (!sd)		return unit_free (&ed->bl, 0);	sd->ed = NULL;	sd->status.ele_id = 0;	return unit_remove_map (&ed->bl, 0);}
开发者ID:digofcbh,项目名称:Cronus,代码行数:16,


示例8: hom_mutate

/** * Make an homonculus mutate in renewal homon * @param hd : homonculus datas * @param homun_id : id to make it transform into (must be a valid homon class) * @return 0:failure, 1:sucess */int hom_mutate(struct homun_data *hd, int homun_id){	struct s_homunculus *hom;	struct map_session_data *sd;	int m_class, m_id, prev_class = 0;	nullpo_ret(hd);	m_class = hom_class2mapid(hd->homunculus.class_);	m_id    = hom_class2mapid(homun_id);	if( m_class == -1 || m_id == -1 || !(m_class&HOM_EVO) || !(m_id&HOM_S) ) {		clif_emotion(&hd->bl, E_SWT);		return 0;	}	sd = hd->master;	if (!sd)		return 0;	prev_class = hd->homunculus.class_;	if (!hom_change_class(hd, homun_id)) {		ShowError("hom_mutate: Can't evolve homunc from %d to %d", hd->homunculus.class_, homun_id);		return 0;	}	unit_remove_map(&hd->bl, CLR_OUTSIGHT);	if(map_addblock(&hd->bl))		return 0;	clif_spawn(&hd->bl);	clif_emotion(&sd->bl, E_NO1);	clif_specialeffect(&hd->bl,568,AREA);	//status_Calc flag&1 will make current HP/SP be reloaded from hom structure	hom = &hd->homunculus;	hom->hp = hd->battle_status.hp;	hom->sp = hd->battle_status.sp;	hom->prev_class = prev_class;	status_calc_homunculus(hd, SCO_FIRST);	if (!(battle_config.hom_setting&0x2))		skill_unit_move(&sd->hd->bl,gettick(),1); // apply land skills immediately	return 1;}
开发者ID:2serv,项目名称:rathena,代码行数:53,


示例9: hom_delete

/*** Delete a homunculus, completely "killing it".* Emote is the emotion the master should use, send negative to disable.* @param hd* @param emote*/int hom_delete(struct homun_data *hd, int emote){	struct map_session_data *sd;	nullpo_ret(hd);	sd = hd->master;	if (!sd)		return unit_free(&hd->bl,CLR_DEAD);	if (emote >= 0)		clif_emotion(&sd->bl, emote);	//This makes it be deleted right away.	hd->homunculus.intimacy = 0;	// Send homunculus_dead to client	hd->homunculus.hp = 0;	clif_hominfo(sd, hd, 0);	return unit_remove_map(&hd->bl,CLR_OUTSIGHT);}
开发者ID:Lucciola541,项目名称:rathena,代码行数:25,


示例10: merc_hom_vaporize

//Vaporize a character's homun. If flag, HP needs to be 80% or above.int merc_hom_vaporize(struct map_session_data *sd, int flag){	struct item tmp_item;	struct s_homunculus *hom;	struct homun_data *hd;	int rate;	hd = sd->hd;	hom = &hd->homunculus;	sd->status.lock = 0;		if(hom->ditto == 1){		//hd->homunculus.class_ = 2502;		//status_set_viewdata(&hd->bl, 2502);		//merc_hom_calc_skilltree(hd);		rate = 8162;	}else{	rate =(hd->homunculus.class_) + 5530;	}	merc_save(hd);	hom->char_id = sd->status.char_id;	memset(&tmp_item,0,sizeof(tmp_item));	tmp_item.nameid = rate;	tmp_item.identify = 1;	tmp_item.card[0] = CARD0_HUN;	tmp_item.card[1] = GetWord(hd->homunculus.hom_id,0);	tmp_item.card[2] = GetWord(hd->homunculus.hom_id,1);	tmp_item.card[3] = 0;	if((flag = pc_additem(sd,&tmp_item,1))) {		clif_additem(sd,0,0,flag);		map_addflooritem(&tmp_item,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);}	sd = hd->master;	hd->homunculus.intimacy = 0;	return unit_remove_map(&hd->bl,CLR_OUTSIGHT);	}
开发者ID:Aeromesi,项目名称:PkRO_Translation,代码行数:40,


示例11: merc_hom_dead

int merc_hom_dead(struct homun_data *hd, int flag){   	struct map_session_data *sd = hd->master;	struct s_homunculus *hom;	struct item tmp_item;	int rate;	sd = hd->master;	hd = sd->hd;	hom = &hd->homunculus;	rate =(hd->homunculus.class_) + 5530;	merc_save(hd);	sd = hd->master;	pc_delitem(sd, pc_search_inventory(sd,690), 1, 0, 0);	//sd->status.hom_id = 0;		sd->status.lock = 0;	merc_hom_hungry_timer_delete(hd);	hd->homunculus.hp = 0;	hom->char_id = sd->status.char_id;		memset(&tmp_item,0,sizeof(tmp_item));	tmp_item.nameid = rate;	tmp_item.identify = 1;	tmp_item.card[0] = CARD0_HUN;	tmp_item.card[1] = GetWord(hd->homunculus.hom_id,0);	tmp_item.card[2] = GetWord(hd->homunculus.hom_id,1);	tmp_item.card[3] = 1;	if((flag = pc_additem(sd,&tmp_item,1))) {		clif_additem(sd,0,0,flag);		map_addflooritem(&tmp_item,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);}	hd->homunculus.hp = 0;	hd->homunculus.intimacy = 0;	return unit_remove_map(&hd->bl,CLR_OUTSIGHT);}
开发者ID:Aeromesi,项目名称:PkRO_Translation,代码行数:36,


示例12: pet_catch_process2

int pet_catch_process2(struct map_session_data *sd,int target_id){	struct mob_data *md;	int i=0,pet_catch_rate=0;	nullpo_retr(1, sd);	md=(struct mob_data*)map_id2bl(target_id);	if(!md || md->bl.type != BL_MOB || md->bl.prev == NULL){		//Abort capture.		sd->catch_target_class = -1;		sd->itemid = sd->itemindex = -1;		return 1;	}		if (sd->menuskill_id != SA_TAMINGMONSTER) 	{	//Exploit?		clif_pet_rulet(sd,0);		sd->catch_target_class = -1;		return 1;	}		if (sd->menuskill_lv > 0)	{	//Consume the pet lure [Skotlex]		i=pc_search_inventory(sd,sd->menuskill_lv);		if (i < 0)		{	//they tried an exploit?			clif_pet_rulet(sd,0);			sd->catch_target_class = -1;			return 1;		}		//Delete the item		if (sd->itemid == sd->menuskill_lv)			sd->itemid = sd->itemindex = -1;		sd->menuskill_id = sd->menuskill_lv = 0;		pc_delitem(sd,i,1,0);	}	i = search_petDB_index(md->class_,PET_CLASS);	//catch_target_class == 0 is used for universal lures. [Skotlex]	//for now universal lures do not include bosses.	if (sd->catch_target_class == 0 && !(md->status.mode&MD_BOSS))		sd->catch_target_class = md->class_;	if(i < 0 || sd->catch_target_class != md->class_) {		clif_emotion(&md->bl, 7);	//mob will do /ag if wrong lure is used on them.		clif_pet_rulet(sd,0);		sd->catch_target_class = -1;		return 1;	}	pet_catch_rate = (pet_db[i].capture + (sd->status.base_level - md->level)*30 + sd->battle_status.luk*20)*(200 - md->status.hp*100/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(rand()%10000 < pet_catch_rate) {		unit_remove_map(&md->bl,0);		status_kill(&md->bl);		clif_pet_rulet(sd,1);//		if(battle_config.etc_log)//			printf("rulet success %d/n",target_id);		intif_create_pet(sd->status.account_id,sd->status.char_id,pet_db[i].class_,mob_db(pet_db[i].class_)->lv,			pet_db[i].EggID,0,pet_db[i].intimate,100,0,1,pet_db[i].jname);	}	else	{		sd->catch_target_class = -1;		clif_pet_rulet(sd,0);	}	return 0;}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:72,



注:本文中的unit_remove_map函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ unit_test函数代码示例
C++ unit_name_from_path函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。