Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Races #49

Merged
merged 14 commits into from
Nov 29, 2015
Merged

Races #49

merged 14 commits into from
Nov 29, 2015

Conversation

feend78
Copy link
Member

@feend78 feend78 commented Nov 27, 2015

This PR addresses Issue #32 and fleshes out a bit more of the functionality that will be needed for chargen.

Summary of changes:

  • Created a world/races.py module, replacing the previous deeper package structure
  • Removed become_race from the Character typeclass.
  • Replaced it with apply_race module function, which applies racial and focus bonuses to the character's traits.
  • Filled out Race classes with descriptive text from the OA basic manual.
  • Created a Focus class and a dict of Focus data used by the load_focus factory function.
  • Docs and tests

Testing

Testing this is a little tedious, as this is still just pieces of the chargen toolkit. To see race descriptions:

@py from world.races import load_race; r=load_race('human'); me.msg(r.desc)

To see Focus descriptions:

@py from world.races import load_focus; f=load_focus('agility'); me.msg(f.desc)

To see the effects of assigning a race and focus:

# reset any existing traits by calling with reset=True
@py from world.archetypes import apply_archetype; apply_archetype(me, 'warrior', reset=True)
sheet
@py from world.races import apply_race; apply_race(me, 'human', 'agility')
sheet

self.name = "Human"
self.plural = "Humans"
self.size = "medium"
self.desc = ("Humans are the most wide-spread of all the races. The "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wide-spread s/b widespread

@feend78
Copy link
Member Author

feend78 commented Nov 29, 2015

@ergodicbreak, no problem on the grammar points. I copied and pasted that text straight out of one of the OA manuals and didn't proofread it, so I take no offense at your edits.

As for the slots/limbs thing, I have another branch in progress that includes reworking parts of the equip handler. I plan to leave its ability to handle limbs and multiple slots, but at least for the short term in Ainneve, I was hoping we could start with the single-slot OA approach, and make enhancements like multi slot armor after we have the base OA combat system in place.

My personal goal, if no one else jumps in on Ainneve development in a significant way, is to try to have a fully working first draft of the chargen process, as well as roughed-in combat and character leveling systems, maybe a skill-based action as an example, and a good set of builder-focused wiki pages by the end of the year. Basic as they may be, I'd prefer to have our first iteration stay as true as possible to OA rules, if only because it gives a well-defined spec to work toward. I also think it will allow us to produce something playable faster than if we try to include enhancements in the first round.

@ergodicbreak
Copy link
Contributor

Enhancing the base sounds like a good plan to me. This PR looks complete then, thank you!

ergodicbreak added a commit that referenced this pull request Nov 29, 2015
@ergodicbreak ergodicbreak merged commit a2f1222 into evennia:master Nov 29, 2015
@feend78 feend78 deleted the races branch December 10, 2015 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants