Buscar
viernes, 23 de mayo de 2014
Todo sobre Necromancy - Ultima Online
Backup de la guia que hice para el ULTIMA ONLINE hará.. 10 años? xD La versión del juego era Age of Shadows (no ha llovido ni ná).
Se probo en el servidor Tierra Media (desaparecido)
Necromancy.
Nigromancia- Arte supersticiosa de evocar a los muertos para saber a traves de ellos el futuro o alguna cosa oculta.
El Ultima Online asocia más campos a la nigromancia que el propio.Entre ellos se encuentran: maldiciones, transformaciónes, encantamientos , invocaciones, tratamiento del veneno y del miedo,etc...
-Reagents y Palabras de Poder
-Spells:
Animate Dead (requiere cadaver)
Krrios Database
Mana requerido: 23
Skill minimo requerido: 40.0
Blood Oath(requiere objetivo)
Crea un pacto de sangre, en el cual si el objetivo te hace daño, él recibe el mismo daño.
Duración: (SS casteador - RS Objetivo) / 80 + 8 segundos.(Los valores se toman sin decimales, es decir, GM=1000)
Mana requerido: 13
Skill minimo requerido: 20.0
Corpse Skin(requiere objetivo)
Pudre la carne del objetivo.
Las resistencias del objetivo se ven modificadas:
-15 resistencia al fuego.
-15 resistencia al veneno.
+10 resistencia física.
+10 resistencia al frio.
(Estos valores se toman de las resistencias base, sin contar el spell CURSE)
Duración: (SS Casteador - RS Objetivo) / 25 + 40 segundos(Los valores se toman sin decimales, es decir, GM=1000).
Mana requerido: 11
Skill minimo requerido: 20.0
Curse Weapon(requiere una arma en la mano)
Maldice el arma.
El 50% del daño melee retorna como forma de puntos de vida al casteador.
Duración: (Spirit Speak / 75) + 1 segundo. (GM=1000)
Mana requerido: 7
Skill minimo requerido: 0.0
Evil Omen(requiere Target)
Maldice al objetivo, haciendo que la próxima acción hostil tenga estos bonus:
-Aumento del 25% del daño.
-Si la acción hostil conlleva envenenamiento, automaticamente subirá un nivel de veneno(capeado en lethal).
-El objetivo tendrá 50% del nivel de skill RS.
Mana requerido: 11
Skill minimo requerido: 20.0
Horrific Beast (transformacion)
El casteador recibe 2 puntos de vida/segundo(20 Hit point regeneration)
El casteador no puede utilizar ningun spell que no sea de transformación.
El casteador recibe 25% daño de melee/archery.(Por comprobar en TM)
La tranfomación permanece hasta una nueva transformación o hasta la muerte del casteador
Mana requerido:11
Skill minimo requerido:40.0
Lich Form(transformación)
Aumenta la regeneración de mana en +1.3 mana/segundo(13 "Mana Regeneration").
Aumenta la resistencia al frio +10.
Aumenta la resistencia al veneno +10
El casteador es inmune al desangre.(No habilitado en TM)
El casteador recibe un 25% más de daño de las armas slayer undead.
Disminuye la resistencia al fuego -10
La vida va disminuyendo -0.5hp/segundo.
La tranfomación permanece hasta una nueva transformación o hasta la muerte del casteador
Mana requerido: 23
Skill minimo requerido:70.0
Mind Rot(requiere target)
Confunde la inteligencia de objetivo, haciendo que consuma más mana.
*Pendiente de documentar*
Duración: (SS Casteador - RS objetivo) / 50 + 20 (Los valores son tomados sin decimales, es decir, GM=1000).
Pain Spike(requiere target)
Infunde daño temporal en la victima (dura 10 segundos).
¡Saca 20 puntos de stamina permanentes!
Daño: (SS Casteador - RS victima) / 100 + 18 (Los valores son tomados sin decimales, es decir, GM=1000).
Mana requerido: 5
Skill minimo requerido:20.0
Poison strike(requiere target,daño splash)
Emite una nube tóxica(no envenena,hace daño de veneno) que abarca un area pequeña.[Máximo dos tiles]
Daño base: Pendiente de actualizar.
Daño de rango: (daño base/(distancia en tiles+1)
Quote:Originalmente publicado por Domiglio
Si esta a un tile del objetivo, recibe 50% de daño. Si esta a dos tile del objetivo, recibe 33% de daño.
Mana requerido: 17
Skill minimo requerido: 50.0
Strangle (requiere target)
Estrangula al objetivo, haciendo un daño(en teoria, de poison) continuo durante unos rounds.El primer time-round(tiempo entre rounds) dura 5 segundos, y cada time-round posterior dura un segundo menos, con una duración minima de un segundo entre round y round.
(Para la formula, la equivalencia de Spirit Speak GM es 1000)
Duración: Spirit Speak/100 rounds. Mínimo 4 rounds.
Daño base:
Min->Spirit Speak/100 -2
Max-> Spirit Speak/100 +1
El daño se ve maximizado cuanta mayor sea la diferencia entre stamina actual y stamina máxima del oponente, de ahi que este spell se vea acompañado de golpes de mace y de pain spike.
Daño real: Daño base*(3 - (Stamina actual/Stamina máxima)*2).
Si por ejemplo, la stamina del oponente está al 50%, el daño de strangle se verá duplicado.
Si su stamina llega a cero, el daño se triplicará, alcanzando su daño máximo.
Mana Requerido: 29
Skill minimo requerido: 65.0
Summon Familiar (invocación)
Horde Minion, Shadow Wisp, Dark Wolf
Death Adder, Vampire Bat
Vampiric Embrace (transformacion)
Te transformas en un vampiro (se te pone la piel pálida)
Modificaciones:
+20 Lecheo de Vida (melee/archery)
Inmunidad a los venenos de nivel 1-4.
+4 Mana Regeneration.
+15 Stamina Regeneration.
Mayor daño recibido de las armas "Undead"
-25 Resistencia al Fuego
El vampiro recibe daño al utilizar spells que consuman garlic(17-23 daño) y no puede beber ninguna poción que tenga garlic (cure potions)
La transformación permanece hasta la muerte o una nueva transformación.
Vengeful Spirit(requiere target)
Invoca un revenant que persigue a su objetivo,revelandolo si se esconde.Si el objetivo se aleja más de 6 tiles, el revenant se teletrasporta, acercandose asi a su objetivo.
Requiere 3 slots de mascota.
Duración: (SS * 80) / 1200 + 10 (Los valores son tomados sin decimales, es decir, GM=1000).
Mana Requerido: 41
Skill minimo requerido: 80.0
Wither(Spell de Area)
Descarga un daño de frio 5 tiles alrededor del casteador.
Formula de daño(pre-resist):[A+(Karma lvl Oponente/2)+SS/30 ]*(100+SDI/100)
A=1d8+7 (Número aleatorio entre 8 y 15)
Karma lvl-> Desde +5(el más alto) hasta el -5(el más bajo), pasando por Neutral (0).
SS=Nivel de Spirit Speak del Casteador.
SDI= Spell Damage Increase.
Con esto quiero desmentir algunas leyendas "populares":
-No existe relación de daño entre Necromancy y Wither.
-No existe relación de daño entre Inteligencia y Wither.
-No existe relación de daño entre la distancia del objetivo y casteador.
Mana requerido: 23
Skill minimo requerido: 60.0
Wraith Form(transformación)
Te transformas en Wraith(un fantasmita).
-Puedes andar por felluca sobre otros pjs/NPCs sin perder stamina ni revelarte (No habilitado en TM).
-Recibes la habilidad de "realmente" absorber mana con cualquier ataque(magia, ranged,melee)de un objetivo.(No habilitado en TM).
El casteador es inmune al desangre.(No habilitado en TM)
El casteador tiene la posibilidad de castear "Recall" 100% de las veces siempre que tenga regs.
+15 resistencia fisica.
Caster receives +25% damage from "Undead Slayers".
-5 resistencia al fuego.
-5 resitencia a la energia.
La transformación permanece hasta la muerte o una nueva transformación.
Mana requerido: 17
Skill minimo requerido: 20.0
-Casting:
Fórmula para saber las chances de cada spell(by Molkor):
% chance=(A-b)/40 *100
A=Nivel actual del skill Necromancy.
b=Skill minimo requerido del spell.
*Nota: En Vampiric Embrace, se toma b como 80 a la hora de calcular el chance.
-Tabla de entrenamiento:
0- 30.x ->Comprarlo al NPC(Exterior de la tienda de magos de Edoras)
30.x to 55.x ->(Spells req. 20.0) Recomiendo: Pain Spike, Wraith Form
55.x to 75.x->(Spells req. 40.0) Recomiendo: Horrific Beast.
75.x to 90.x->(Spells req. 60.0) Recomiendo: Wither.
90.x to 105.x-> (Spells req. 70.0) Recomiendo: Lich Form
105.x to 120.0 ->(Spells req. 99.0) Vampiric Embrace.
Añado que esta tabla es una guia totalmente adaptable, puesto que depende de las necesidades del propio pj:
-Si andas escaso de Mana Regeneration (poco Medit/Focus o poca int) siempre puedes comenzar a entrenar con un spell que requiera xx.0 de skill desde que tengas xx.1 de skill.
Ej: Puedes comenzar a tirar wither para entrenar desde que tengas 70.1, fallaras casi siempre, pero tendrás skillgains.
Recuerda que, siempre tendrás skillgains hasta que superes por 40 el nivel de skill minimo de cada spell.
Ej: Puedes seguir entrenando con Wither (60.0 spell req.) hasta 100 de skill.
Si tienes 50.0 necromancy y 50.0 Spirit Speak, utiliza Shadow Wisp, te ayudará a regenerar mana.
-Cuando superes la barrera del 70.0, puedes intentar transformarte en Lich Form para tener MÁS mana regeneration todavia.
Summon Familiar(invocación)
Invoca un familiar para luchar a tu lado.
Horde Minion.
Lotea items del suelo.
Requiere 30.0 Necromancy y 30.0 Spirit Speak
Shadow Wisp.
Regenera el mana de los pjs que esten en pantalla, dependiendo de su karma negativa.
Requiere 50.0 Necromancy y 50.0 Spirit Speak.
Dark Wolf.
El invocador recibe +5"Stamina Regeneration" (1 stamina/2 segundos).
El invocador recibe la habilidad de domar lobos con dificultad 0.0 animal taming (no hellhounds).
Requiere 60.0 Necromancy y 60.0 Spirit Speak.
Death Adder.
Una serpiente que envenena con greater poison (lvl 3)
Permite al invocador controlar las serpientes del area e indicarlas a quien atacar(Comprobado por UO_Dragonlance)
Requiere 80.0 Necromancy y 80.0 Spirit Speak.
Vampire Bat.
El invocador recibe el 100% del daño que haga el murcielago en forma de Hit Points.
Requires 100.0 Necromancy and 100.0 Spirit Speak.
martes, 20 de mayo de 2014
Como leer un archivo XML en VB.NET
En este artículo explicaremos como leer un archivo en XML en .Net, utilizando las clases XMLTextReader y XmlDocument, y las ventajas utilizar de cada una de ellas.
Como primer paso debemos tener un archivo XML que nos sirva para probar nuestra aplicación. Podemos crearlo con el código detallado abajo con el nombre de XMLPrueba.xml. Debemos crear este archivo en un editor como el NotePad, ya que necesitamos un archivo sin caracteres extraños.
Como primer paso debemos tener un archivo XML que nos sirva para probar nuestra aplicación. Podemos crearlo con el código detallado abajo con el nombre de XMLPrueba.xml. Debemos crear este archivo en un editor como el NotePad, ya que necesitamos un archivo sin caracteres extraños.
1
2
3
4
5
6
7
8
9
10
11
12
|
<?xml version="1.0" encoding="UTF-8"?>
<usuarios>
<name codigo="mtorres">
<nombre>Maria </nombre>
<apellido>Torres </apellido>
</name>
<name codigo="cortiz">
<nombre>Carlos </nombre>
<apellido>Ortiz </apellido>
</name>
</usuarios>
|
Luego de tener nuestro archivo creado podremos continuar con nuestro código en VB.NET
Utilizando el XMLTextReader
Este formato es muy sencillo y para leer el achivo debemos hacerlo secuencialmente, línea por línea.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
Imports System.IO
Imports System.Xml
Module ParsingUsingXmlTextReader
Sub Main()
Dim m_xmlr As XmlTextReader
'Creamos el TextReader
m_xmlr = New XmlTextReader("C:\XMLPrueba.xml")
'Desabilitamos las lineas en blanco,
'ya no las necesitamos
m_xmlr.WhiteSpaceHandling = WhiteSpaceHandling.NONE
'Leemos el archivo y avanzamos al tag de usuarios
m_xmlr.Read()
'Leemos el tag usuarios
m_xmlr.Read()
'Creamos la secuancia que nos permite
'leer el archivo
While Not m_xmlr.EOF
'Avanzamos al siguiente tag
m_xmlr.Read()
'si no tenemos el elemento inicial
'debemos salir del ciclo
If Not m_xmlr.IsStartElement() Then
Exit While
End If
'Obtenemos el elemento codigo
Dim mCodigo = m_xmlr.GetAttribute("codigo")
'Read elements firstname and lastname
m_xmlr.Read()
'Obtenemos el elemento del Nombre del Usuario
Dim mNombre = m_xmlr.ReadElementString("nombre")
'Obtenemos el elemento del Apellido del Usuario
Dim mApellido = m_xmlr.ReadElementString("apellido")
'Escribimos el resultado en la consola,
'pero tambien podriamos utilizarlos en
'donde deseemos
Console.WriteLine("Codigo usuario: " & mCodigo _
& " Nombre: " & mNombre _
& " Apellido: " & mApellido)
Console.Write(vbCrLf)
End While
'Cerramos la lactura del archivo
m_xmlr.Close()
End Sub
End Module
|
Utilizando el XmlDocument
Este formato es mas complejo y nos permite recorrer los nodos sin tener que utilizar una lectura secuencial. Definitivamente este formato es más eficiente que el anterior principalmente para documentos muy grandes.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
Imports System.IO
Imports System.Xml
Module ParsingUsingXmlDocument
Sub Main()
Try
Dim m_xmld As XmlDocument
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode
'Creamos el "Document"
m_xmld = New XmlDocument()
'Cargamos el archivo
m_xmld.Load("C:\XMLPrueba.xml")
'Obtenemos la lista de los nodos "name"
m_nodelist = m_xmld.SelectNodes("/usuarios/name")
'Iniciamos el ciclo de lectura
For Each m_node In m_nodelist
'Obtenemos el atributo del codigo
Dim mCodigo = m_node.Attributes.GetNamedItem("codigo").Value
'Obtenemos el Elemento nombre
Dim mNombre = m_node.ChildNodes.Item(0).InnerText
'Obtenemos el Elemento apellido
Dim mApellido = m_node.ChildNodes.Item(1).InnerText
'Escribimos el resultado en la consola,
'pero tambien podriamos utilizarlos en
'donde deseemos
Console.Write("Codigo usuario: " & mCodigo _
& " Nombre: " & mNombre _
& " Apellido: " & mApellido)
Console.Write(vbCrLf)
Next
Catch ex As Exception
'Error trapping
Console.Write(ex.ToString())
End Try
End Sub
End Module
|
Fuente : http://www.dotnetcr.com/como-leer-un-archivo-xml-en-vb-net/
Suscribirse a:
Entradas (Atom)