Example #1
0
//Invoked on Castles when a guild is broken. [Skotlex]
int castle_guild_broken_sub(DBKey key,void *data,va_list ap)
{
	struct guild_castle *gc=(struct guild_castle *)data;
	int guild_id=va_arg(ap,int);

	nullpo_ret(gc);

	if (gc->guild_id == guild_id)
	{	//Save the new 'owner', this should invoke guardian clean up and other such things.
		gc->guild_id = 0;
		guild_castledatasave(gc->castle_id, 1, 0);
	}
	return 0;
}
Example #2
0
int guild_save_sub(int tid, unsigned int tick, int id, intptr data)
{
	static int Gid[MAX_GUILDCASTLE]; // previous owning guild
	struct guild_castle *gc;
	int i;

	for(i = 0; i < MAX_GUILDCASTLE; i++) {	// [Yor]
		gc = guild_castle_search(i);
		if (!gc) continue;
		if (gc->guild_id != Gid[i]) {
			// Re-save guild id if its owner guild has changed
			guild_castledatasave(gc->castle_id, 1, gc->guild_id);
			Gid[i] = gc->guild_id;
		}
	}

	return 0;
}