StendhalRefactoringRP: Difference between revisions

From Arianne
Jump to navigation Jump to search
imported>Danter
mNo edit summary
imported>Danter
mNo edit summary
(No difference)

Revision as of 18:11, 30 January 2006

We need a rebalance of the RP system so it is playable and fun for both newbiews and high levels. We have to talk about several things here:

Skill system

The whole system will be skill based, so if you use sword, you will get better and better hits with the sword, but if you change to axes you will have to learn to use it again, as you did with swords. At least we have the next set of skills:

  • sword
  • axe
  • club
  • range
  • shield

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:
http://arianne.sourceforge.net/wiki_images/stendhal_0.39_campers.jpg
Image: Campers training in Stendhal 0.39

There are several valid approach for this problem, and IMHO we should try from less severe to most severe first.

  1. Blood solution
    You only improve your skill when you damage/are damaged the creature
  2. Don't get XP points nor skill points from weak creatures
  3. Kick idle players
    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.

Leveling up

To level up you need to gain XP by killing monsters and/or solving quests.
On level up you gain HP.

Combat

Melee Combat

Combat right now works as follows:

  1. We compute the risk to hit the target, using their ATK and DEF attributes-
  2. If risk>0 then we compute if the target blocks the attack, or how much damage the target recieved.

The formula looks like:

  risk_to_hit = 2 * source[ATK] - target[DEF]+ roll[1D20] - 10

  if risk_to_hit > 0:
    attacker_part = 0.8 * (roll[1D100] / 100) * source[ATK]^2 + 4 * source[ATK] * weapon
    maxdamage = 0.8 * source[ATK]^2 + 4 * weapon
    defender_part = 0.6 * (roll[1D100] / 100) * target[DEF]^2 + 4 * target[DEF] * shield + 2 * target[DEF] *
                   armor + target[DEF]* helmet + target[DEF] * legs + target[DEF] * boots

    damage = ((attacker_part - defender_part) / maxdamage) * (maxdamage / source[ATK])

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 beneficts you get from weapons and armors are directly proportional to your level.

The formula is nicer than previous one because it gives a good range of damages and it adds lineal damage increase for using weapons and lineal damage absortion for using armors. Now the point is to give values to monsters that will always lack of equipment ( to simplify everything ).

Range Combat

Should be based on the above formula but:

  • We have a maximun range
  • Weapon is only effective on middle-long range
  • Damage also depends of the arrow

So a nice formula would be:

  range_damage = damage * ( actual_distance / max range of weapon )

  if actual_distance < min_range: 
     range_damage = damage / 20
  if actual_distance > max_range:
     range_damage = 0

Here is some improved formulas for ranged combat, they also use arrow damage.

  attacker_part = 0.8 * (roll[1D100] / 100) * source[ATK]^2 + 4 * source[ATK] * (weapon + arrow)
  maxdamage = 0.8 * source[ATK]^2 + 4 * (weapon + arrow)

  range_damage = damage * ( 1 - (actual_distance / max_range) ) + ( damage - damage * ( 1 - (min_range / max_range) ) ) *
                ( 1 - (actual_distance / max_range) )

Magic

Magic will be mana based, with each spell costing mana. Also you can have written spells that don't cost mana, but that vanish after they have been used.

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.

For the Element there will be some properties:

  • Fire strong vs Water
  • Water strong vs Earth
  • Earth strong vs Wind
  • Wind strong vs Fire


  • Dark strong vs Holy
  • 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.

Here is some speculative formulas for how magic might be working

risk_to_hit = 2 * source[INT] - target[INT] + target[DEF]/2 + roll[1D20] -10

  if risk_to_hit > 0:
    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)
    defender_part = 0.6 * (roll[1D100] / 100) * target[DEF]^2 + 2 * target[DEF] * shield + target[DEF] *
                   armor + 0,5 * target[DEF]* helmet + 0,5* target[DEF] * legs + 0,5 * target[DEF] * boots

damage = ( ( ((attacker_part - defender_part) / maxdamage) * (maxdamage / source[MATK]) ) * 
           (1 + (target[WEAK] * 0,01)) ) * (1 - target[STRONG] * 0,01)


ELEMENT = The elemental power of the skill that is used (Equivelant to the ATK the equipped weapon has, but for magic).
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?

These Formulas is based on that all creatures have an elemental resistance to all the elements in the game:

  • 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 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 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.


Check over at the class section for spells that might be added Class Basics

Quests

That's the point of the game. We can do something different. We must do something different.

The idea is to suggest players quests that make them do something interesting instead of just doing the camper!.

Plots ideas

Several plots ideas

Introduction/Beginner

Modified sheep quest

Summary: Nishiya gives you a sheep (weight 0) to grow.
Reward: The first full grown sheep gives you the exp. for level 2
Difficulty: very easy, you don't even have to meet an enemies
Note: You can do the quest as often as you like, but you'll get the xp only once

Grab some rare herbs from the plains

Summary: Carmen asks you to grab her some herbs from the plains
Reward: Some coins, some xp, maybe a necklace that heals you a hp each second
Difficulty: easy
Note: You can do the quest as often as you like, but you'll get the reward (necklace) only once

Get the childs toy

Summary: The smith' child has lost its toy and it looks like a wolf from the forest stole it (original eh?). Bring it back.
Reward: Some coins, some xp, maybe the smith can give you a special weapon (with your name?)
Difficulty: normal, kill some wolfes and eventually one drops the toy
Note: You can do the quest only once. Make sure the wolfes drops toys only when someone with the quest is near. Remove additional toys.


Challenging

The Pied Piper

(after a german tale: read this first (click). It is translated in some european languages)

  • Part 1

Summary: The city has a rat problem. You can enter each house and kill some rats. The major tells you they are waiting for a rat catcher (and he tells the exact time)
Reward: none
Difficulty: none
Note: This is just to introduce the problem. Make sure the rats are very easy (atk=def=1) and give nearly no xp,atk_xp,def_xp

  • Part 1b

Summary: The pied piper arrives. You can see how he dances and all the rats leaves the houses and gather around him. He leads them in some dungeon (it is complicated, but it would look cool).
Note: Make sure the players cannot block the path to the dungeon.

  • Part 1c

Summary: The pied piper returns to get his reward. The city refuses to pay and so he dances again to get all the children. They go down the same dungeon.
Note: Make sure the players cannot block the path to the dungeon.

  • Part 2

Summary: Get the children back.
Reward: don't know. something cool
Difficulty: normal
Note: This is a quest for several players, so the enemies shouldn't be too easy. The kids are in some kind of underground town. The pied piper is gone.
This quest can be restarted each 2 days or so. Block the dungeon entrance some hours before the quest restarts.
If some people don't like the idea of 'stolen' kids (it's a tale after all), the rat catcher gets sheeps in his 2nd run.





Back to stendhal refactoring page
Back to Stendhal main wiki page