root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/controllers/effect/EffectController.java

15151521
69
	{
69
	{
70
		Map<String, Effect> mapToUpdate = getMapForEffect(effect);
70
		Map<String, Effect> mapToUpdate = getMapForEffect(effect);
71
		
71
		
72
		if(mapToUpdate.containsKey(effect.getStack()))
72
		Effect existingEffect = mapToUpdate.get(effect.getStack());
73
		if(existingEffect != null)
73
		{
74
		{
74
			Effect existingEffect = mapToUpdate.get(effect.getStack());
75
			// check stack level
75
			
76
			//check stack level
77
			if(existingEffect.getSkillStackLvl() > effect.getSkillStackLvl())
76
			if(existingEffect.getSkillStackLvl() > effect.getSkillStackLvl())
78
				return;
77
				return;
79
			//check skill level (when stack level same)
78
			// check skill level (when stack level same)
80
			if(existingEffect.getSkillStackLvl() == effect.getSkillStackLvl() 
79
			if(existingEffect.getSkillStackLvl() == effect.getSkillStackLvl()
81
				&& existingEffect.getSkillLevel() > effect.getSkillLevel())
80
				&& existingEffect.getSkillLevel() > effect.getSkillLevel())
82
				return;
81
				return;
83
			
82
84
			existingEffect.endEffect();
83
			existingEffect.endEffect();
85
		}
84
		}
86
		
85
		
86
		if(effect.isToggle() && mapToUpdate.size() >= 3)
87
		{
88
			Iterator<Effect> iter = mapToUpdate.values().iterator();
89
			Effect nextEffect = iter.next();
90
			nextEffect.endEffect();
91
			iter.remove();			
92
		}
93
87
		mapToUpdate.put(effect.getStack(), effect);
94
		mapToUpdate.put(effect.getStack(), effect);
88
		effect.startEffect();		
95
		effect.startEffect();
89
		
96
90
		if(!effect.isPassive())
97
		if(!effect.isPassive())
91
		{
98
		{
92
			// effect icon updates
99
			// effect icon updates
...
...
170
	{
177
	{
171
		for(Effect effect : abnormalEffectMap.values()){
178
		for(Effect effect : abnormalEffectMap.values()){
172
			if(effect.getSkillId()==skillid){
179
			if(effect.getSkillId()==skillid){
173
				abnormalEffectMap.remove(effect.getStack());
174
				effect.endEffect();
180
				effect.endEffect();
181
				abnormalEffectMap.remove(effect.getStack());				
175
			}
182
			}
176
		}
183
		}
177
		
184
		
...
...
190
	{
197
	{
191
		for(Effect effect : abnormalEffectMap.values()){
198
		for(Effect effect : abnormalEffectMap.values()){
192
			if(effect.containsEffectId(effectId)){
199
			if(effect.containsEffectId(effectId)){
193
				abnormalEffectMap.remove(effect.getStack());
194
				effect.endEffect();
200
				effect.endEffect();
201
				abnormalEffectMap.remove(effect.getStack());				
195
			}
202
			}
196
		}
203
		}
197
		
204
		
...
...
211
	{
218
	{
212
		for(Effect effect : passiveEffectMap.values()){
219
		for(Effect effect : passiveEffectMap.values()){
213
			if(effect.getSkillId()==skillid){
220
			if(effect.getSkillId()==skillid){
214
				passiveEffectMap.remove(effect.getStack());
215
				effect.endEffect();
221
				effect.endEffect();
222
				passiveEffectMap.remove(effect.getStack());				
216
			}
223
			}
217
		}
224
		}
218
	}
225
	}
...
...
225
	{
232
	{
226
		for(Effect effect : noshowEffects.values()){
233
		for(Effect effect : noshowEffects.values()){
227
			if(effect.getSkillId()==skillid){
234
			if(effect.getSkillId()==skillid){
228
				noshowEffects.remove(effect.getStack());
229
				effect.endEffect();
235
				effect.endEffect();
236
				noshowEffects.remove(effect.getStack());				
230
			}
237
			}
231
		}
238
		}
232
	}
239
	}
...
...
241
			effect.endEffect();
248
			effect.endEffect();
242
		}
249
		}
243
		abnormalEffectMap.clear();
250
		abnormalEffectMap.clear();
251
		for(Effect effect : noshowEffects.values())
252
		{
253
			effect.endEffect();
254
		}
255
		noshowEffects.clear();
244
	}
256
	}
245
	
257
	
246
	public void updatePlayerEffectIcons()
258
	public void updatePlayerEffectIcons()