示例#1
0
文件: guild.c 项目: casioza/server000
// ギルド城データ変更要求
int guild_castledatasave(int castle_id,int index,int value)
{
	if( index == 1 )
	{	//The castle's owner has changed? Update Guardian ownership, too. [Skotlex]
		struct guild_castle *gc = guild_castle_search(castle_id);
		int m = -1;
		if (gc) m = map_mapindex2mapid(gc->mapindex);
		if (m != -1)
			map_foreachinmap(mob_guardian_guildchange, m, BL_MOB); //FIXME: why not iterate over gc->guardian[i].id ?
	}
	else
	if( index == 3 )
	{	// defense invest change -> recalculate guardian hp
		struct guild_castle* gc = guild_castle_search(castle_id);
		if( gc )
		{
			int i;
			struct mob_data* gd;
			for( i = 0; i < MAX_GUARDIANS; i++ )
				if( gc->guardian[i].visible && (gd = map_id2md(gc->guardian[i].id)) != NULL )
						status_calc_mob(gd,0);
		}
	}

	return intif_guild_castle_datasave(castle_id,index,value);
}
示例#2
0
// ギルド城データ変更要求
int guild_castledatasave(int castle_id,int index,int value)
{
	if (index == 1)
	{	//The castle's owner has changed? Update Guardian ownership, too. [Skotlex]
		struct guild_castle *gc = guild_castle_search(castle_id);
		int m = -1;
		if (gc) m = map_mapname2mapid(gc->map_name);
		if (m != -1)
			map_foreachinmap(mob_guardian_guildchange, m, BL_MOB);
	}
	return intif_guild_castle_datasave(castle_id,index,value);
}