StendhalRefactoringRP: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Ufizavipupu No edit summary |
imported>Madmetzger Undo revision 11777 by Ufizavipupu (Talk) |
||
| Line 1: | Line 1: | ||
---- |
|||
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;"> |
|||
---- |
|||
=[http://exytebuc.co.cc This Page Is Currently Under Construction And Will Be Available Shortly, Please Visit Reserve Copy Page]= |
|||
---- |
|||
=[http://exytebuc.co.cc CLICK HERE]= |
|||
---- |
|||
</div> |
|||
{{Navigation for Stendhal Top|Developing}} |
{{Navigation for Stendhal Top|Developing}} |
||
{{Navigation for Stendhal Developers}} |
{{Navigation for Stendhal Developers}} |
||
| Line 25: | Line 17: | ||
* shield |
* shield |
||
ChadF also suggested another type of weapon skill system that you can review [[Ideas:chad3f|here]] |
ChadF also suggested another type of weapon skill system that you can review [[Ideas:chad3f|here]] |
||
<br> |
|||
<br> |
|||
<br> |
|||
<br> |
|||
We want to avoid the situation of having to add items to monsters for them in order to combat, so we need to find a way of making compatible both systems ( the above one with the actual ATK/DEF one ). |
We want to avoid the situation of having to add items to monsters for them in order to combat, so we need to find a way of making compatible both systems ( the above one with the actual ATK/DEF one ). |
||
We need to design the system to avoid campers: |
We need to design the system to avoid campers:<br> |
||
http://arianne.sourceforge.net/wiki_images/stendhal_0.39_campers.jpg |
http://arianne.sourceforge.net/wiki_images/stendhal_0.39_campers.jpg |
||
<br><small>Image: Campers training in Stendhal 0.39</small> |
|||
There are several valid approach for this problem, and IMHO we should try from less severe to most severe first. |
There are several valid approach for this problem, and IMHO we should try from less severe to most severe first. |
||
# Blood solution |
# Blood solution<br>You only improve your skill when you damage/are damaged the creature |
||
# Don't get XP points nor skill points from weak creatures |
# Don't get XP points nor skill points from weak creatures |
||
# Kick idle players |
# Kick idle players<br>No action in X minutes means that you are logged out |
||
We want to disallow first camping to increase skills, you gain skills by playing not by camping. Later we will fix camping by not respawing monsters if player is waiting for the monster. The whole point is to have player create ''value'': fun. |
We want to disallow first camping to increase skills, you gain skills by playing not by camping. Later we will fix camping by not respawing monsters if player is waiting for the monster. The whole point is to have player create ''value'': fun. |
||
==Leveling up== |
==Leveling up== |
||
To level up you need to gain XP by killing monsters and/or solving quests. |
To level up you need to gain XP by killing monsters and/or solving quests.<br> |
||
On level up you gain HP. |
On level up you gain HP. |
||
| Line 53: | Line 45: | ||
Combat right now works as follows: |
Combat right now works as follows: |
||
# We compute the ''risk'' to hit the target, using their ATK and DEF attributes- |
# We compute the ''risk'' to hit the target, using their ATK and DEF attributes- |
||
# If risk |
# If risk>0 then we compute if the target blocks the attack, or how much damage the target received. |
||
The formula looks like: |
The formula looks like: |
||
<pre> |
|||
risk_to_hit = 20 * source[ATK] - roll[1D20] * target[DEF] |
risk_to_hit = 20 * source[ATK] - roll[1D20] * target[DEF] |
||
if risk_to_hit |
if risk_to_hit > 0: |
||
max_defence = √(target[DEF] * (10 + target[ARMOR])) * (10 + 0.03 * (target[LEVEL] + 5)); |
max_defence = √(target[DEF] * (10 + target[ARMOR])) * (10 + 0.03 * (target[LEVEL] + 5)); |
||
max_attack = source[ATK] * (1 + source[WEAPON])* (1 + 0.03 * (source[LEVEL + 5)) * speed_effect; |
max_attack = source[ATK] * (1 + source[WEAPON])* (1 + 0.03 * (source[LEVEL + 5)) * speed_effect; |
||
| Line 67: | Line 59: | ||
damage = (8 * max_attack * random[0..1] - max_defence * random[0..1]) / max_defence; |
damage = (8 * max_attack * random[0..1] - max_defence * random[0..1]) / max_defence; |
||
</pre> |
|||
There's also small karma effect for both the hitting chance and damage. |
There's also small karma effect for both the hitting chance and damage. |
||
See that it is very important the ATK and DEF value, but that you can also get big improvements using weapons, armors, shields, etc... |
See that it is very important the ATK and DEF value, but that you can also get big improvements using weapons, armors, shields, etc... |
||
The benefits you get from your items and skills are directly proportional to your level. The |
The benefits you get from your items and skills are directly proportional to your level. The <code>speed_part</code> is responsible for making slow weapons more effective against strong enemies, and fast weapons better against weak enemies. |
||
Creatures are balanced without items, and have constant item DEF of 0 and item ATK 5. |
Creatures are balanced without items, and have constant item DEF of 0 and item ATK 5. |
||
| Line 81: | Line 73: | ||
* Item ATK is the sum of the bow and arrow ATK values |
* Item ATK is the sum of the bow and arrow ATK values |
||
<pre> |
|||
ranged_damage = distance_modifier * normal_damage |
ranged_damage = distance_modifier * normal_damage |
||
where: |
where: |
||
| Line 90: | Line 82: | ||
where: |
where: |
||
out_of_range = max_range + 1, |
out_of_range = max_range + 1, |
||
</pre> |
|||
Thus |
Thus <code>ranged_damage</code> reaches the normal maximum damage at middle range, and drops to 0 at maximum range + 1. The point blank case is treated specially to avoid archers being completely helpless at melee. |
||
==Tactics slider== |
==Tactics slider== |
||
| Line 103: | Line 95: | ||
*Slink: Players are aware of dangerous situations, they will therefore expect to be attacked suddenly (adrenalin-kick ;) ) and they slink to make no noise. |
*Slink: Players are aware of dangerous situations, they will therefore expect to be attacked suddenly (adrenalin-kick ;) ) and they slink to make no noise. |
||
- |
-> +10 %DEF -50% Movement speed, Creatures will start to attack/note players only if there is a very close distance (e.g. 2 tiles) between them. |
||
*Normal: Just normal ;) |
*Normal: Just normal ;) |
||
| Line 109: | Line 101: | ||
*Run: Players like to get fast from A to B (they might like to flee away). The do not take care of noise and surrounding. A attack will surprise them. |
*Run: Players like to get fast from A to B (they might like to flee away). The do not take care of noise and surrounding. A attack will surprise them. |
||
- |
-> -10% DEF +50% Movement speed, Creatures will hear the "noisy" player and trying to attack/note the player from much farer (20-30 tiles) distances then normal. |
||
=== Aggress---Normal---Defence: === |
=== Aggress---Normal---Defence: === |
||
| Line 117: | Line 109: | ||
*Aggress: The player tries to slaughter the creature as fast as possible, he/she is using fancy hero-tricks, however this open weak points in the defence. Doesn't matter for real a hero which starts to become bloodthirstiness. The little scratches and wounds will be acceptable for a real hero as along as he/she is the winner of this massacre. |
*Aggress: The player tries to slaughter the creature as fast as possible, he/she is using fancy hero-tricks, however this open weak points in the defence. Doesn't matter for real a hero which starts to become bloodthirstiness. The little scratches and wounds will be acceptable for a real hero as along as he/she is the winner of this massacre. |
||
- |
-> +15% ATK -15% DEF |
||
*Normal: Again just normal ;) |
*Normal: Again just normal ;) |
||
*Defence: The player is under heavy attack and run out of potion. Help is coming soon from his party. Therefore, it becomes a question of time. |
*Defence: The player is under heavy attack and run out of potion. Help is coming soon from his party. Therefore, it becomes a question of time. "Ditch a hole and stick your head inside" is now the slogan :). |
||
- |
-> -15% ATK +15% DEF |
||
These sliders will make it possible to run different strategies for parties and for longer campaigns. In addition the level of a player is not directly related to the DEF and ATK settings, which make it more interesting because other players do not know about the actual settings. This can help weak players to protect them better and strong players get faster rid of (boring) weak creatures. |
These sliders will make it possible to run different strategies for parties and for longer campaigns. In addition the level of a player is not directly related to the DEF and ATK settings, which make it more interesting because other players do not know about the actual settings. This can help weak players to protect them better and strong players get faster rid of (boring) weak creatures. |
||
| Line 132: | Line 124: | ||
We will mainly have 6 elements in Stendhal, maybe 8 later, and those are Fire, Water/Ice, Earth, Wind, Holy and Dark. |
We will mainly have 6 elements in Stendhal, maybe 8 later, and those are Fire, Water/Ice, Earth, Wind, Holy and Dark. |
||
The 2 that might be added later is Physical and Mental magic, that focuses on protecting against and strenghtening charm and poison attacks. For now poison will just be treated as a normal attack, and not be affected by any magic resistances. |
The 2 that might be added later is Physical and Mental magic, that focuses on protecting against and strenghtening charm and poison attacks. For now poison will just be treated as a normal attack, and not be affected by any magic resistances.<br> |
||
<br> |
|||
<br> |
|||
For the Element there will be some properties: |
For the Element there will be some properties: |
||
* Fire strong vs Water |
* Fire strong vs Water |
||
| Line 139: | Line 131: | ||
* Earth strong vs Wind |
* Earth strong vs Wind |
||
* Wind strong vs Fire |
* Wind strong vs Fire |
||
<br> |
|||
<br> |
|||
* Dark strong vs Holy |
* Dark strong vs Holy |
||
* Holy strong vs Dark |
* Holy strong vs Dark |
||
The Holy and Dark elements will also be used in healings, depending on if the target is a good or an evil creature the dark and holy elements will heal or damage the target. |
The Holy and Dark elements will also be used in healings, depending on if the target is a good or an evil creature the dark and holy elements will heal or damage the target.<br> |
||
<br> |
|||
<br> |
|||
Here is some speculative formulas for how magic might be working |
Here is some speculative formulas for how magic might be working |
||
<pre> |
|||
risk_to_hit = 2 * source[INT] - target[INT] + target[DEF]/2 + roll[1D20] -10 |
risk_to_hit = 2 * source[INT] - target[INT] + target[DEF]/2 + roll[1D20] -10 |
||
if risk_to_hit |
if risk_to_hit > 0: |
||
attacker part = 0,8 * ((roll[1D100]/100) * source[MATK]^2) * (ELEMENT * 0,2) + 4 * source[MATK] * (ELEMENT*0,2) |
attacker part = 0,8 * ((roll[1D100]/100) * source[MATK]^2) * (ELEMENT * 0,2) + 4 * source[MATK] * (ELEMENT*0,2) |
||
maxdamage = source[MATK]^2 + 4 * (ELEMENT) |
maxdamage = source[MATK]^2 + 4 * (ELEMENT) |
||
| Line 161: | Line 153: | ||
WEAK = The element that is weak to the skill that is used. (beeing strong in one element makes you weak to another) |
WEAK = The element that is weak to the skill that is used. (beeing strong in one element makes you weak to another) |
||
STRONG = Is the target strong against the element casted upon him? |
STRONG = Is the target strong against the element casted upon him? |
||
</pre> |
|||
These Formulas is based on that all creatures have an elemental resistance to all the elements in the game: |
These Formulas is based on that all creatures have an elemental resistance to all the elements in the game: <br> |
||
* An elemental resistance below 0 means that you gain extra damage from that element -100 means you recive the double damage. |
* An elemental resistance below 0 means that you gain extra damage from that element -100 means you recive the double damage. |
||
* An elemental resistance of 0 means that there is no change in damage from that element, or the element that is strong against it. |
* An elemental resistance of 0 means that there is no change in damage from that element, or the element that is strong against it.<br> |
||
* An elemental resistance of 100 means that the target is immune to that form of damage, but also weak against the element strong against it. |
* An elemental resistance of 100 means that the target is immune to that form of damage, but also weak against the element strong against it.<br> |
||
* An elemental resistance of 100+ means that you absorbs some of that element (ie you get healed) having 200 means that instead of getting damaged you get healed the entire damage cast upon you, but you are also very weak against the oposing element. |
* An elemental resistance of 100+ means that you absorbs some of that element (ie you get healed) having 200 means that instead of getting damaged you get healed the entire damage cast upon you, but you are also very weak against the oposing element. |
||
<br> |
|||
<br> |
|||
Check over at the class section for spells that might be added |
Check over at the class section for spells that might be added |
||
[[StendhalRefactoringClassBasics| Class Basics]] |
[[StendhalRefactoringClassBasics| Class Basics]]<br> |
||
==Trading system== |
==Trading system== |
||
| Line 261: | Line 253: | ||
There could be an analogue feature to the buddy list for parties so that every member would be notified any time other member logs in and out. |
There could be an analogue feature to the buddy list for parties so that every member would be notified any time other member logs in and out. |
||
<br> |
|||
<br> |
|||
An alternate method for sharing loot is a bidding system. Each member of the party gets a number of points for bidding (either proportional or equal). Players then assign the number of points they're willing to spend on each item they want. The player who pays the most wins, or for stackable items the stack is split according to how much each player paid. This way, if a player desperately wants one item they can put all their points on that item and let the other players divide up the rest. |
An alternate method for sharing loot is a bidding system. Each member of the party gets a number of points for bidding (either proportional or equal). Players then assign the number of points they're willing to spend on each item they want. The player who pays the most wins, or for stackable items the stack is split according to how much each player paid. This way, if a player desperately wants one item they can put all their points on that item and let the other players divide up the rest. |
||
<br> |
|||
<br> |
|||
<br> |
|||
<br> |
|||
<br> |
|||
<br> |
|||
---- |
---- |
||
[[StendhalRefactoring| Back to stendhal refactoring page]] |
[[StendhalRefactoring| Back to stendhal refactoring page]] <br> |
||
[[Stendhal | Back to Stendhal main wiki page]] |
[[Stendhal | Back to Stendhal main wiki page]] <br> |
||
[[Category:Development]] |
[[Category:Development]] |
||