UO Chile

Classic Ultima Online – uochile.homeip.net

Pequeños ajustes

Hice algunos ajustes:

  • Precios de los caballos bajados a $1300.
  • Precios de los packhorses y packllamas bajados a $1500.
  • Limite de cuentas por IP aumentado a 20 (por no ponerlo ilimitados).
  • Algunos ajustes al skillgain para hacerlo más rápido.
  • Cambio al nombre del servidor, le quite el apellido “test” :D
  • Autosave seteado cada una hora.
  • Autorestart seteado a las 6 am, es decir, el server se reinicia todos los días a esa hora para liberar memoria and stuff.
posted by Kamon in Cambios al servidor and have No Comments

Server en marcha blanca!

Al fin, después de muchas pruebas, después de muchas líneas de codigo escritas comentadas, gracias a la ayuda de mi hermano, mi polola y el balú los beta testers, el servidor está finalmente en condiciones de abrir sus puertas. Aun me falta implementar el asunto de los reinos, pero es el pelo de la cola. El server todavia se encuentra sin una conexión dedicada, por lo que pueden haber lags de vez en cuando (por eso la marcha blanca). Bueno, eso. Sean bienvenidos de entrar.

Deben tener el juego parchado por lo menos hasta la version 6.0.10.0 y maximo la version 6.0.14.0. Necesito hacer algunas actualizaciones para permitir versiones mas recientes. La ip para conectarse es:

login: uochile.homeip.net

port: 2593

posted by Kamon in Cambios al servidor and have No Comments

Casas en los pueblos

Habilité el uso de las casas de los pueblos. De esta forma, las casas que tengan el cartel de “se vende” pueden ser compradas y habitadas como cualquier casa normal.

Se vende!

Se vende!

posted by Kamon in Cambios al servidor and have No Comments
Tags:

Nuevo blog!

Traslade el blog desde wordpress.com a pickman.cl y cambié el logo de arriba por algo más bonito y ad-hoc (si, lo tome de la pagina de Kingdom Reborn) :P

posted by Kamon in Noticias and have No Comments

Costo de insure aumentado a 1200

Eso :)

posted by Kamon in Cambios al servidor and have No Comments
Tags:

Modificación a las resistencias de las armaduras de metal

Como una forma de incitar el uso de armors de metal por parte de los guerreros (y de cualquier personaje sin meditacion) en vez de las de cuero, edité las resistencias de todas las armaduras de metal para que tengan 1 punto más en todas las resistencias excepto la física. Ahora, un set completo de seis piezas de armadura dará 6 puntos adicionales a cada resistencia excepto la física. También afecta a armaduras looteadas a bichos. Tengo pensado implementar algún otro método para fomentar el uso de las armors de metal, como otorgar mana regeneration a quienes no sean magos o algo asi tomando en cuenta el nivel de Focus que el jugador tenga, como me lo sugirió Kurt, pero es más complicado y requiere de un análisis más profundo para evitar desbalances, así por el momento, sólo dejaré estas modificaciones a las resistencias, quizás más adelante haga  algo más elaborado.

Plate Chest

Plate Chest

posted by Kamon in Cambios al servidor and have No Comments

Teleporter de Bedlam

Se modificó la entrada a Bedlam. En vez de estar en Umbra, el sarcófago para entrar ahora está en unas catacumbas muy peligrosas algún lugar de Felucca, como se ve en la foto. Al salir de la habitación del peerless, te teletransportarás a este lugar.

Entrada a bedlam

Entrada a Bedlam

posted by Kamon in Cambios al servidor and have No Comments

Cambio al daño del hechizo Fire Field

images

Fire Field

El hechizo de mago Fire Field ahora hace un daño base de 10 en vez de 2 (se chequea contra la resistencia al fuego), o sea, ahora pega algo ;) .

posted by Kamon in Cambios al servidor and have No Comments
Tags:

Aumento al tope de pets en establos

Se aumento en dos la cantidad de animales que se pueden guardar en el establo.

posted by Kamon in Cambios al servidor and have No Comments
Tags:

Implementación de las reglas de los Young en Felucca

Después de un poco de craneo, algo de codigo y un resto de testeo, implementé las reglas de los Youngs en Felucca:

  • Los youngs no pueden ser atacados por jugadores viejos y vice versa.
  • Los youngs no pueden ser atacados por monstruos a menos que ellos inicien el combate.
  • Los youngs no pueden realizar actos beneficos sobre jugadores viejos.
  • Los jugadores viejos si pueden realizar actos beneficos sobre los youngs.
  • Los youngs si pueden realizar actos beneficos entre si, pero no atacarse.

Mas algunas reglas especiales del server:

  • Los youngs y pks pueden viajar usando Recall, Sacred Journey y Moongates hacia cualquier destino (viajar a Felucca no impone ninguna limitación).

Por si a alguien le interesa implementar este sistema, el codigo es el siguiente: Reemplazar los dos metodos (beneficial y harmful) en Notoriety.cs, el codigo relevante esta en rojo (para modificar Recall, Sacred Journey y Moongates solo basta comentar las lineas correspondientes -las que tienen el texto ‘you cannot travel, etc’ en los codigos de cada hechizo). El codigo siguiente es válido para cualquier mapa con reglas de Felucca:

public static bool Mobile_AllowBeneficial( Mobile from, Mobile target )
 {
 if( from == null || target == null || from.AccessLevel > AccessLevel.Player || target.AccessLevel > AccessLevel.Player )
 return true;

 Map map = from.Map;

 #region Factions
 Faction targetFaction = Faction.Find( target, true );

 if( (!Core.ML || map == Faction.Facet) && targetFaction != null )
 {
 if( Faction.Find( from, true ) != targetFaction )
 return false;
 }
 #endregion

 #region Youngs en Felucca
 // Young protegidos en Felucca

 if (from.Player && target.Player && ((PlayerMobile)from).Young && !((PlayerMobile)target).Young)
 return false;   // Youngs no pueden ayudar a jugadores viejos (comprobarlo)
 //--------------------------------
 #endregion

 if ( map != null && (map.Rules & MapRules.BeneficialRestrictions) == 0 )
 return true; // In felucca, anything goes

 if( !from.Player )
 return true; // NPCs have no restrictions

 if( target is BaseCreature && !((BaseCreature)target).Controlled )
 return false; // Players cannot heal uncontrolled mobiles

 if( from is PlayerMobile && ((PlayerMobile)from).Young && (!(target is PlayerMobile) || !((PlayerMobile)target).Young) )
 return false; // Young players cannot perform beneficial actions towards older players

 Guild fromGuild = from.Guild as Guild;
 Guild targetGuild = target.Guild as Guild;

 if( fromGuild != null && targetGuild != null && (targetGuild == fromGuild || fromGuild.IsAlly( targetGuild )) )
 return true; // Guild members can be beneficial

 return CheckBeneficialStatus( GetGuildStatus( from ), GetGuildStatus( target ) );
 }

 public static bool Mobile_AllowHarmful( Mobile from, Mobile target )
 {
 if( from == null || target == null || from.AccessLevel > AccessLevel.Player || target.AccessLevel > AccessLevel.Player )
 return true;

 #region Youngs en Felucca

 BaseCreature bcreature = from as BaseCreature;
 if (!from.Player && !(bcreature != null && bcreature.GetMaster() != null && bcreature.GetMaster().AccessLevel == AccessLevel.Player))
 {
 if (!CheckAggressor(from.Aggressors, target) && !CheckAggressed(from.Aggressed, target) && target is PlayerMobile && ((PlayerMobile)target).CheckYoungProtection(from))
 return false;   // Uncontrolled NPCs are only restricted by the young system

 }

 if (from.Player && target.Player && (((PlayerMobile)target).Young || ((PlayerMobile)from).Young))
 return false;   // Jugadores viejos no pueden atacar a Youngs y vice versa

 //--------------------
 #endregion

 Map map = from.Map;

 if( map != null && (map.Rules & MapRules.HarmfulRestrictions) == 0 )
 return true; // In felucca, anything goes

 BaseCreature bc = from as BaseCreature;

 if( !from.Player && !(bc != null && bc.GetMaster() != null && bc.GetMaster().AccessLevel == AccessLevel.Player ) )
 {
 if( !CheckAggressor( from.Aggressors, target ) && !CheckAggressed( from.Aggressed, target ) && target is PlayerMobile && ((PlayerMobile)target).CheckYoungProtection( from ) )
 return false;

 return true; // Uncontrolled NPCs are only restricted by the young system
 }

 Guild fromGuild = GetGuildFor( from.Guild as Guild, from );
 Guild targetGuild = GetGuildFor( target.Guild as Guild, target );

 if( fromGuild != null && targetGuild != null && (fromGuild == targetGuild || fromGuild.IsAlly( targetGuild ) || fromGuild.IsEnemy( targetGuild )) )
 return true; // Guild allies or enemies can be harmful

 if( target is BaseCreature && (((BaseCreature)target).Controlled || (((BaseCreature)target).Summoned && from != ((BaseCreature)target).SummonMaster)) )
 return false; // Cannot harm other controlled mobiles

 if( target.Player )
 return false; // Cannot harm other players

 if( !(target is BaseCreature && ((BaseCreature)target).InitialInnocent) )
 {
 if( Notoriety.Compute( from, target ) == Notoriety.Innocent )
 return false; // Cannot harm innocent mobiles
 }

 return true;
 }
posted by Kamon in Cambios al servidor and have No Comments
Tags: