====== 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 ^ |Evocation|Spells 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. | |Sorcery|Spells 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.| |Pyromancy|Spells 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. | |Summoning|Spells 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.| |Praying|Spells 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 [[https://sourceforge.net/p/crossfire/code/HEAD/tree/arch/branches/Spell_shuffle/SPELL_SHUFFLE_README|SPELL_SHUFFLE_README]] if considering using these changes. ===== Discussion ===== Mailing list threads: * http://mailman.metalforge.org/pipermail/crossfire/2017-July/013461.html * http://mailman.metalforge.org/pipermail/crossfire/2017-August/013493.html * http://mailman.metalforge.org/pipermail/crossfire/2017-September/013506.html External References: * https://public.tableau.com/profile/david.hurst6129#!/vizhome/CrossfireSpellsVisualisation/Spellassignmentdashboard?publish=yes * https://docs.google.com/spreadsheets/d/1OIq3cIOpQoU9EZLkq8njLqY9GXqsVJ4TkYzUe_5IpKg/edit?usp=sharing ===== 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: * Merge the `Spell_shuffle` branch into your current branch: git merge spell_shuffle/Spell_shuffle * Or, check out the `Spell_shuffle` branch to switch to it: 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 [[server:server_compiling|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 * https://sourceforge.net/p/crossfire/crossfire-arch/ci/Spell_shuffle/tree/ ===== Change Summary ===== The following content is manually generated and may not always be up to date with current SVN revision. * GitStats * [[https://crossfire.real-time.com/git/spell-shuffle/gitstats/index.html]] * ChangeLog * [[https://crossfire.real-time.com/git/spell-shuffle/gitlog/index.html]] ===== 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. - Add more spells at high levels for the schools. - Evokers could have something like animate weapon (evoke weapon?) that materialises and controls whatever weapon they have previously seen? holding?. - Summoners could have something like a perpetual ball lightning (that doesn't destroy items). - Sorcerors could have a ball of draining magic? perhaps attacks with confuse, slow, paralyze?