All pastes #24721 Raw Edit

Mine

public text v1 · immutable
#24721 ·published 2005-10-06 05:24 UTC
rendered paste body
	public Object setState(State state) {
		// remove drops from previous state
		if (drops != null) {
			for (Iterator<ArrayList<L2DropData>> i = drops.values().iterator(); i.hasNext(); ) {
				ArrayList<L2DropData> lst = i.next();
				for (Iterator<L2DropData> ds = lst.iterator(); ds.hasNext(); ) {
					L2DropData d = ds.next();
					String[] states = d.getStateIDs();
					for (int k=0; k < states.length; k++) {
						if (this.state.getName().equals(states[k])) {
							ds.remove();
							break;
						}
					}
				}
				if (lst == null || lst.size() == 0)
					i.remove();
			}
		}
		// set new state
		this.state = state;
		// add drops from new state
		if (state != null && !completed) {
			HashMap<Integer, ArrayList<L2DropData>> new_drops = state.getDrops();
			if (new_drops != null) {
				if (drops == null)
					drops = new HashMap<Integer, ArrayList<L2DropData>>();
				drops.putAll(new_drops);
			}
		}
		Quest.updateQuestInDb(this);
		QuestList ql = new QuestList();
		player.sendPacket(ql);
		return state;
	}