Skip to content

Life Cubic + Hot Springs Buffs

Featured Replies

I have 2 questions.

1. After getting Life cubic from Newbie guide, should Life cubic stay active after player restarts/exits server or should newbie guide Life cubic disappear and player need to rebuff  every time to receive Life Cubic after restart/exit server?

 

2. Do players need to hit Hot Springs mobs to receive Hot Springs debuffs or should Hot Springs mobs give debuffs without player hitting?

 

I would appreciate an accurate response from multiple members as I could not find info anywhere else. Thank You.

Edited by Vision

Hey @L2RAPTOR

 

1.About the Life cubic, everytime you restart/exit game the Cubic's effects are removed.
2.Hot Springs mobs should hit the player and they have chance to give him those debuffs only when they hit.
You need only to take their aggro by any type of damage or aggro on them.

 

The big head spring effect is only received trough the area affection when you get into the water.

I hope that i've helped. 

  • Author
3 hours ago, Odyssey said:

Hey @L2RAPTOR

 

1.About the Life cubic, everytime you restart/exit game the Cubic's effects are removed.
2.Hot Springs mobs should hit the player and they have chance to give him those debuffs only when they hit.
You need only to take their aggro by any type of damage or aggro on them.

 

The big head spring effect is only received trough the area affection when you get into the water.

I hope that i've helped. 

thank you for your response.

1. Life Cubic given from Newbie Guide Buffs is removed on restart/exit ..

This is L2Off feature?, L2j added feature? what is your source for this information?

2. So Hot Springs debuffs are given to player when mob hits player. There is no requirement for player to hit mob.. correct?

This is L2Off feature?, L2j added feature? what is your source for this information?

GF retail data:

 

1) if my memory serves me right, in order for a skill to be removed on restart it needs abnormal_delete_leaveworld=1, which I do not see it with skill_id = 4338

 

2) Debuffs are applied on attacked (whenever mob gets attacked), clan_attacked (whenever mob's clan gets attacked) and see_spell (basically a healer could get debuffed if he healed a char attacking the mob).

 

set_compiler_opt base_event_type(@NTYPE_NPC_EVENT)

class warrior_casting_enchant_physical_poison : warrior {
parameter:
	int PhysicalSpecial = @s_npc_strike12;
	int Buff1 = @s_might_boss_a_1;
	int Buff2 = @s_haste_boss_a_1;
	int DeBuff1 = @s_spa_disease_a1;
	int DeBuff2 = @s_spa_disease_b1;
	
handler:
	EventHandler CREATED() {
		if (Skill_GetConsumeMP(Buff1) < myself.sm.mp && Skill_GetConsumeHP(Buff1) < myself.sm.hp && Skill_InReuseDelay(Buff1) == 0) {
			AddUseSkillDesire(myself.sm, Buff1, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000);
		}

		if (Skill_GetConsumeMP(Buff2) < myself.sm.mp && Skill_GetConsumeHP(Buff2) < myself.sm.hp && Skill_InReuseDelay(Buff2) == 0) {
			AddUseSkillDesire(myself.sm, Buff2, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000);
		}

		super;
	}

	EventHandler ATTACKED(attacker, i1, skill_name_id) {
		i1 = 0;

		if (GetAbnormalLevel(myself.sm, Skill_GetAbnormalType(Buff1)) <= 0) {
			if (Skill_GetConsumeMP(Buff1) < myself.sm.mp && Skill_GetConsumeHP(Buff1) < myself.sm.hp && Skill_InReuseDelay(Buff1) == 0) {
				AddUseSkillDesire(myself.sm, Buff1, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000);
			}
		}

		if (GetAbnormalLevel(myself.sm, Skill_GetAbnormalType(Buff2)) <= 0) {
			if (Skill_GetConsumeMP(Buff2) < myself.sm.mp && Skill_GetConsumeHP(Buff2) < myself.sm.hp && Skill_InReuseDelay(Buff2) == 0) {
				AddUseSkillDesire(myself.sm, Buff2, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000);
			}
		}

		if (Rand(100) < 33) {
			if (Skill_GetConsumeMP(PhysicalSpecial) < myself.sm.mp && Skill_GetConsumeHP(PhysicalSpecial) < myself.sm.hp && Skill_InReuseDelay(PhysicalSpecial) == 0) {
				AddUseSkillDesire(attacker, PhysicalSpecial, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
			}
		}

		if (Rand(100) < 10) {
			i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff1));

			if (i1 == -1) {
				if (Skill_GetConsumeMP(DeBuff1) < myself.sm.mp && Skill_GetConsumeHP(DeBuff1) < myself.sm.hp && Skill_InReuseDelay(DeBuff1) == 0) {
					AddUseSkillDesire(attacker, DeBuff1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			} else if (i1 == 10) {
			} else {
				i1 = DeBuff1 + i1;

				if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) {
					AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			}
		}

		if (Rand(100) < 10) {
			i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff2));

			if (i1 == -1) {
				if (Skill_GetConsumeMP(DeBuff2) < myself.sm.mp && Skill_GetConsumeHP(DeBuff2) < myself.sm.hp && Skill_InReuseDelay(DeBuff2) == 0) {
					AddUseSkillDesire(attacker, DeBuff2, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			} else if (i1 == 10) {
			} else {
				i1 = DeBuff2 + i1;

				if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) {
					AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			}
		}

		super;
	}

	EventHandler CLAN_ATTACKED(attacker, i1) {
		i1 = 0;

		if (Rand(100) < 10) {
			i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff1));

			if (i1 == -1) {
				if (Skill_GetConsumeMP(DeBuff1) < myself.sm.mp && Skill_GetConsumeHP(DeBuff1) < myself.sm.hp && Skill_InReuseDelay(DeBuff1) == 0) {
					AddUseSkillDesire(attacker, DeBuff1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			} else if (i1 == 10) {
			} else {
				i1 = DeBuff1 + i1;

				if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) {
					AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			}
		}

		if (Rand(100) < 10) {
			i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff2));

			if (i1 == -1) {
				if (Skill_GetConsumeMP(DeBuff2) < myself.sm.mp && Skill_GetConsumeHP(DeBuff2) < myself.sm.hp && Skill_InReuseDelay(DeBuff2) == 0) {
					AddUseSkillDesire(attacker, DeBuff2, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			} else if (i1 == 10) {
			} else {
				i1 = DeBuff2 + i1;

				if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) {
					AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			}
		}

		super;
	}

	EventHandler SEE_SPELL(speller, i1) {
		i1 = 0;

		if (Rand(100) < 10) {
			i1 = GetAbnormalLevel(speller, Skill_GetAbnormalType(DeBuff1));

			if (i1 == -1) {
				if (Skill_GetConsumeMP(DeBuff1) < myself.sm.mp && Skill_GetConsumeHP(DeBuff1) < myself.sm.hp && Skill_InReuseDelay(DeBuff1) == 0) {
					AddUseSkillDesire(speller, DeBuff1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			} else if (i1 == 10) {
			} else {
				i1 = DeBuff1 + i1;

				if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) {
					AddUseSkillDesire(speller, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			}
		}

		if (Rand(100) < 10) {
			i1 = GetAbnormalLevel(speller, Skill_GetAbnormalType(DeBuff2));

			if (i1 == -1) {
				if (Skill_GetConsumeMP(DeBuff2) < myself.sm.mp && Skill_GetConsumeHP(DeBuff2) < myself.sm.hp && Skill_InReuseDelay(DeBuff2) == 0) {
					AddUseSkillDesire(speller, DeBuff2, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			} else if (i1 == 10) {
			} else {
				i1 = DeBuff2 + i1;

				if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) {
					AddUseSkillDesire(speller, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000);
				}
			}
		}

		super;
	}
}

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.