How many of you would like a feature that allows to "lock" a character and prevent it from deletion?
I'm not talking about accidental deletion, since you need to input your char name to delete it.
This kind of lock would be meant to prevent your character from being deleted by malicious people that in one way or the other get to know username and password of your account.
The lock is time based. For a set period of time that character can't be deleted from the account.
That period can be "renewed" before expiration.
Here are some screens on how this would appear in the character selection screen:
When you click on the "Lock Character" button, a popup comes out telling you: "WARNING! If you proceed with this option your character will become locked. This will prevent deletion for the next 6 months, so you won't be able to change your mind. You are allowed to renew the lock in the 15 days before expiration of the current one. Click on "Yes" if you are sure, click on "No" if you don't want to lock your character."
Then the character is locked. On the window appear the remaining lock days, and the buttons "Lock" and "Delete" are greyed out. (Obviously the lock isn't just a greyed out button for 6 months, it needs a server side check before deletion anyway).
___________________________________
On the technical side here is how I think it could be done.
Option (1): easier codewise, puts a bit of server stress.
The database records of characters need to get a new field: "Days_before_unlock".
This field is set by default to 0, which means that the character can be deleted at any time. (So, if this was to be implemented all current characters, as well as newly created characters would have a "Days_before_unlock" = 0).
When a player clicks on "Lock Character", the server sets "Days_before_unlock" to 180, and each day that counter is decremented.
When the server receives a "Delete Character" command, it checks against the "Days_before_unlock":
If Days_before_unlock!=0 then {
message: "Sorry, this character can't be deleted";
exit;
};
Else Delete();
If option (1) puts too much stress on the db servers, updating each day a single field for each character, here is
Option (2): a little bit more complex codewise, less server stress.
The database records of characters need to get a new field: "Date_of_lock".
This field is set by default to 0, which means that the character can be deleted at any time. (So, if this was to be implemented all current characters, as well as newly created characters would have a "Date_of_lock" = 0).
When a player clicks on "Lock Character", the server writes the current date in "Date_of_lock" (the same way as it does for character creation date, for example).
This way the servers don't need to update the field each day.
The code should then check against time spans, so it is a little bit more complicated than just check if a field is empty or not.
If ( Current_date - Date_of_lock < 180days) then {
message: "Sorry, this character can't be deleted";
exit;
};
Else Delete();
On the bandwidth usage, it is just a few bytes to tell the client if a given charachter is locked or not, and how many days are needed before unlock. (Maybe just 1 more byte per character is needed when the client at login retrieves character info from the server)
___________________________________
Pros:
1) Gives Anet some breath (people bitching to Anet to get their char restored.).
2) Players would be able to "save" their precious characters.
(I myself would feel bad if my mesmer would be deleted... I created that char 19 months ago and played the nice amount of ~350hrs... I can't imagine how it would be, for those fellow players who have invested 2.000+ hrs on a single char, only to find it deleted)
Cons:
1) If you change your mind you can't go back for 6 months, so it is a feature that must be used with care.
2) If someone steals a user/pass and enters an account could vandalize it by locking the remaining unlocked characters (but then, I think that many would prefer to have all their character locked for 6 months instead of losing their main).
___________________________________
The coding part just speculation, I'm sure that Anet developers can do much better than those 2 crappy coding ideas I had (they are there just to show that the concept is quite simple).
What I ask you is:
How many of you find useful a feature like that?
Would you use it?
Would you ask Anet to implement this?
Do I need to buy me a stock of fire extinguishers?
v

