StendhalRPProposal: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>MiguelAngelBlanchLardin No edit summary |
imported>Hendrik Brummermann added navigation |
||
| (106 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
{{Navigation for Stendhal Top|Developing}} |
|||
| ⚫ | |||
{{Navigation for Stendhal Developers}} |
|||
| ⚫ | |||
{{Likely Outdated}} |
|||
| ⚫ | |||
{{Future Concept}} |
|||
{{Ideas for Stendhal}} |
|||
| ⚫ | |||
| ⚫ | |||
[[Talk:StendhalRPProposal|Stendhal RP proposal discussion]]<br> |
[[Talk:StendhalRPProposal|Stendhal RP proposal discussion]]<br> |
||
<br> |
<br> |
||
| ⚫ | |||
=Attributes= |
=Attributes= |
||
The first thing that our RP needs to define are Attributes. |
The first thing that our RP needs to define are Attributes. |
||
Previous version |
Previous version lacked of any kind of character personalization which led to a poor RP experience. |
||
Our new RP will be based on the following set of attributes: |
Our new RP will be based on the following set of attributes: |
||
| Line 16: | Line 25: | ||
Strengh is used to determine: |
Strengh is used to determine: |
||
* Attack and damage done. |
* Attack and damage done. |
||
* Weight can be carried. |
* Weight that can be carried. |
||
* Damage that can be |
* Damage that can be absorbed with the shield. |
||
==DEX== |
==DEX== |
||
Dexterity is used to determine: |
Dexterity is used to determine: |
||
* Attack rate |
* Attack rate |
||
* |
* Handling of the weapons |
||
==AGI== |
==AGI== |
||
Agility is used to determine: |
Agility is used to determine: |
||
* How fast we can move. |
* How fast we can move. |
||
* How good |
* How good we are at dodging. |
||
==CON== |
==CON== |
||
Constitution is used to determine: |
Constitution is used to determine: |
||
* Amount of HP points. |
* Amount of HP points. |
||
* How fast |
* How fast we can restore HP points |
||
* How fast we restore MP points. |
* How fast we can restore MP points. |
||
==WIS== |
==WIS== |
||
Wisdom |
Wisdom defines how united you are with your deity. |
||
* |
* Defines how much faith you have. |
||
* How strong your prayers are. |
* How strong your prayers are. |
||
| Line 47: | Line 56: | ||
==KAR== |
==KAR== |
||
Karma |
Karma determines most of the RP. |
||
Good actions give positive karma and bad actions give negative karma. |
Good actions give positive karma and bad actions give negative karma. |
||
Karma is initially 0 except if modified by race. |
Karma is initially 0 except if modified by race. |
||
| Line 76: | Line 85: | ||
= Minor attributes = |
= Minor attributes = |
||
There are also other attributes that are important but that don't decide to such extreme our player *look*. |
There are also other attributes that are important but that don't decide to such extreme our player's *look*. |
||
== Race == |
== Race == |
||
| Line 86: | Line 95: | ||
This will decide the base outfit and the place where you enter world. |
This will decide the base outfit and the place where you enter world. |
||
Also of course, Dwarves are not hostile |
Also of course, Dwarves are not hostile against dwarves, and so on. |
||
== Gender == |
== Gender == |
||
| Line 113: | Line 122: | ||
Human race will have 1 at every race factor. |
Human race will have 1 at every race factor. |
||
{|border="1" cellpadding="5" cellspacing="0" style="text-align:center" |
|||
Table with factors: |
|||
|+'''Race Factors''' |
|||
! !!Race_STR !!Race_DEX !!Race_AGI !!Race_CON !!Race_INT !!Race_WIS |
|||
|- |
|||
!Human |
|||
| ⚫ | |||
|- |
|||
!Orc |
|||
| ⚫ | |||
|- |
|||
!Elf |
|||
| ⚫ | |||
|- |
|||
!Dwarf |
|||
| ⚫ | |||
|} |
|||
|STR |DEX |AGI |CON |INT |WIS |
|||
Human |1 |1 |1 |1 |1 |1 |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
===Class factor=== |
===Class factor=== |
||
Each player can choose one and only one class at creation time ( or later ), but just once. |
Each player can choose one and only one class at creation time ( or later ), but just once. |
||
That class will affect how attributes are considered: |
That class will affect how attributes are considered: |
||
* Warriors |
* Warriors have better CON and STR. |
||
* Rangers |
* Rangers have better CON and AGI |
||
* Archers |
* Archers have better AGI and DEX |
||
* ... |
* ... |
||
{|border="1" cellpadding="5" cellspacing="0" style="text-align:center" |
|||
Table with factors: |
|||
|+'''Class Factors''' |
|||
! !!Class_STR !!Class_DEX !!Class_AGI !!Class_CON !!Class_INT !!Class_WIS |
|||
|STR |DEX |AGI |CON |INT |WIS |
|||
|- |
|||
| ⚫ | |||
!None |
|||
| ⚫ | |||
|1 ||1 ||1 ||1 ||1 ||1 |
|||
|- |
|||
| ⚫ | |||
!Berseker |
|||
| ⚫ | |||
|2.2 ||0.7 ||0.5 ||1 ||0.5 ||1.1 |
|||
|- |
|||
| ⚫ | |||
!Warrior |
|||
| ⚫ | |||
|- |
|||
!Ranger |
|||
| ⚫ | |||
|- |
|||
!Archer |
|||
| ⚫ | |||
|- |
|||
!Mage |
|||
|0.5 ||1.6 ||0.5 ||0.7 ||2 ||0.7 |
|||
|- |
|||
!Priest |
|||
| ⚫ | |||
|} |
|||
==HP== |
==HP== |
||
It is the amount of health points we have. |
It is the amount of health points we have. |
||
HP=m· |
HP=m · CON · Race_CON · Class_CON ·(Level/k+1)·CON |
||
Where m=k=10 |
Where m=k=10 |
||
| Line 150: | Line 184: | ||
It is the amount of magic points we have. |
It is the amount of magic points we have. |
||
MP=m·(INT |
MP=m · (INT · Race_INT · Class_INT + WIS · Race_WIS · Class_WIS)/2 · (Level/k+1)·((INT + WIS)/2) |
||
Where m=3, k=10 |
Where m=3, k=10 |
||
| Line 157: | Line 191: | ||
It is the maximum amount of weight (in whatever unit) a player can carry without having a penalty at AGI and DEX. |
It is the maximum amount of weight (in whatever unit) a player can carry without having a penalty at AGI and DEX. |
||
Weight=m·(STR · |
Weight=m·(STR · Race_STR · Class_STR) · (Level/k+1) · ((STR + CON + AGI)/3) |
||
Where k=10 and m is used to adjust the units to something that makes sense. |
Where k=10 and m is used to adjust the units to something that makes sense. |
||
| Line 165: | Line 199: | ||
It is how fast this player moves, in tiles per second. |
It is how fast this player moves, in tiles per second. |
||
speed=m· |
speed=m · Race_AGI · Class_AGI · (Level/k+1) · AGI |
||
Where k=10 and m is again used to adjust the value. |
Where k=10 and m is again used to adjust the value. |
||
| Line 176: | Line 210: | ||
===Types of damage=== |
===Types of damage=== |
||
There are several types of damage, and each weapon is useful for one of them and each armor is special to protect against some of them. |
There are several types of damage, and each weapon is useful for one of them and each armor is special to protect against some of them. |
||
* |
* Slash |
||
* Bash |
|||
* Aplastar |
|||
* |
* Stab |
||
* Magical |
* Magical |
||
** Each of the magic schools we have. TODO |
** Each of the magic schools we have. TODO |
||
| Line 188: | Line 222: | ||
** Poison |
** Poison |
||
| ⚫ | |||
| ⚫ | |||
{|border="1" cellpadding="5" cellspacing="0" style="text-align:center" |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
|- |
|||
| ⚫ | |||
!Human |
|||
| ⚫ | |||
|- |
|||
!Orc |
|||
| ⚫ | |||
|- |
|||
!Elf |
|||
| ⚫ | |||
|- |
|||
!Dwarf |
|||
| ⚫ | |||
|} |
|||
This represent how much damage is absorbed. |
This represent how much damage is absorbed. |
||
| Line 209: | Line 254: | ||
The damage needs to be coded correctly on the array so that usually: |
The damage needs to be coded correctly on the array so that usually: |
||
slash < bash < stab |
|||
The damage is later scaled based on player attributes. |
The damage is later scaled based on player attributes. |
||
| Line 266: | Line 311: | ||
By now just one skill per armor. |
By now just one skill per armor. |
||
Skill will be used to know how good are you at handling the armor. |
Skill will be used to know how good are you at handling the armor. |
||
== Asserts== |
== Asserts== |
||
| Line 280: | Line 324: | ||
This will determine how often we can attack. |
This will determine how often we can attack. |
||
Attack rate= k · 1 / ( DEX · STR / |
Attack rate= k · 1 / ( DEX · STR / Weapon_weight ) |
||
The lower the better. |
The lower the better. |
||
| Line 287: | Line 331: | ||
Doing a hit is simple if the weapon suits us, and we don't try a hard type of damage. |
Doing a hit is simple if the weapon suits us, and we don't try a hard type of damage. |
||
Hit=a ( Attacker.DEX ) |
Hit = a ( Attacker.DEX ) |
||
b ( Weapon Skill ) |
|||
c ( STR/Weapon_weight ) |
|||
d ( facing ) |
|||
Profile |
|||
The bigger the better. |
The bigger the better. |
||
| Line 303: | Line 347: | ||
The more armor weight the less you can move. |
The more armor weight the less you can move. |
||
Dodge rate= k · 1 / ( AGI · STR/ |
Dodge rate= k · 1 / ( AGI · STR/Armor_weight ) |
||
The lower the better. |
The lower the better. |
||
| Line 309: | Line 353: | ||
===Decide if player dodge attack=== |
===Decide if player dodge attack=== |
||
Dodge=a ( Defender.AGI ) |
Dodge = a ( Defender.AGI ) |
||
b ( STR/Armor_weight ) |
|||
c ( facing ) |
|||
( 1 - Profile ) |
|||
The bigger the better. |
The bigger the better. |
||
| Line 318: | Line 362: | ||
===Decide how much damage is casted and which types=== |
===Decide how much damage is casted and which types=== |
||
Weapons can |
Weapons can do several types of damage, some of them are exclusive and some other are additive. |
||
Damage = a · STR · |
Damage = a · STR · Skill_used · Weapon_Damage_type · Hit |
||
We will have several damage values, one for each of the damages that the weapon does. |
We will have several damage values, one for each of the damages that the weapon does. |
||
Each of the values are applied |
Each of the values are applied independently. |
||
===Decide if hit is blocked by shield=== |
===Decide if hit is blocked by shield=== |
||
If the hit can' |
If the hit can't be dodged, then it's time to decide if the shield blocks it. |
||
Shield_rate = k · 1 / ( DEX · STR / Shield_weight ) |
|||
If we can use shield, then: |
If we can use the shield, then: |
||
Shield_absorption = STR · Shield_skill · DEX · Shield_type_of_damage_protection · ( 1 - Profile ) |
|||
The more agressive, the less useful the shield is. |
The more agressive, the less useful the shield is. |
||
===Decide how much damage is absorbed by armor=== |
===Decide how much damage is absorbed by armor=== |
||
As armor is a passive entity, you can't apply really any attribute to it. |
As armor is a passive entity, you can't apply really any attribute to it. |
||
Armor_absorption = Armor_skill · Armor_type_of_damage_protection |
|||
Armor absorbs = Armor skill · Armor type of damage protection |
|||
===Apply damage=== |
===Apply damage=== |
||
Finally |
Finally |
||
HP = HP - damage · ( 1 - |
HP = HP - damage · ( 1 - Race_resistence_to_type_of_damage ) |
||
if HP == 0 then defender is dead. |
if HP == 0 then defender is dead. |
||
| Line 352: | Line 396: | ||
= Magic = |
= Magic = |
||
There are |
There are some things written in Danter's documents. |
||
Also on IRC we have been talking about Magic system. |
Also on IRC we have been talking about Magic system. |
||
| Line 410: | Line 454: | ||
[[StendhalRefactoring| Back to Stendhal refactoring page]] <br> |
[[StendhalRefactoring| Back to Stendhal refactoring page]] <br> |
||
[[Stendhal | Back to Stendhal main wiki page]] <br> |
[[Stendhal | Back to Stendhal main wiki page]] <br> |
||
[[Category:Development]] |
|||