diff --git a/home/__pycache__/admin.cpython-313.pyc b/home/__pycache__/admin.cpython-313.pyc
index 5df01a2..09bac10 100644
Binary files a/home/__pycache__/admin.cpython-313.pyc and b/home/__pycache__/admin.cpython-313.pyc differ
diff --git a/home/__pycache__/models.cpython-313.pyc b/home/__pycache__/models.cpython-313.pyc
index 5b1bf2b..b482b49 100644
Binary files a/home/__pycache__/models.cpython-313.pyc and b/home/__pycache__/models.cpython-313.pyc differ
diff --git a/home/__pycache__/pagos_stripe.cpython-313.pyc b/home/__pycache__/pagos_stripe.cpython-313.pyc
new file mode 100644
index 0000000..41900ca
Binary files /dev/null and b/home/__pycache__/pagos_stripe.cpython-313.pyc differ
diff --git a/home/__pycache__/urls.cpython-313.pyc b/home/__pycache__/urls.cpython-313.pyc
index a07f2f1..d487382 100644
Binary files a/home/__pycache__/urls.cpython-313.pyc and b/home/__pycache__/urls.cpython-313.pyc differ
diff --git a/home/__pycache__/views.cpython-313.pyc b/home/__pycache__/views.cpython-313.pyc
index 449bca5..412a328 100644
Binary files a/home/__pycache__/views.cpython-313.pyc and b/home/__pycache__/views.cpython-313.pyc differ
diff --git a/home/admin.py b/home/admin.py
index 78d2fc8..ecca5cd 100644
--- a/home/admin.py
+++ b/home/admin.py
@@ -3,7 +3,7 @@ from django.contrib import admin
from django import forms
from .models import (
Noticia, ClienteCategoria, SistemaOperativo, ServerSelection,
- RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, GuildRenameSettings, VoteSite
+ RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, GuildRenameSettings, VoteSite, RenamePrice, CustomizePrice, ChangeRacePrice, ChangeFactionPrice, LevelUpPrice, GoldPrice, TransferPrice
)
from django.db import connections
import logging
@@ -12,6 +12,25 @@ from django_ckeditor_5.widgets import CKEditor5Widget
logger = logging.getLogger(__name__)
+
+@admin.register(ChangeFactionPrice)
+class ChangeFactionPriceAdmin(admin.ModelAdmin):
+ list_display = ('price',)
+
+@admin.register(GoldPrice)
+class GoldPriceAdmin(admin.ModelAdmin):
+ list_display = ('gold_amount', 'price')
+ ordering = ('gold_amount',)
+
+
+@admin.register(TransferPrice)
+class TransferPriceAdmin(admin.ModelAdmin):
+ list_display = ('price',)
+
+@admin.register(LevelUpPrice)
+class LevelUpPriceAdmin(admin.ModelAdmin):
+ list_display = ('price',)
+
# Formulario para el modelo Noticia
class NoticiaAdminForm(forms.ModelForm):
class Meta:
@@ -20,6 +39,19 @@ class NoticiaAdminForm(forms.ModelForm):
widgets = {
'contenido': CKEditor5Widget(config_name='default'),
}
+
+@admin.register(RenamePrice)
+class RenamePriceAdmin(admin.ModelAdmin):
+ list_display = ("price",)
+
+
+@admin.register(CustomizePrice)
+class CustomizePriceAdmin(admin.ModelAdmin):
+ list_display = ("price",)
+
+@admin.register(ChangeRacePrice)
+class ChangeRacePriceAdmin(admin.ModelAdmin):
+ list_display = ('price',)
@admin.register(Noticia)
class NoticiaAdmin(admin.ModelAdmin):
diff --git a/home/models.py b/home/models.py
index f986ee9..28dcd01 100644
--- a/home/models.py
+++ b/home/models.py
@@ -19,7 +19,90 @@ class Noticia(models.Model):
class UnstuckHistory(models.Model):
character_name = models.CharField(max_length=50)
- used_at = models.DateTimeField()
+ used_at = models.DateTimeField()
+
+class ReviveHistory(models.Model):
+ character_name = models.CharField(max_length=50)
+ used_at = models.DateTimeField()
+
+ def __str__(self):
+ return f"{self.character_name} - {self.used_at}"
+
+class ChangeFactionPrice(models.Model):
+ price = models.DecimalField(max_digits=6, decimal_places=2, default=10.00)
+
+ def __str__(self):
+ return f"Precio para cambiar facción: {self.price} EUR"
+
+
+class LevelUpPrice(models.Model):
+ price = models.DecimalField(max_digits=10, decimal_places=2, default=10.00)
+
+ def __str__(self):
+ return f"Subir a nivel 80: {self.price} EUR"
+
+
+class GoldPrice(models.Model):
+ gold_amount = models.IntegerField() # Cantidad de oro
+ price = models.DecimalField(max_digits=10, decimal_places=2) # Precio en EUR
+
+ def __str__(self):
+ return f"{self.gold_amount} oro - {self.price} EUR"
+
+
+
+class TransferPrice(models.Model):
+ price = models.DecimalField(max_digits=5, decimal_places=2)
+
+ def __str__(self):
+ return f"Precio de transferencia: {self.price} EUR"
+
+
+class StoreCategory(models.Model):
+ name = models.CharField(max_length=100)
+ parent_category = models.ForeignKey('self', null=True, blank=True, on_delete=models.CASCADE)
+
+ def __str__(self):
+ return self.name
+
+class StoreItem(models.Model):
+ name = models.CharField(max_length=200)
+ item_id = models.IntegerField()
+ category = models.ForeignKey(StoreCategory, on_delete=models.CASCADE)
+ image_url = models.URLField()
+ price = models.DecimalField(max_digits=6, decimal_places=2) # Precio en euros
+
+ def __str__(self):
+ return self.name
+
+class Cart(models.Model):
+ username = models.CharField(max_length=150) # Para almacenar el nombre de usuario
+ item = models.ForeignKey(StoreItem, on_delete=models.CASCADE)
+ added_at = models.DateTimeField(auto_now_add=True)
+
+ def total_price(self):
+ return self.item.price
+
+
+class RenamePrice(models.Model):
+ price = models.DecimalField(max_digits=5, decimal_places=2, default=2.00)
+
+ def __str__(self):
+ return f"{self.price} EUR"
+
+
+class CustomizePrice(models.Model):
+ price = models.DecimalField(max_digits=5, decimal_places=2, default=1.00)
+
+ def __str__(self):
+ return f"{self.price} EUR"
+
+
+class ChangeRacePrice(models.Model):
+ price = models.DecimalField(max_digits=5, decimal_places=2)
+
+ def __str__(self):
+ return f"Cambiar raza: {self.price} EUR"
class ClienteCategoria(models.Model):
diff --git a/home/pagos_stripe.py b/home/pagos_stripe.py
new file mode 100644
index 0000000..d46362c
--- /dev/null
+++ b/home/pagos_stripe.py
@@ -0,0 +1,24 @@
+import stripe
+from django.conf import settings
+
+stripe.api_key = settings.STRIPE_SECRET_KEY
+
+def create_checkout_session(amount, currency="eur", success_url=None, cancel_url=None):
+ try:
+ session = stripe.checkout.Session.create(
+ payment_method_types=["card"],
+ line_items=[{
+ "price_data": {
+ "currency": currency,
+ "product_data": {"name": "Renombrar personaje"},
+ "unit_amount": int(amount * 100), # Convertir euros a centavos
+ },
+ "quantity": 1,
+ }],
+ mode="payment",
+ success_url=success_url,
+ cancel_url=cancel_url,
+ )
+ return {"success": True, "session_id": session.id}
+ except Exception as e:
+ return {"success": False, "error": str(e)}
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/change_faction_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/change_faction_response.js
new file mode 100644
index 0000000..909c96a
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/change_faction_response.js
@@ -0,0 +1,45 @@
+if (window.history.replaceState) {
+ window.history.replaceState(null, null, window.location.href);
+};
+
+$(function(){
+ $('.change-faction-button').on('click', function(e) {
+ e.preventDefault();
+ $("#change-faction-response").empty();
+
+ var button = $(this);
+ var buttonoriginal = button.html();
+ var data = $("#nw-change-faction-form").serialize();
+
+ var conf = confirm("¿Estás seguro de cambiar de facción al personaje seleccionado?");
+
+ if (conf === true) {
+ changeButton(button, 'Procesando pago...');
+
+ $.ajax({
+ type: 'POST',
+ url: '', // URL actual
+ data: data,
+ dataType: 'json',
+ success: function(response) {
+ if (response.success) {
+ var stripe = Stripe(response.stripe_public_key);
+ stripe.redirectToCheckout({ sessionId: response.session_id }).then(function(result) {
+ if (result.error) {
+ $("#change-faction-response").append('' + result.error.message + ' ').hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ });
+ } else {
+ $("#change-faction-response").append(response.message).hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ },
+ error: function() {
+ $("#change-faction-response").append('Error inesperado. Por favor, intente más tarde. ').hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ });
+ }
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/change_race_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/change_race_response.js
new file mode 100644
index 0000000..d23a799
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/change_race_response.js
@@ -0,0 +1,73 @@
+if (window.history.replaceState) {
+ window.history.replaceState(null, null, window.location.href);
+}
+
+function doRefresh() {
+ $("#nw-change-race-form").load(document.URL + " #nw-change-race-form>*", function () {
+ $.getScript('nw-js-handlers/change_race_response.js');
+ });
+}
+
+$(function () {
+ $('select').on('change', function () {
+ var select = $(this);
+ select.css('color', select.children('option:selected').css('color'));
+ });
+});
+
+$(function () {
+ $('.change-race-button').on('click', function (e) {
+ e.preventDefault();
+ e.stopPropagation();
+ $("#change-race-response").empty();
+
+ var button = $(this);
+ var buttonoriginal = button.html();
+ var data = $("#nw-change-race-form").serialize();
+
+ var conf = confirm("¿Estás seguro de cambiar de raza al personaje seleccionado?");
+ if (conf === true) {
+ changeButton(button, 'Procesando pago...');
+
+ $.ajax({
+ type: 'POST',
+ url: '', // La URL para manejar la solicitud POST
+ data: data,
+ dataType: 'json',
+ success: function (response) {
+ if (response.success) {
+ // Verificar si Stripe.js está disponible
+ if (typeof Stripe === 'undefined') {
+ console.error("Stripe.js no está cargado.");
+ $("#change-race-response").append('Error al cargar Stripe. Intente nuevamente más tarde. ').hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ return;
+ }
+
+ // Inicializar Stripe con la clave pública
+ var stripe = Stripe(response.stripe_public_key);
+
+ // Redirigir al checkout de Stripe
+ stripe.redirectToCheckout({
+ sessionId: response.session_id
+ }).then(function (result) {
+ if (result.error) {
+ $("#change-race-response").append('' + result.error.message + ' ').hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ });
+ } else {
+ $("#change-race-response").append(response.message).hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ },
+ error: function () {
+ setTimeout(function () {
+ alert("Algo ha salido mal. Por favor intente más tarde");
+ window.location.reload();
+ }, 2000);
+ }
+ });
+ }
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/customize_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/customize_response.js
new file mode 100644
index 0000000..309f606
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/customize_response.js
@@ -0,0 +1,52 @@
+if (window.history.replaceState) {
+ window.history.replaceState(null, null, window.location.href);
+}
+
+$(function(){
+ $('.customize-button').on('click', function(e) {
+ e.preventDefault();
+ $("#customize-response").empty();
+
+ var button = $(this);
+ var buttonoriginal = button.html();
+ var data = $("#nw-customize-form").serialize();
+
+ var conf = confirm("¿Estás seguro de personalizar al personaje seleccionado?");
+
+ if (conf === true) {
+ button.html("Procesando pago...");
+ button.prop("disabled", true);
+
+ $.ajax({
+ type: 'POST',
+ url: '', // Endpoint para manejar el POST
+ data: data,
+ dataType: 'json',
+ success: function(response) {
+ if (response.success) {
+ var stripe = Stripe(response.stripe_public_key);
+
+ stripe.redirectToCheckout({
+ sessionId: response.session_id
+ }).then(function(result) {
+ if (result.error) {
+ $("#customize-response").html('' + result.error.message + ' ');
+ button.html(buttonoriginal);
+ button.prop("disabled", false);
+ }
+ });
+ } else {
+ $("#customize-response").html(response.message);
+ button.html(buttonoriginal);
+ button.prop("disabled", false);
+ }
+ },
+ error: function() {
+ $("#customize-response").html('Algo salió mal. Intenta de nuevo. ');
+ button.html(buttonoriginal);
+ button.prop("disabled", false);
+ }
+ });
+ }
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/gold_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/gold_response.js
new file mode 100644
index 0000000..b2597c8
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/gold_response.js
@@ -0,0 +1,35 @@
+$(function(){
+ $('.gold-button').on('click', function(e) {
+ e.preventDefault();
+ $("#gold-response").empty();
+
+ var button = $(this);
+ var originalText = button.html();
+ var data = $("#uw-gold-form").serialize();
+
+ button.html('Procesando pago...');
+ button.prop('disabled', true);
+
+ $.ajax({
+ type: 'POST',
+ url: '',
+ data: data,
+ dataType: 'json',
+ success: function(response) {
+ if (response.success) {
+ var stripe = Stripe(response.stripe_public_key);
+ stripe.redirectToCheckout({ sessionId: response.session_id });
+ } else {
+ $("#gold-response").append(response.message).hide().slideDown();
+ button.html(originalText);
+ button.prop('disabled', false);
+ }
+ },
+ error: function() {
+ $("#gold-response").append('Error inesperado. Por favor, intente más tarde. ').hide().slideDown();
+ button.html(originalText);
+ button.prop('disabled', false);
+ }
+ });
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/level_up_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/level_up_response.js
new file mode 100644
index 0000000..ac7e4ae
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/level_up_response.js
@@ -0,0 +1,47 @@
+if (window.history.replaceState) {
+ window.history.replaceState(null, null, window.location.href);
+}
+
+$(function() {
+ $('.level-up-button').on('click', function(e) {
+ e.preventDefault();
+ $("#levelup-response").empty();
+
+ var button = $(this);
+ var buttonoriginal = button.html();
+ var data = $("#nw-levelup-form").serialize();
+
+ var conf = confirm("¿Estás seguro de subir al nivel 80 al personaje seleccionado?");
+
+ if (conf === true) {
+ changeButton(button, 'Procesando pago...');
+
+ $.ajax({
+ type: 'POST',
+ url: '',
+ data: data,
+ dataType: 'json',
+ success: function(response) {
+ if (response.success) {
+ var stripe = Stripe(response.stripe_public_key);
+ stripe.redirectToCheckout({
+ sessionId: response.session_id
+ }).then(function(result) {
+ if (result.error) {
+ $("#levelup-response").append('' + result.error.message + ' ').hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ });
+ } else {
+ $("#levelup-response").append(response.message).hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ },
+ error: function() {
+ $("#levelup-response").append('Error inesperado. Por favor intente más tarde. ').hide().slideDown();
+ restoreButton(button, buttonoriginal);
+ }
+ });
+ }
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/login_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/login_response.js
index b297c24..8e79be1 100644
--- a/home/static/nw-themes/nw-ryu/nw-js-handlers/login_response.js
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/login_response.js
@@ -45,7 +45,7 @@ $(function() {
// Serializar datos para el envío
const bValue = button.data('id');
let data = { login: bValue };
- data = $("#uw-login-form").serialize() + '&' + $.param(data);
+ data = $("#nw-login-form").serialize() + '&' + $.param(data);
$.ajax({
type: 'POST',
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/register.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/register.js
index 741d09e..7a11f63 100644
--- a/home/static/nw-themes/nw-ryu/nw-js-handlers/register.js
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/register.js
@@ -1,6 +1,6 @@
$(function() {
// Manejar el envío del formulario de creación de cuenta
- $('#uw-create-form').on('submit', function(e) {
+ $('#nw-create-form').on('submit', function(e) {
e.preventDefault();
const data = $(this).serialize();
const createResponse = $("#create-response");
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/rename_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/rename_response.js
new file mode 100644
index 0000000..baa0fa1
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/rename_response.js
@@ -0,0 +1,75 @@
+if (window.history.replaceState) {
+ window.history.replaceState(null, null, window.location.href);
+}
+
+$(document).ready(function () {
+ // Mostrar mensaje de cancelación si está presente en el backend
+ const cancelMessage = $("#rename-response").data("cancel-message");
+ if (cancelMessage) {
+ $("#rename-response").html(cancelMessage).hide().slideDown();
+ }
+
+ // Manejar clics en el botón de renombrar
+ $('.rename-button').on('click', function (e) {
+ e.preventDefault();
+ $("#rename-response").empty();
+
+ const button = $(this);
+ const originalText = button.html();
+ const data = $("#nw-rename-form").serialize();
+
+ // Confirmar antes de proceder con el pago
+ const conf = confirm("¿Estás seguro de renombrar al personaje seleccionado?");
+ if (!conf) return;
+
+ // Cambiar texto del botón mientras procesa
+ changeButton(button, 'Procesando pago...');
+
+ $.ajax({
+ type: 'POST',
+ url: '', // URL para manejar el POST
+ data: data,
+ dataType: 'json',
+ success: function (response) {
+ if (response.success) {
+ // Verificar que Stripe está cargado
+ if (typeof Stripe === 'undefined') {
+ console.error("Stripe.js no está cargado.");
+ $("#rename-response").append('Error al cargar Stripe. Intente nuevamente más tarde. ').hide().slideDown();
+ restoreButton(button, originalText);
+ return;
+ }
+
+ // Redirigir a Stripe Checkout
+ const stripe = Stripe(response.stripe_public_key);
+ stripe.redirectToCheckout({ sessionId: response.session_id }).then(function (result) {
+ if (result.error) {
+ $("#rename-response").append('' + result.error.message + ' ').hide().slideDown();
+ restoreButton(button, originalText);
+ }
+ });
+ } else {
+ // Mostrar mensaje de error del backend
+ $("#rename-response").append(response.message).hide().slideDown();
+ restoreButton(button, originalText);
+ }
+ },
+ error: function () {
+ $("#rename-response").append('Error inesperado. Por favor, intente más tarde. ').hide().slideDown();
+ restoreButton(button, originalText);
+ }
+ });
+ });
+});
+
+// Función para cambiar el texto del botón y desactivarlo
+function changeButton(button, text) {
+ button.html(text);
+ button.prop("disabled", true);
+}
+
+// Función para restaurar el texto y habilitar el botón
+function restoreButton(button, originalText) {
+ button.html(originalText);
+ button.prop("disabled", false);
+}
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/revive_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/revive_response.js
new file mode 100644
index 0000000..48fccbf
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/revive_response.js
@@ -0,0 +1,37 @@
+$(document).ready(function() {
+ $('.revive-button').on('click', function(e) {
+ e.preventDefault();
+ $("#revive-response").empty();
+
+ var button = $(this);
+ var originalText = button.html();
+ var data = $("#nw-revive-form").serialize();
+
+ button.html("Reviviendo...");
+ button.prop("disabled", true);
+
+ $.ajax({
+ type: 'POST',
+ url: '',
+ data: data,
+ dataType: 'json',
+ success: function(response) {
+ $("#revive-response").html(response.message).hide().slideDown();
+ if (response.success) {
+ button.html("Revivido");
+ setTimeout(function() {
+ location.reload(); // Refrescar para actualizar el formulario
+ }, 5000);
+ } else {
+ button.html(originalText);
+ button.prop("disabled", false);
+ }
+ },
+ error: function(xhr, status, error) {
+ $("#revive-response").html('Algo salió mal. Intente nuevamente. ');
+ button.html(originalText);
+ button.prop("disabled", false);
+ }
+ });
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/security_token_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/security_token_response.js
index 55a0afb..d3550ac 100644
--- a/home/static/nw-themes/nw-ryu/nw-js-handlers/security_token_response.js
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/security_token_response.js
@@ -4,7 +4,7 @@ $(function() {
var button = $(this);
var originalText = button.html();
- var data = $("#uw-sec-token-form").serialize();
+ var data = $("#nw-sec-token-form").serialize();
// Cambiar el texto del botón a "Solicitando token"
changeButton(button, 'Solicitando token');
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/store_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/store_response.js
new file mode 100644
index 0000000..814d5ac
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/store_response.js
@@ -0,0 +1,28 @@
+$(document).ready(function() {
+ $('.add-to-cart').on('click', function() {
+ var itemId = $(this).data('item-id');
+ $.post('/store/add_to_cart/', {item_id: itemId}, function(response) {
+ alert(response.message);
+ location.reload();
+ });
+ });
+
+ $('.remove-from-cart').on('click', function() {
+ var cartId = $(this).data('cart-id');
+ $.post('/store/remove_from_cart/', {cart_id: cartId}, function(response) {
+ alert(response.message);
+ location.reload();
+ });
+ });
+
+ $('#checkout-button').on('click', function() {
+ $.post('/store/checkout/', {}, function(response) {
+ if (response.success) {
+ var stripe = Stripe(response.stripe_public_key);
+ stripe.redirectToCheckout({ sessionId: response.session_id });
+ } else {
+ alert(response.message);
+ }
+ });
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/trade_points_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/trade_points_response.js
index e9e9105..ee4bbf6 100644
--- a/home/static/nw-themes/nw-ryu/nw-js-handlers/trade_points_response.js
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/trade_points_response.js
@@ -1,4 +1,4 @@
-if(window.history.replaceState){window.history.replaceState(null,null,window.location.href);};$(function(){$('select').on('change',function(){var select=$(this);select.css('color',select.children('option:selected').css('color'));});});$(function(){$('#trade-sell-a').on('click',function(){$('#trade-sell-div').fadeIn('slow');$('#trade-buy-div').hide();});$('#trade-buy-a').on('click',function(){$('#trade-buy-div').fadeIn('slow');$('#trade-sell-div').hide();});});$(function(){$(".toggle-password").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#password-sell").attr("type",type);});});$(function(){$(".toggle-password").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#password-buy").attr("type",type);});});$(function(){$(".toggle-token").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#security-token-sell").attr("type",type);});});$(function(){$(".toggle-token").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#security-token-buy").attr("type",type);});});$(function(){$('.trade-points-sell-button').on('click',function(e){e.preventDefault();e.stopPropagation();$("#trade-points-sell-response").empty();var button=$(this);var buttonoriginal=button.html();var data={tradepointssell:button.data('id')};data=$("#uw-trade-points-sell-form").serialize()+'&'+$.param(data);changeButton(button,'CREANDO CÓDIGO');$.ajax({type:'POST',url:'',data:data,dataType:'json',success:function(data){$("#trade-points-sell-response").append(data.message).hide().slideDown();if(data.success===true){button.html("CÓDIGO CREADO");button.css("color","#d79602");setTimeout(function(){$("#uw-trade-points-sell-form")[0].reset();restoreButton(button,buttonoriginal);grecaptcha.reset(0);},5000);}
-else{setTimeout(function(){$("#trade-points-sell-response").slideUp(function(){$("#trade-points-sell-response").empty();restoreButton(button,buttonoriginal);grecaptcha.reset(0);});},5000);}},error:function(){setTimeout(function(){alert("Algo ha salido mal. Por favor intente más tarde");window.location.reload();},2000);}});});});$(function(){$('.trade-points-buy-button').on('click',function(e){e.preventDefault();e.stopPropagation();$("#trade-points-buy-response").empty();$(".trade-points-check-button").prop('disabled',true);var button=$(this);var buttonoriginal=button.html();var data={tradepointsbuy:button.data('id')};data=$("#uw-trade-points-buy-form").serialize()+'&'+$.param(data);changeButton(button,'CANJEANDO CÓDIGO');$.ajax({type:'POST',url:'',data:data,dataType:'json',success:function(data){$("#trade-points-buy-response").append(data.message).hide().slideDown();if(data.success===true){button.html("CÓDIGO CANJEADO");button.css("color","#d79602");setTimeout(function(){$("#uw-trade-points-buy-form")[0].reset();$(".trade-points-check-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);},5000);}
-else{setTimeout(function(){$("#trade-points-buy-response").slideUp(function(){$("#trade-points-buy-response").empty();$(".trade-points-check-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);});},5000);}},error:function(){setTimeout(function(){alert("Algo ha salido mal. Por favor intente más tarde");window.location.reload();},2000);}});});});$(function(){$('.trade-points-check-button').on('click',function(e){e.preventDefault();e.stopPropagation();$("#trade-points-buy-response").empty();$(".trade-points-buy-button").prop('disabled',true);var button=$(this);var buttonoriginal=button.html();var data={tradepointscheck:button.data('id')};data=$("#uw-trade-points-buy-form").serialize()+'&'+$.param(data);changeButton(button,'CHEQUEANDO CÓDIGO');$.ajax({type:'POST',url:'',data:data,dataType:'json',success:function(data){$("#trade-points-buy-response").append(data.message).hide().slideDown();if(data.success===true){button.html("INFO DEL CÓDIGO");button.css("color","#d79602");setTimeout(function(){$(".trade-points-buy-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);},5000);}
+if(window.history.replaceState){window.history.replaceState(null,null,window.location.href);};$(function(){$('select').on('change',function(){var select=$(this);select.css('color',select.children('option:selected').css('color'));});});$(function(){$('#trade-sell-a').on('click',function(){$('#trade-sell-div').fadeIn('slow');$('#trade-buy-div').hide();});$('#trade-buy-a').on('click',function(){$('#trade-buy-div').fadeIn('slow');$('#trade-sell-div').hide();});});$(function(){$(".toggle-password").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#password-sell").attr("type",type);});});$(function(){$(".toggle-password").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#password-buy").attr("type",type);});});$(function(){$(".toggle-token").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#security-token-sell").attr("type",type);});});$(function(){$(".toggle-token").click(function(){$(this).toggleClass("fa-eye fa-eye-slash");var type=$(this).hasClass("fa-eye-slash")?"text":"password";$("#security-token-buy").attr("type",type);});});$(function(){$('.trade-points-sell-button').on('click',function(e){e.preventDefault();e.stopPropagation();$("#trade-points-sell-response").empty();var button=$(this);var buttonoriginal=button.html();var data={tradepointssell:button.data('id')};data=$("#nw-trade-points-sell-form").serialize()+'&'+$.param(data);changeButton(button,'CREANDO CÓDIGO');$.ajax({type:'POST',url:'',data:data,dataType:'json',success:function(data){$("#trade-points-sell-response").append(data.message).hide().slideDown();if(data.success===true){button.html("CÓDIGO CREADO");button.css("color","#d79602");setTimeout(function(){$("#nw-trade-points-sell-form")[0].reset();restoreButton(button,buttonoriginal);grecaptcha.reset(0);},5000);}
+else{setTimeout(function(){$("#trade-points-sell-response").slideUp(function(){$("#trade-points-sell-response").empty();restoreButton(button,buttonoriginal);grecaptcha.reset(0);});},5000);}},error:function(){setTimeout(function(){alert("Algo ha salido mal. Por favor intente más tarde");window.location.reload();},2000);}});});});$(function(){$('.trade-points-buy-button').on('click',function(e){e.preventDefault();e.stopPropagation();$("#trade-points-buy-response").empty();$(".trade-points-check-button").prop('disabled',true);var button=$(this);var buttonoriginal=button.html();var data={tradepointsbuy:button.data('id')};data=$("#nw-trade-points-buy-form").serialize()+'&'+$.param(data);changeButton(button,'CANJEANDO CÓDIGO');$.ajax({type:'POST',url:'',data:data,dataType:'json',success:function(data){$("#trade-points-buy-response").append(data.message).hide().slideDown();if(data.success===true){button.html("CÓDIGO CANJEADO");button.css("color","#d79602");setTimeout(function(){$("#nw-trade-points-buy-form")[0].reset();$(".trade-points-check-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);},5000);}
+else{setTimeout(function(){$("#trade-points-buy-response").slideUp(function(){$("#trade-points-buy-response").empty();$(".trade-points-check-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);});},5000);}},error:function(){setTimeout(function(){alert("Algo ha salido mal. Por favor intente más tarde");window.location.reload();},2000);}});});});$(function(){$('.trade-points-check-button').on('click',function(e){e.preventDefault();e.stopPropagation();$("#trade-points-buy-response").empty();$(".trade-points-buy-button").prop('disabled',true);var button=$(this);var buttonoriginal=button.html();var data={tradepointscheck:button.data('id')};data=$("#nw-trade-points-buy-form").serialize()+'&'+$.param(data);changeButton(button,'CHEQUEANDO CÓDIGO');$.ajax({type:'POST',url:'',data:data,dataType:'json',success:function(data){$("#trade-points-buy-response").append(data.message).hide().slideDown();if(data.success===true){button.html("INFO DEL CÓDIGO");button.css("color","#d79602");setTimeout(function(){$(".trade-points-buy-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);},5000);}
else{setTimeout(function(){$("#trade-points-buy-response").slideUp(function(){$("#trade-points-buy-response").empty();$(".trade-points-buy-button").prop('disabled',false);restoreButton(button,buttonoriginal);grecaptcha.reset(1);});},5000);}},error:function(){setTimeout(function(){alert("Algo ha salido mal. Por favor intente más tarde");window.location.reload();},2000);}});});});
\ No newline at end of file
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/transfer_character_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/transfer_character_response.js
new file mode 100644
index 0000000..311d2ec
--- /dev/null
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/transfer_character_response.js
@@ -0,0 +1,37 @@
+$(function(){
+ $('.transfer-button').on('click', function(e) {
+ e.preventDefault();
+ $("#transfer-character-response").empty();
+
+ var button = $(this);
+ var originalText = button.text();
+ var data = $("#uw-transfer-character-form").serialize();
+
+ button.text("Procesando pago...");
+ button.prop("disabled", true);
+
+ $.ajax({
+ type: 'POST',
+ url: '', // URL de transferencia
+ data: data,
+ dataType: 'json',
+ success: function(response) {
+ if (response.success) {
+ var stripe = Stripe(response.stripe_public_key);
+ stripe.redirectToCheckout({
+ sessionId: response.session_id
+ });
+ } else {
+ $("#transfer-character-response").append(response.message).hide().slideDown();
+ button.text(originalText);
+ button.prop("disabled", false);
+ }
+ },
+ error: function() {
+ $("#transfer-character-response").append('Error inesperado. Intente más tarde. ').hide().slideDown();
+ button.text(originalText);
+ button.prop("disabled", false);
+ }
+ });
+ });
+});
diff --git a/home/static/nw-themes/nw-ryu/nw-js-handlers/unstuck_response.js b/home/static/nw-themes/nw-ryu/nw-js-handlers/unstuck_response.js
index ab7bb27..8e8cd6d 100644
--- a/home/static/nw-themes/nw-ryu/nw-js-handlers/unstuck_response.js
+++ b/home/static/nw-themes/nw-ryu/nw-js-handlers/unstuck_response.js
@@ -6,7 +6,7 @@ $(function() {
var button = $(this);
var originalText = button.html();
- var data = $("#uw-unstuck-form").serialize();
+ var data = $("#nw-unstuck-form").serialize();
button.html("Desbloqueando...");
button.prop("disabled", true);
@@ -22,7 +22,7 @@ $(function() {
if (data.success) {
button.html("Desbloqueado");
setTimeout(function() {
- $("#uw-unstuck-form")[0].reset();
+ $("#nw-unstuck-form")[0].reset();
button.html(originalText);
button.prop("disabled", false);
}, 5000);
diff --git a/home/templates/account/change_faction.html b/home/templates/account/change_faction.html
new file mode 100644
index 0000000..aea0f0c
--- /dev/null
+++ b/home/templates/account/change_faction.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/change_faction.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/change_faction_cancel.html b/home/templates/account/change_faction_cancel.html
new file mode 100644
index 0000000..67bc908
--- /dev/null
+++ b/home/templates/account/change_faction_cancel.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/change_faction_cancel.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/change_faction_success.html b/home/templates/account/change_faction_success.html
new file mode 100644
index 0000000..54b72a2
--- /dev/null
+++ b/home/templates/account/change_faction_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/change_faction_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/change_race.html b/home/templates/account/change_race.html
new file mode 100644
index 0000000..105bd6d
--- /dev/null
+++ b/home/templates/account/change_race.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/change_race.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/change_race_cancel.html b/home/templates/account/change_race_cancel.html
new file mode 100644
index 0000000..a8c733c
--- /dev/null
+++ b/home/templates/account/change_race_cancel.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/change_race_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/change_race_success.html b/home/templates/account/change_race_success.html
new file mode 100644
index 0000000..a8c733c
--- /dev/null
+++ b/home/templates/account/change_race_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/change_race_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/customize_character.html b/home/templates/account/customize_character.html
new file mode 100644
index 0000000..8f28f6e
--- /dev/null
+++ b/home/templates/account/customize_character.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/customize_character.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/customize_success.html b/home/templates/account/customize_success.html
new file mode 100644
index 0000000..871800a
--- /dev/null
+++ b/home/templates/account/customize_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/customize_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/gold_cancel.html b/home/templates/account/gold_cancel.html
new file mode 100644
index 0000000..fa9adf7
--- /dev/null
+++ b/home/templates/account/gold_cancel.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/gold_cancel.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/gold_character.html b/home/templates/account/gold_character.html
new file mode 100644
index 0000000..729f360
--- /dev/null
+++ b/home/templates/account/gold_character.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/gold_character.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/gold_success.html b/home/templates/account/gold_success.html
new file mode 100644
index 0000000..5bfc409
--- /dev/null
+++ b/home/templates/account/gold_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/gold_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/level_up.html b/home/templates/account/level_up.html
new file mode 100644
index 0000000..2361013
--- /dev/null
+++ b/home/templates/account/level_up.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/level_up.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/level_up_cancel.html b/home/templates/account/level_up_cancel.html
new file mode 100644
index 0000000..0d3de10
--- /dev/null
+++ b/home/templates/account/level_up_cancel.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/level_up_cancel.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/level_up_success.html b/home/templates/account/level_up_success.html
new file mode 100644
index 0000000..0898ee6
--- /dev/null
+++ b/home/templates/account/level_up_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/level_up_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/rename_cancel.html b/home/templates/account/rename_cancel.html
new file mode 100644
index 0000000..b5c1281
--- /dev/null
+++ b/home/templates/account/rename_cancel.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/rename_cancel.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/rename_character.html b/home/templates/account/rename_character.html
new file mode 100644
index 0000000..94ad7f2
--- /dev/null
+++ b/home/templates/account/rename_character.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/rename_character.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/rename_success.html b/home/templates/account/rename_success.html
new file mode 100644
index 0000000..4b62dbf
--- /dev/null
+++ b/home/templates/account/rename_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/rename_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/revive_character.html b/home/templates/account/revive_character.html
new file mode 100644
index 0000000..f3a0c0e
--- /dev/null
+++ b/home/templates/account/revive_character.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/revive_character.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/store_novawow.html b/home/templates/account/store_novawow.html
new file mode 100644
index 0000000..e0d6ad6
--- /dev/null
+++ b/home/templates/account/store_novawow.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/store_novawow.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/transfer_cancel.html b/home/templates/account/transfer_cancel.html
new file mode 100644
index 0000000..c1fb1d6
--- /dev/null
+++ b/home/templates/account/transfer_cancel.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/transfer_cancel.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/transfer_character.html b/home/templates/account/transfer_character.html
new file mode 100644
index 0000000..fb6577e
--- /dev/null
+++ b/home/templates/account/transfer_character.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/transfer_character.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/account/transfer_success.html b/home/templates/account/transfer_success.html
new file mode 100644
index 0000000..a7c10a1
--- /dev/null
+++ b/home/templates/account/transfer_success.html
@@ -0,0 +1,9 @@
+
+
+ {% include 'partials/head.html' %}
+ {% include 'partials/header.html' %}
+ {% include 'partials/video.html' %}
+ {% include 'partials/transfer_success.html' %}
+ {% include 'partials/social.html' %}
+ {% include 'partials/footer.html' %}
+ {% include 'partials/final.html' %}
\ No newline at end of file
diff --git a/home/templates/partials/change_faction.html b/home/templates/partials/change_faction.html
new file mode 100644
index 0000000..e06e5b7
--- /dev/null
+++ b/home/templates/partials/change_faction.html
@@ -0,0 +1,77 @@
+
+
+
+
Cambiar facción del personaje
+
+
+
+
+
La herramienta Cambiar facción del personaje te permite cambiar de la Alianza a la Horda y viceversa.
+
Si también deseas cambiar el nombre del personaje, debes usar la herramienta Renombrar personaje.
+
+
Al hacer un cambio de Facción:
+
- Los items, hechizos, títulos, reputaciones, monturas y logros se cambiarán a la nueva facción
+
- Las misiones activas en el Registro de misiones serán abandonadas
+
- Los teams de arena seán borrados
+
- Los amigos en la Lista de amigos se borrarán
+
+
Restricciones del personaje:
+
- No debe tener subastas activas
+
- No debe tener correos en el buzón
+
- No debe capitán de un team de arenas
+
- No debe ser miembro de una hermandad
+
- No debe tener demasiado oro
+
+
+
+ Nivel
+ Max. Oro
+
+
+ 10-30
+ 300
+
+
+ 31-50
+ 1000
+
+
+ 51-70
+ 5000
+
+
+ 71-80
+ 20000
+
+
+
+
Al usar el botón CAMBIAR FACCIÓN del personaje que hayas escogido, se enviará una petición de cambio de facción de dicho personaje.
+
Cuando ingreses a la lista de personajes de tu cuenta, verás un ícono a la izquierda de tu personaje escogido.
+
Al darle click a dicho ícono ingresarás al menú de edición de personaje que te permitirá pasar a la facción contraria.
+
+
+ NOTA
+
+
Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/home/templates/partials/change_faction_cancel.html b/home/templates/partials/change_faction_cancel.html
new file mode 100644
index 0000000..e69de29
diff --git a/home/templates/partials/change_faction_success.html b/home/templates/partials/change_faction_success.html
new file mode 100644
index 0000000..e69de29
diff --git a/home/templates/partials/change_race.html b/home/templates/partials/change_race.html
new file mode 100644
index 0000000..b052373
--- /dev/null
+++ b/home/templates/partials/change_race.html
@@ -0,0 +1,46 @@
+
+
+
+
Cambiar raza del personaje
+
+
+
+
+
La herramienta Cambiar raza del personaje te permite cambiar la raza del personaje entre otras de la misma facción.
+
Si también deseas cambiar el nombre del personaje, debes usar la herramienta Renombrar personaje.
+
+
Al usar el botón CAMBIAR RAZA del personaje que hayas escogido, se enviará una petición de cambio de raza de dicho personaje.
+
Cuando ingreses a la lista de personajes de tu cuenta, verás un ícono a la izquierda de tu personaje escogido.
+
Al darle click a dicho ícono ingresarás al menú de edición de personaje que te permitirá escoger entre las razas de la misma facción.
+
+
+ NOTA
+
+
Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/home/templates/partials/change_race_cancel.html b/home/templates/partials/change_race_cancel.html
new file mode 100644
index 0000000..e69de29
diff --git a/home/templates/partials/change_race_success.html b/home/templates/partials/change_race_success.html
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/home/templates/partials/change_race_success.html
@@ -0,0 +1 @@
+
diff --git a/home/templates/partials/customize_character.html b/home/templates/partials/customize_character.html
new file mode 100644
index 0000000..d15bcd8
--- /dev/null
+++ b/home/templates/partials/customize_character.html
@@ -0,0 +1,51 @@
+
+
+
+
Personalizar personaje
+
+
+
+
+
La herramienta Personalizar personaje te permite cambiar los siguientes aspectos un personaje:
+
- Color de la piel
+
- Rostro
+
- Pelo
+
- Sexo
+
- Características correspondientes a cada raza como cuernos, pendientes, marcas, vello facial
+
Si también deseas cambiar el nombre del personaje, debes usar la herramienta Renombrar personaje.
+
+
Al usar el botón PERSONALIZAR del personaje que hayas escogido, se enviará una petición de personalización de dicho personaje.
+
Cuando ingreses a la lista de personajes de tu cuenta, verás un ícono a la izquierda de tu personaje escogido.
+
Al darle click a dicho ícono ingresarás al menú de edición de personaje que te permitirá escoger diferentes características.
+
+
+ NOTA
+
+
Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/home/templates/partials/customize_success.html b/home/templates/partials/customize_success.html
new file mode 100644
index 0000000..e550bd4
--- /dev/null
+++ b/home/templates/partials/customize_success.html
@@ -0,0 +1,44 @@
+
+
+
+
Personalizar personaje
+
+
+
+
+
La herramienta Personalizar personaje te permite cambiar los siguientes aspectos un personaje:
+
- Color de la piel
+
- Rostro
+
- Pelo
+
- Sexo
+
- Características correspondientes a cada raza como cuernos, pendientes, marcas, vello facial
+
Si también deseas cambiar el nombre del personaje, debes usar la herramienta Renombrar personaje.
+
+
Al usar el botón PERSONALIZAR del personaje que hayas escogido, se enviará una petición de personalización de dicho personaje.
+
Cuando ingreses a la lista de personajes de tu cuenta, verás un ícono a la izquierda de tu personaje escogido.
+
Al darle click a dicho ícono ingresarás al menú de edición de personaje que te permitirá escoger diferentes características.
+
+
+ NOTA
+
+
Por favor, asegúrate de haber escogido al personaje correcto ya que esta acción no es reversible una vez realizada.
+
+
+
+
Selecciona el personaje que deseas personalizar:
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/home/templates/partials/d_points.html b/home/templates/partials/d_points.html
index e002ece..823b635 100644
--- a/home/templates/partials/d_points.html
+++ b/home/templates/partials/d_points.html
@@ -190,7 +190,7 @@
-
+