Table of Contents

Spell Shuffle Intro

Spell Shuffle is an experimental archetype branch.

The premise of this branch is to provide clear definitions for spell schools so that existing and new spells can be consistently assigned. The current definitions are:

School Brief summary Detailed lore
EvocationSpells that create things (physical damage, food, poison, character strengthening)Evokers can literally make real that which is in their mind's eye. By perfectly imagining an arrow, an evoker can turn that idea into an actual arrow. With practice they can even add inertia to the objects creating dangerous projectiles. They can even use this skill on themselves, temporarily improving their strength, agility or even appearance. Appearances can always be deceiving and most evocations are ephemeral.
SorcerySpells that remove energy (cold spells, draining, paralyzing/slow/fear/confuse)Sorcerers work magic to debilitate and freeze their opponents. The source of these arts is obscured but shunned arts such as necromancy are known to derive from this school and few feel comfortable discussing its merits in public. When applied directly to the environment, sorcery can drain the very heat out of the air. When applied to others the affects are truly horrifying, recipients can quickly become decrepit and befuddled and even completely unable to move.
PyromancySpells that add energy (fire, lightning, light)Pyromancers are specialists in using magic to generate and control energy directly. By carefully weaving magic to contain heat, fire that can melt flesh and bone can be controlled to the detriment of any who would stand in their way. A more subtle application of pyromancy is to use conduct the energy as electricity rather than fire, greatly improving the distance practitioner's destructive urges can be felt.
SummoningSpells that call and control monsters (golems, pets, etc)Summoners do not create things but rather bridge space and time to draw things to them. The summoning school has one of the worst causality rates as those who don't quickly learn the skills to control what they summon soon beckon something they shouldn't. These skills also give summoners the ability to readily move between areas by teleporting or even creating semi-permanent gateways that they and others can navigate through, instantly moving from one area to another.
PrayingSpells gifted by channeling your gods wishes through prayer

The branch has been made so that time and consideration can be given to the impact and subsequent balancing of the changes required to rehouse spells. It should not be viewed as a large-scale review of spells in general, for example spells that are already neatly housed are unlikely to be impacted.

This page summarizes the concept and ideas of tweaking spells and spell school reorganization.

Make sure to read the SPELL_SHUFFLE_README if considering using these changes.

Discussion

Mailing list threads:

External References:

Download

To download via Git:

git clone --branch Spell_shuffle git://git.code.sf.net/p/crossfire/crossfire-arch crossfire-crossfire-arch

Deployment

Chose one (1) of the options below between Existing Server or New Server

Existing Server

FIXME - needs testing and verification, use this section with caution!

To pull changes from the `Spell_shuffle` branch into your existing `crossfire-crossfire-arch` directory, follow these steps:

Step 1: Navigate to the Existing Repository

Make sure you're in the `crossfire-crossfire-arch` directory:

cd crossfire-crossfire-arch

Step 2: Add the New Remote Repository

Add the `Spell_shuffle` repository as a new remote:

git remote add spell_shuffle git://git.code.sf.net/p/crossfire/crossfire-arch

Step 3: Fetch the Spell_shuffle Branch

Fetch the `Spell_shuffle` branch from the new remote:

git fetch spell_shuffle Spell_shuffle

Step 4: Merge or Checkout the Spell_shuffle Branch

You can either:

  git merge spell_shuffle/Spell_shuffle
  git checkout -b Spell_shuffle spell_shuffle/Spell_shuffle

Step 5: Verify Changes

Confirm the branch or merge was successful by reviewing the changes:

git log --oneline --graph

Optional: Remove the Remote

If you no longer need the `Spell_shuffle` remote, you can remove it:

git remote remove Spell_shuffle

New Server

To use the Spell_shuffle archetypes with a newly setup server only requires a change to one step.

Instead of downloading the master Archetypes, download the Spell_Shuffle archetypes using Git. Like so:

git clone --branch Spell_shuffle git://git.code.sf.net/p/crossfire/crossfire-arch crossfire-crossfire-arch

Refer to Compiling the Crossfire Server, starting at SETUP for the rest of the steps.

See the instructions below (Switching Back) to use the master Archetypes if you want to go back to that code base.

Switching Back

FIXME - Needs testing

To switch back to the original repository (`https://git.code.sf.net/p/crossfire/crossfire-arch`), follow these steps:

Step 1: Navigate to the Repository Directory

Ensure you're in the `crossfire-crossfire-arch` directory:

cd crossfire-crossfire-arch

Step 2: Verify the Current Remote(s)

Check the existing remotes to ensure the repository is properly configured:

git remote -v

Step 3: Update or Reset the Origin Remote

If the remote is already set to a different URL, update it:

git remote set-url origin https://git.code.sf.net/p/crossfire/crossfire-arch

If the `origin` remote doesn't exist, add it back:

git remote add origin https://git.code.sf.net/p/crossfire/crossfire-arch

Step 4: Fetch Updates from the Original Repository

Fetch the latest changes from the original repository:

git fetch origin

Step 5: Verify and Work with the Repository

Confirm the repository is now pointing to the correct remote URL:

git remote -v

You can now pull or push changes as needed:

git pull origin [branch-name]
git push origin [branch-name]

IMPORTANT: Make sure to either recollect the archetype or recompile the server again to go back to use the master Archetypes

More Information

How can you tell which archetype code base you are using?

The command git status will show you. Check the line of text that starts with On branch

Here's sample output for master:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Here's sample output for Spell_shuffle:

$ git status
On branch Spell_shuffle
Your branch is up to date with 'origin/Spell_shuffle'.

nothing to commit, working tree clean

Code Repository

Browse or preview the code base via web browser

Change Summary

The following content is manually generated and may not always be up to date with current SVN revision.

Future Ideas arising from the spell shuffle

- Limit the total number of a spells (and even spell schools) that a player can know at one time (perhaps also associated with player level) so that players must choose their preferred spells. This would make spells at different levels desirable as a player progress but not clog up the players spells at high levels (e.g. small bullet, bullet, large bullet). It also means players have to give more consideration how they want to play than simply learning everything.

  1. Add more spells at high levels for the schools.
    1. Evokers could have something like animate weapon (evoke weapon?) that materialises and controls whatever weapon they have previously seen? holding?.
    2. Summoners could have something like a perpetual ball lightning (that doesn't destroy items).
    3. Sorcerors could have a ball of draining magic? perhaps attacks with confuse, slow, paralyze?