Ir para conteúdo
  • Cadastre-se

[CT2.5 Freya L2JServer] Dual AIOx - by Anderuimm


PaiPlayer

Posts recomendados

Estava ajudando o pessoal do servidor onde estou jogando e acabei criando essa Dual AIOx. Como muitas que vi por aí se baseiam em apenas adicionar as skills ao char e, quando retiradas sempre retiram os buffs que porventura o char venha a ter (como os buffs de anão), então criei essa que é baseada em Transformação. Ela foi baseada em uma Dual AIOx que eu peguei daqui mesmo, me perdoem a falha na memória mas não lembro de quem era, então os créditos por criar os arquivos da system não são meus, eu só mechi no XML do ítem, na Skill e no script da transformação.

 

* Informações úteis: usando ela o char não se move e fica com Casting e Atk Speed bem alto pra dar buffs rápido.

* Ela não altera o cooldown das skills, não bugando skill que deveriam ter CD alto como Create CP Potion que, em um caso que vi, o char pode ficar parado criando CP sem parar e só com o delay do summon da skill.

* Ela deixa o char com 1 de PAtk e 1 de MAtk. Ele pode equipar outras armas e usá-las, mas ainda assim se ele estiver transformado ele não poderá andar.

* Arma com duração de 30 dias. Para retirar essa limitação ou alterá-la basta retirar ou alterar a linha que contém <set name="time" val="43200" />

 

Espero que as instruções bastem pra que você Admin aproveite ela.

 

1-Baixe aqui o pack de arquivos necessários. Eles são baseados em uma compilação da L2JServer Freya, Datapack Rev 7875 e Serverpack Rev 4545 e não foram testados em outros serves. Link corrigido às 12:07 por erro no AIOx.java - Thanks CALF (L2Origin)

 

2- Na pasta gameserver/data abra o scripts.cfg. Nele voce vai adicionar essa linha junto com as transformations:

 

transformations/AIOx.java

 

2.a- Voce vai encontrar e comentar essa linha pra que ela fique exatamente assim (também nas transformations do scripts.cfg):

 

# transformations/AquaElf.java

 

*Essa transform é dada apenas por Admins então não afeta na jogabilidade nem há como um player obtê-la.

 

3- Depois você vai descompactar os arquivos da pasta gameserver. Eles já estão estruturados pra irem para suas devidas pastas.

 

3.a- nos items tem o arquivo da Dual AIOx. Se você tem algum item custom com ID próximo de 50070, copie o item e cole-o dentro do arquivo já existente ou altere sua ID.

3.b- nas skills tem a skill 23215, que seria auma action de um Agathion. O tal Agathion não está implementado ainda, então player nem Admin nao tem como pegá-lo, por isso reaproveitei a skill.

3.b.I- Essa skill pode ser adicionada a um char pra que ele se torne um AIOx permanente. Ela da as mesmas limitações de movimento que a Dual.

3.c- Nos scripts tem o AIOx.java que é o que faz com que o char se transforme e receba os skills, se buffe e destransforme sem perder os buffs. Ele não altera outros scripts existentes.

 

4- Agora voce vai adicionar essas linhas na system nos arquivos referentes:

 

itemname-e.dat

50070	Aiox Dual Origin 		a,Espada especial. Ao equipar, o personagem fica habilitado para se transformar em um AIOx Buffer.\0	-1	0	0						a,	0	0		a,	0	0	0	0	0	0	0	0	0	0	a,	1

 

 

 

weapongrp.dat

0	50070	1	1	6	1	0	LineageWeapons.Blackvisage_m00_wp	LineageWeapons.Blackvisage_m00_wp		LineageWeaponsTex.Blackvisage_t00	LineageWeaponsTex.Blackvisage_t00			0	0	0	0	0	1	1	0	icon.weapon_blackvisage_i01	icon.weapon_blackvisage_i01	icon.weapon_the_dualsword_of_hero_i00			-1	1300	47	0	0	0		1		7	3	2	LineageWeapons.Blackvisage_m00_wp	LineageWeapons.Blackvisage_m00_wp	1	1	2	LineageWeaponsTex.Blackvisage_t00	LineageWeaponsTex.Blackvisage_t00			4	ItemSound.spear_5	ItemSound.staff_2	ItemSound.spear_6	ItemSound.spear_9	ItemSound.itemdrop_staff	ItemSound.itemequip_staff		10	532	192	8	5	8	0	0	0	0	325	0	1	1	1000	0	1	0	LineageEffect.c_u005	LineageEffect.c_u005	2.00000000	0.00000000	0.00000000	2.00000000	0.00000000	0.00000000	0.89999998	0.89999998	0.20000000	0.20000000	LineageWeapons.rangesample	LineageWeapons.rangesample	1.00000000	1.00000000	1.00000000	1.00000000	1.00000000	1.00000000	31.00000000	0.00000000	0.00000000	31.00000000	0.00000000	0.00000000	0	0	-1	-1	-1	-1

 

 

skillname-e.dat (é uma linha que tem que ser alterada então MUITA ATENÇÃO para não duplicar linhas)

23215	1	a,AIOx Transform\0	a,none\0	a,none\0	a,none\0

*No Freya essa é geralmente a última linha do tal arquivo.

 

 

Aqui um link pra baixar as linhas sozinhas compiladas nos seus respectivos arquivos. Abra-os, copie as linhas e cole na sua system.

 

--- ALTERANDO O BUFFER ---

 

Você pode abrir o AIOx.java no Bloco de Notas (eu indico o Textpad) para alterar os buffs. Abaixo vai a lista das skills que a Dual dá. Para tirar algum buff, basta encontrar a linha que tenha algo tipo isso...

 

// NOME DA SKILL
getPlayer().addSkill(SkillTable.getInstance().getInfo(ID_SKILL, LEVEL), false); 

 

...e comentar com duas barras como aí embaixo:

 

// NOME DA SKILL
//getPlayer().addSkill(SkillTable.getInstance().getInfo(ID_SKILL, LEVEL), false);

 

Bom, a lista!

 

PS.: Note que esse AIOx tambem tem algumas skills que (eu pelo menos nunca vi) em outros AIOx. Elas estão marcadas com * .

 

DANCES

Warior Dance

Inspiration Dance

Mystic Dance

Fire Dance

Fury Dance

Concentration Dance

Light Dance

Aqua Guard Dance

Earth Guard Dance

Vampire Dance

Protection Dance

Siren Dance

Shadows Dance

Alignment Dance

Berserker Dance

 

SONGS

Earth Song

Life Song

Water Song

Warding Song

Wind Song

Hunter Song

Invocation Song

Vitality Song

Vengeance Song

Flame Guard Song

Storm Guard Song

Renewal Song

Meditation Song

Champion Song

Elemental Song

 

RESISTS

Resist Fire

Divine Prot

Invigor

Resist Poison

Resist Aqua

Resist Wind

Holy Resist

Unholy Resist

Elemental Prot

Resist Shock

Advanced Block

Arcane Prot

 

BUFFS

Prayer

Might

Mental Shield

Dark Armor*

Holy Weapon

Dark Weapon*

Earth Weapon*

Wind Weapon*

Water Weapon*

Fire Weapon*

Regeneration

Berserker Spirit

Kiss of Eva

Focus

Concentration

Acumen

Wind Walk

Magic Barrier

Blessed Body

Blessed Soul

Haste

Guidance

Death Whisper

Bless Shield

Greater Might

Greater Shield

Prophecy of Fire

Prophecy of Water

Prophecy of Wind

Gift of Queen

Blessing of Queen

Gift of Seraphim

Blessing of Seraphim

Agility

Decrease Weight

Wild Magic

Clarity

Mana Gain

Blessing of Kamael*

 

CHANTS

Paaggrios Fist

Battle Chant

Soul Shield

Flame Chant

Fire Chant

Shielding Chant

Fury Chant

Evasion Chant

Rage Chant

Revenge Chant

Predator Chant

Eagle Chant

Vampire Chant

War Chant

Earth Chant

Chant of Spirit

Chant of Victory

Magnus Chant

Chant of Protection

 

IMPROVEDS

Improved Combat

Improved Magic

Improved Condition

Improved Critical Attack

Improved Shield Defense

Improved Movement

 

OUTROS

Gate Chant*

Summon Friend*

 

Creditos:

Script, alteração das XMLs e testes - Anderuimm

Arquivos da System: CALF (L2Origin) e Cleberhills

Editado por Fahise
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

O mp regen e o max mp como estão? pq vi em um server algo desse tipo, mas os players bugavam a mana com ele, por exemplo, se eu estou upando com um mage e minha mana acaba, eu coloco a dual pra minha mp regen aumentar e encher minha mana, logo depois coloco minha weapon de volta, e upo tranquilamente sem precisar usar potes de mana. Pra servidores q não tem mana pote, ou eles recuperam pouco, isso acaba se transformando em um incômodo para o GM.

Link para o comentário
Compartilhar em outros sites

A MP Regen está bem alta sim. Basta tirar as 153 e 154 linhas no arquivo da skill de transform que ele fica balanceado pra server que não tem Mana Potion:

 

Arquivo gameserver\data\stats\skills\23200-23299.xml - linhas 153 e 154 (basta apagá-las)

<code>

<add order="0x30" stat="maxMp" val="9999" />

<add order="0x30" stat="regMp" val="9999" />

</code>

 

Sobre as linhas, elas devem ser adicionadas na system Freya. Em outras systems ele pode não funcionar. Aqui um link pra download dos três arquivos, contendo apenas as linhas da arma. Abra-os, copie as linhas e cole na sua system. Uso o FileEdit CT2.4 v0.9 do TK Master, (o que tem um Z no ícone).

Editado por RevoltadO
Link para o comentário
Compartilhar em outros sites

Fahise Fala carinha em primeiro lugar parabens...

Mais aqui não funciona não :(

Ele mostra o skill e tudo mais, mais na hora que cliquo para me transforma ele usa o skill e volta a normal, tipo o skill esta com 0 sergundo :(

 

Ou fiz algo errado rsrs

 

Abraços

Blog Humor - www.tediado.com.br

Campanha Abraços Gratis - www.abracosgratis.com.br

Apocalypse Lan House - www.apocalypselanhouse.com.br

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 2 weeks later...

@Fabio Anesio

 

Também fui testar e tive o mesmo problema, quando transforma da 0 segundos e destransforma.

 

ja consegui arrumar era na xml segue a xml com correção

 

	<skill id="23215" levels="1" name="AIOx">
	<set name="castRange" val="600" />
	<set name="effectRange" val="1100" />
	<set name="hitTime" val="2500" />
	<set name="isMagic" val="true" />
	<set name="mpInitialConsume" val="15" />
	<set name="mpConsume" val="58" />
	<set name="operateType" val="OP_ACTIVE" />
	<set name="reuseDelay" val="1600" />
	<set name="staticReuse" val="true" />
	<set name="skillType" val="BUFF" />
	<set name="target" val="TARGET_SELF" />
	<set name="transformId" val="125" />
	<for>
		<effect name="Transformation" abnormalTime="300" val="0" abnormalLvl="1" abnormalType="transform">
				<add order="0x30" stat="maxMp" val="9999" />
				<add order="0x30" stat="regMp" val="9999" />
				<set order="0x30" stat="pAtkSpd" val="1500" />
				<set order="0x30" stat="mAtkSpd" val="1500" />
				<sub order="0x08" stat="pAtk" val="10000" />
				<sub order="0x08" stat="mAtk" val="10000" />
				<sub order="0x08" stat="runSpd" val="500" />
		</effect>
	</for>
</skill>

Editado por RevoltadO

...

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
Como muitas que vi por aí se baseiam em apenas adicionar as skills ao char e, quando retiradas sempre retiram os buffs

 

a Dual que eu fiz quando você usa ela o players ganham todos os buffs e quando tira ela os bufss sai somente do Alt + K, mais na lista dos buffs continuam...

a dual dura 30 dias e os buffs do jogo setei como 1hr (59min) e os da dual 2hr

 

1JCCC.jpg

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

As skills com enchant são skills com lvl acima de 100 creio eu.

Logo, 100~130: skill com a SA Nº 1.

200~230: SA Nº 2.

 

Assim por dianta.

Me corrijam se estiver errado.

"In a way, the supernatural is what's behind the curtain. Normally, you only need to see what's happening on stage. That's how reality works. If you don't know then it's for the best. Actually, learning about the supernatural only increases the number of things you don't know."'

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 1 year later...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.