--- crossfire/lib ---


Protocol:pserver User:anonymous
Machine:crossfire.cvs.sourceforge.net CVSROOT:/cvsroot/crossfire

Filename: artifacts
Revision 1.56qal21 2006/08/12 14:21:00 +42 -0
Add some artifact descriptions, courtesy of Raphael Quinet
Show difference between Revision 1.55 and 1.56
Revision 1.55akirschbaum 2006/06/01 13:04:46 +1 -1
lib/artifacts: Fix typo to not anymore generate "boots of of steel".
Show difference between Revision 1.54 and 1.55
Revision 1.54akirschbaum 2006/06/01 12:59:29 +1 -1
Fix typo to make bows of Sorig work.
Show difference between Revision 1.53 and 1.54
Revision 1.53mikeeusa 2005/10/04 01:12:28 +34 -0
CVS: crossfire: added amethyst to the treasureslist and artifact file where needed, while not the most valuable of gems, it's not often found around these parts
Show difference between Revision 1.52 and 1.53
Revision 1.52akirschbaum 2005/07/15 16:52:42 +2 -2
lib/artifacts: Fix type of lockpicks of quality/high quality.
Show difference between Revision 1.51 and 1.52
Revision 1.51temitchell 2004/09/19 22:19:05 +15 -0
- add Cloak of Unholy Protection and recipie for same as per patch
1030545
Show difference between Revision 1.50 and 1.51
Revision 1.50temitchell 2004/08/27 20:12:12 +1 -1
- fix typo item->items
Show difference between Revision 1.49 and 1.50
Revision 1.49temitchell 2004/08/27 20:09:34 +2 -2
- change paths to python files
Show difference between Revision 1.48 and 1.49
Revision 1.48temitchell 2004/02/28 20:38:19 +45 -4
- add some items to artifacts for Ixa, also work in the rapier a bit
Show difference between Revision 1.47 and 1.48
Revision 1.47mwedel 2003/09/13 00:01:36 +102 -100
Updated code for skill + spell code. skills and spells are now objects.
tuning these now means changing the archetypes. New spells can now
be added just by making a new archetype. Lots of code cleanup
also done.
MSW 2003-09-12
Show difference between Revision 1.46 and 1.47
Revision 1.46garbled 2003/02/13 23:50:36 +18 -18
Lots of updates here:
common/item.c: make item_power stop showing up in ring short descriptions.
fix some of the items that were double-displaying materialnames, like
mithril mithril chainmail.
common/loader.l: add tooltype
common/utils.c: Unless the object is armour or weapons, pick the first
materialname we find. Now, newly generated diamonds will stack.
Fix name_to_material to return NULL if it finds nothing, fixes
navar_city/museum crash.
Change set_materialname to take a materialtype_t argument, allowing
functions to manually set the materialname, rather than let the
randomizer pick for them.
include/define.h: Add TOOL and BUILDFAC for item building.
include/object.h: add tooltype for item building.
include/materials.h: add M_SPECIAL. Set this in an object, to prevent things
like mithril mithril chainmail. This is primarily only needed in
artifacts, because they change the base material of the arch. Also
useful in things like the demonspawn shield, and on maps.
lib/artifacts: sprinkle M_SPECIAL around.
server/player.c: remove auto_heal. This never should have been
committed, and was never referenced by any code.
server/c_object.c: add item building, but add it disabled. Too many
bugfixes were tied in with this code to cleanly add them. When
enabled, this code will add player item building, similar to
create to take place. Requires a host of graphics and arches
to be useable.
Show difference between Revision 1.45 and 1.46
Revision 1.45garbled 2003/02/06 02:20:34 +28 -13
regen these files.
materials: add a slew of new materialtypes. Too many people to list
helped me come up with these.
atrifacts: twiddle some of the materialtypes in here.. to avoid certain
wierd combinations of objects and materialnames.
Show difference between Revision 1.44 and 1.45
Revision 1.44garbled 2003/01/29 18:20:24 +8 -1
Allow artifact file to set materialname. Sprinke materialnames on some
of the obvious artifacts.
Show difference between Revision 1.43 and 1.44
Revision 1.43mwedel 2002/10/17 02:15:40 +0 -2
server/c_chat.c: Fix some buffer overflow issues - use snprintf or
use new_draw_info_format instead.
lib/artifacts: Update some cloaks not to require a minimum magic level,
since that will never be met.
MSW 2002-10-16
Show difference between Revision 1.42 and 1.43
Revision 1.42mwedel 2002/07/14 23:57:12 +134 -2
-- Start body commit notes --
Major commit. This adds body locations which is used for equipping items.
Equipment has information which body part it gets equipped to, and monsters
have information on how which body locations they can have.

As part of this work, I also did a lot of code cleanup.

To use this, you must use up to date archetypes - the ones included
in this commit are fine - just make sure you install them. If
you don't, players will not be able to equip items.

common/arch.c: Initialize body_used to be same as body_info for
archetypes - this way when monsters are created, they can
start equipping items right away.
common/exp.c: update new_exp() - some flags it checked for before no longer
exist or have new names.
common/info.c: describe_item() now takes second parameter - update
dump_abilities to use new calling convention.
common/item.c: Add table that describes the body_info locations and
their names. Add functions that calculate item power for objects
that don't have it set. Update display functions to show
item_power in items. Update describe_monster() - use_horn/wand/rod
merged into just use_range. Modify describe_item() to take second
paramater - who the item is being described for. Show item_power
in describe_item.
common/living.c: Pull out MAXLEVEL from being defined in this file -
define in in define.h, since other files use it. Add NUM_STATS
define - replace hard coded values of having just 7 stats with it.
Update change_abil to not display that the player has a new
attacktype when equipping a bow that has it - fix_player() ignores
the attacktype of the bow, so it was incorrect information.
fix_player(): Initialize player ranges structure to null -
will get filled in by code in function, updated to deal with
updating the body_used data from body_info in the objects.
Replace instances of last_heal with gen_sp_armour. Rearrange
some code to make function more readable.
common/loader.c, common/loader.l: Remove the variable_const information - no
longer needed and confusing for new people when adding in new object
elements. Add set_body_info() - parses the string from the load file and
sets the appropriate array element. Add check_loaded_object() - does
sanity checking for an object after finished loading - replaces need for
long processing directive in the actual rules by having seperate function.
Remove unused flags from load directives (apply_once, no_pretext,
can_apply), add some new ones (item_power, gen_sp_armour), update others
to can_use_range. Replace flag_links with simple array that contains the
name for each corresponding flag. Update get_ob_diff to not use the V_
values and just include the actual string name - all recent changes have
done this, just updated for old stuff. Update get_ob_diff to save new
values that have been added.
common/object.c: clear_object: Modify to use memset to clear
the structure to zero - this is less error prone than listing
all the specific values, and probably faster. Also, makes it
easier to add new elements - no need to update object.c in most
cases.
common/player.c: Remove get_player_ob routine - this is now merged
in with get_player_ob in server/player.c. Remove generate_ext_title -
not used.
common/readable.c: Update to pass second argument to describe_item.
common/treasure.c: Update to calculate item_power of generated items.
Clean up a lot of code formatting. Update add_abilities
to use gen_sp_armour values, not last heal (note, it appears
the last_heal values weren't being used before). Update
calls to describe item to take second parameter.
doc/Developers/objects: Update will_apply notes, add note about
item_power, body location.
include/define.h: Comment out unused flags (flag_apply_once, flag_paralyzed,
flag_no_pretext, flag_ready_rod, flag_read_horn). Add flag_use_shield.
rename flag_use_wand to flag_use_range. rename flag_ready_wand to
flag_ready_range. Add flag_ready_scroll. Update ARMOUR_SPELLS access
macro. Add AP_PRINT flag to apply flags. Add CAN_APPLY_.. return types
for can_apply_object function.
include/includes.h: add strftime, mktime checks to this file.
include/libproto.h: rebuilt.
include/living.h: Add NUM_STATS define, update extern declarations
to use it for sizing.
include/loader.h: remove the V_.. info and xbm_.. externs that were not
used.
include/newserver.h: Remove ext_tile information.
include/object.h: Add Body_Locations structure, NUM_BODY_LOCATIONS define.
Add definitions for WILL_APPLY values. Clean up object structure -
formatting is now consistent, ordering of values groups values
together more logically. Update all types to use the int8/int16/int32
types. Several unused fields removed.
include/player.h: Update rangetype enum. Add unapplymode enum.
Clean up player structure - type updates, unused fields removed,
formatting fixed up.
include/spells.h: remove range_name extern. Update SpellTypeFrom
field to combine wand/rod/horn into spellMisc - none of the
spell casting code was differentiating these.
include/sproto.h: rebuilt.
lib/Makefile.in: Add new help files (applymode, bind, brace)
lib/archetypes: rebuilt for body_info, gen_sp_armour, item_power,
can_use_shield information.
lib/artifacts: updated for item_poer and gen_sp_armour changes.
lib/treasures: remove unused _force for player treasure.
plugin/plugin_python.c: Change FLAG_USE_WAND to FLAG_USE_RANGE.
server/apply.c: Move stftime, mktime to include/includes.h. Remove
draw_find() - one line function can just as easly be in the
code itself. Update calls to long_desc to pass second parameter.
move gravestone_text() to player.c file. Add direction parameter to
apply_scroll() - in this way monsters can use it properly.
Remove dead code. Update apply_special function. Add
unapply_special(), get_item_from_body_location(), unapply_for_ob(),
and can_apply_object() functions.
server/attack.c: Remove SET_FLAG(op, FLAG_PARALYZED) line - no code
was ever checking status of FLAG_PARALYZED.
server/c_misc.c: add command_body() which dumps body information for
player. Update who as idle element in player structure removed -
was not being used by anything. Add command_applymode() to
set players prefered unapply method. Remove calls to unlock_player()
in various functions - unlock_player() has not done anything
meaningful for a while.
server/c_object.c: Modify long_desc to take a second parameter
which is who is examing the object. this is needed so that we
can pass it down to some of the lower level functions.
Update calls to describe_item to pass this second parameter.
remove FLAG_NO_PRETEXT code - no archetyps were using it. When
examining objects, also tell player where to put them on.
server/c_range.c: Update legal_range() - we now store the object that
is responsible for a range in the player object, so code is
much simpler. Update change_spell() to not destroy golem
just by readying another spell - we now let players regain control
of golems after switching to another range. Update change_spell
to use item name of object for range description.
server/c_wiz.c: remove reference to count_left from player object -
field removed from structure.
server/commands.c: add new commands (applymode, body) to command dispatch
table.
server/login.c: Remove unlock_player() and lock_player() and calls to it -
current checking of names at login should be sufficient to
prevent duplicates. Remove dead code from check_name. Update
load/save code for unapply mode value. Add set_flag(op,
FLAG_USE_SHIELD) if player is allowed to use armor - needed since
flag_use_shield is really a class feature and so is not automatically
updated for old player files.
server/main.c: Remove references to count_left. memset marker object to
NULL - seems to increase stability on metalforge server.
server/monster.c: Many updates related to the body info - monsters follow some
rules as players. Add monster_should_cast_spell function - monsters will
use this for all spellcasting related actions (abilities, scrolls, wands,
etc). Update for merged rod/horn/wand ranges. Update bow use by monsters
- they don't actually need to equip it to fire - this way we don't need to
constantly swap the monsters weapons between the bow and melee item. Use
fire_bow from player.c for most of the work. Modify scroll usage -
monster will use it when player is near, not when it first picks it up.
Add FLAG_READY_SCROLL to denote the monster has a scroll to use. Also,
monster now casts it in appropriate direciton. Merge the
monster_use_wand/rod/horn into monster_use_range. Modify
check_good_weapon and check_good_armour to just look at the stats of the
two items without needing the monster to apply it first.
server/player.c: Print motd in green so it is more noticable. Update
get_player function to do work it did before as well as that of
get_player_ob. Have get_player take a parameter which is the object of
the player if he has one. Modify to use memset to clear the player
structure - more sure fire than explicitly listing values to initialize.
Remove calls to unlock_player. Modify fire_bow so that monsters can also
use the function. Add fire_misc_object() to fire_wand/rod/horn - removes
code from fire(). Add gravesetone_text() to this file.
server/shop.c: Update to pass second parameter to describe_item().
server/skill_util.c: Update check_skill_to_fire since there are fewer
rangetypes now. change range_scroll name to range_golem, as that is
a bit more accurate for what it actually does. Modify show_skills()
to show player his item power and total of items he has equipped.
server/skills.c: Add second paramater to long_desc, remove references to
count_left.
server/spell_effect.c: Add second paramater to long_desc, remove references to
count_left. Update range_scroll to range_golem
server/spell_util.c: remove references to count_left. Update messages
if player trying to cast where he can't with new range names.
socket/info.c: Update range information and how we display what it is -
we will use the object name of the range if available. Remove
reference last_known_spell, last_shoot, last_spell, last_value
player structure fields.
socket/init.c: Remove ext_title information.
socket/request.c: Add element for life_stealing in the resistance array.
Remove references to idle, count_left in player structure. remove
ext2 title information.
MSW 2002-07-14
-- End body commit notes --
Show difference between Revision 1.41 and 1.42
Revision 1.41gros 2002/05/01 06:15:32 +4 -0
Fixed the Occidental Mages scripted items. Those were broken since the switch from Guile to Python
Show difference between Revision 1.40 and 1.41
Revision 1.40jbontje 2002/04/13 18:01:40 +114 -5
New formulae and artifacts. Some of the arrows made a bit more powerfull.
cryo 2002-04-14
Show difference between Revision 1.39 and 1.40
Revision 1.39michtoen 2001/11/04 18:00:10 +3 -97
- emoved GUILE scripts from items.
- fixed missed # comment sign
- fixed 2 typos in resist_xxx strings

MT
Show difference between Revision 1.38 and 1.39
Revision 1.38darth_bob 2001/11/02 01:05:59 +187 -0
Some new artifacts, including the shield of holy light. Please check that this is okay, note the chance for that shield.. very rare indeed
dnh 2/11/01
Show difference between Revision 1.37 and 1.38
Revision 1.37darth_bob 2001/11/01 19:16:25 +35 -4
Added the image to the artifacts file
dnh 2/11/01
Show difference between Revision 1.36 and 1.37
Revision 1.36gros 2001/06/23 08:02:51 +4 -4
Corrected the script associated with the Ring of Occidental Mages - Gros 2001-06-23
Show difference between Revision 1.35 and 1.36
Revision 1.35gros 2001/06/14 06:12:28 +116 -0
Added two small items demonstrating script capabilities - Gros 14-06-2001
Show difference between Revision 1.34 and 1.35
Revision 1.34mwedel 2001/05/24 23:29:01 +2 -6
lib/artifacts: Reduce potency of Poison artifact foods.
server/apply.c: When eating poison artifact foods, hit player with poison
attacktype instead of just subtracting hp. This way people with
poison resistance get proper benefit. MSW 2001-05-24
Show difference between Revision 1.33 and 1.34
Revision 1.33mardahl 2001/05/24 12:11:14 +37 -0
Changed the material type to adamant for a lot of the higher-end
things.
--PeterM 5/24/2001
Show difference between Revision 1.32 and 1.33
Revision 1.32mardahl 2001/05/14 23:56:54 +0 -2
Gloves of Havoc not what was intended.
TOo much cut and paste.
Removed attacktype electrical and resist_electricity.

--PeterM 5/14/2001
Show difference between Revision 1.31 and 1.32
Revision 1.31mardahl 2001/05/10 14:22:10 +2 -2
Changed path_denied to repelled for talismans of fire and frost.
Show difference between Revision 1.30 and 1.31
Revision 1.30darth_bob 2001/05/05 02:55:16 +1 -1
Revoked drain potion change at Mark's request, dnh
Show difference between Revision 1.29 and 1.30
Revision 1.29darth_bob 2001/05/05 02:41:14 +1 -1
Change drain potions to 100%, 50% is just completely useless right now.. dnh
Show difference between Revision 1.28 and 1.29
Revision 1.28mardahl 2001/05/01 06:52:49 +2 -3
Remove the controversial changes. For now. :)

PeterM
Show difference between Revision 1.27 and 1.28
Revision 1.27mardahl 2001/04/30 03:27:08 +208 -3
New priest-oriented rings.
Show difference between Revision 1.26 and 1.27
Revision 1.26mardahl 2001/04/27 02:14:30 +1 -1
Fixed a spelling error. "resist_confuse" should be
"resist_confusion"

Pm
Show difference between Revision 1.25 and 1.26
Revision 1.25darth_bob 2001/04/22 06:44:29 +1 -0
-1 str on gaea cloak, dnh
Show difference between Revision 1.24 and 1.25
Revision 1.24darth_bob 2001/04/21 19:53:25 +38 -22
More small changes, added beholder leader, fixed leaders hp, fiddled with cloaks abit more, dnh
Show difference between Revision 1.23 and 1.24
Revision 1.23darth_bob 2001/04/21 19:14:49 +16 -0
Cloak of gaea, dnh
Show difference between Revision 1.22 and 1.23
Revision 1.22darth_bob 2001/04/21 18:18:53 +109 -6
New cloaks and randomized the face of cloak of woe and doom, dnh
Show difference between Revision 1.21 and 1.22
Revision 1.21darth_bob 2001/04/21 02:20:52 +12 -12
Artifacts, fixed stupid stupid mistake (no more .pngs ;),dnh
Show difference between Revision 1.20 and 1.21
Revision 1.20darth_bob 2001/04/21 01:55:19 +37 -1
Support for pretty colours plus new cloak (cloak of the magi), dnh
Show difference between Revision 1.19 and 1.20
Revision 1.19mardahl 2001/04/20 07:50:05 +3 -1
Some more face fixes.
Show difference between Revision 1.18 and 1.19
Revision 1.18mardahl 2001/04/20 06:50:01 +24 -0
More face updates for potions.
Not working, but hey...
Show difference between Revision 1.17 and 1.18
Revision 1.17mardahl 2001/04/20 06:01:39 +28 -6
Tryinig to have nice faces for artifact potions.
Show difference between Revision 1.16 and 1.17
Revision 1.16darth_bob 2001/04/16 08:38:46 +105 -3
Added new face image support for the artifact monsters, dnh
Show difference between Revision 1.15 and 1.16
Revision 1.15mardahl 2001/04/15 01:32:08 +67 -29
Misc. tunings, etc., one more artifact.
Show difference between Revision 1.14 and 1.15
Revision 1.14mardahl 2001/02/26 16:56:22 +1 -1
Correct a small spelling mistake.
Show difference between Revision 1.13 and 1.14
Revision 1.13peterm 2001/02/01 19:04:32 +2 -2
Turned down occurrence of other rings of fighting too
Show difference between Revision 1.12 and 1.13
Revision 1.12peterm 2001/02/01 19:03:47 +1 -1
Turned down the occurrence of Ring of War
Show difference between Revision 1.11 and 1.12
Revision 1.11peterm 2001/01/31 20:16:19 +8 -4
Some minor tweaks on the new rings for fighters.
Show difference between Revision 1.10 and 1.11
Revision 1.10peterm 2001/01/31 20:06:35 +92 -0
New artifact rings:

Thieves: (chance 20)
speed +2
Dex +2
stealth
infravision

Fighting: (chance 32)
Str +1
Con +1
wc +2
dam +2
regen +1

Combat: (chance 16)
Str +1
Con +1
Dex +1
wc +1
magic -1
resist_physical +10
dam +2
regen +1


Strife: (chance 8)
Str +2
Con +2
Dex +2
Wis -1
Int -1
wc +2
dam +3
magic -1
regen +2
ac +1
resist_physical +20

War: (chance 2)
Str +3
Con +3
Dex +3
Wis -1
Int -1
Pow -2
magic -5
speed +4
regen +2
wc +3
resist_physical +30
resist_magic -50
Show difference between Revision 1.9 and 1.10
Revision 1.9avogl 2000/12/15 09:38:05 +32 -76
Numerous adjustments to the random-artifacts
concerning PR.
Show difference between Revision 1.8 and 1.9
Revision 1.8avogl 2000/12/13 21:52:19 +14 -14
PR-patch by AndreasV:

Main features of this patch:

o Negative resistances are calculated in a "logical" way.
For example: +30 and -30 makes a total of zero.

o Vulnerabilities work as "caps" for protection. E.g.:
While wearing one item with fire -20, you cannot get more
than fire +80 overall from equipment.
If one is forced to live with high vulnerability
(like wraith: fire -30), you can still use a potion to go
beyond the cap.

o Potions work completely different than before. The so-called
"immunity-potions" grant an absolute value of 90% protection
(independant from the players's equipment and properties),
there are also very rare ones with 95% and cheap ones with 50%.
If the player has already got more protection than the potion
provides, drinking it won't have any effect.

o Cursed potions are working now (have been broken before).
They give a temporare vulnerability, but can be overriden
by uncursed potions of the same res.-type.

o Protection spells work different than potions. Their effect
does add to the player's equipment. The amount of protection
granted depends on the caster's skill level and path
attunes (if a related spellpath exists). The maximum a player
can get is currently 60% (at wisdom lvl 107 & path_attuned).

o When the player's state of resistance changes, a new kind
of message shows up: The percentage of the new resistance
is displayed: e.g. "You resistance to fire rises to 67%".

o When a player got hit by dam<1 it used to be zero. To make
the calculations more accurate, for 0<dam<1 I "simulate"
a floating point value-effect now. Example: If the correct
damage value would be 0.4, there is 40% chance for dam=1, else
dam=0. For 0.7, ther'd be 70% chance for dam=1... etc.
Without that feature, there would most of the times be no
difference between resistance 95 and 100.
Show difference between Revision 1.7 and 1.8
Revision 1.7peterm 2000/12/04 22:14:33 +131 -66
*** empty log message ***
Show difference between Revision 1.6 and 1.7
Revision 1.6cvs 2000/12/03 18:40:05 +6 -2
Checking for partial resistance code. Various minor errors also fixed
(compiler warnings, unused variables, Makefile.in changes, etc).
PR code also includes support to send protections to the client.
Show difference between Revision 1.5 and 1.6
Revision 1.5peterm 2000/10/29 16:52:09 +19 -0
Updated archetypes/images.
Show difference between Revision 1.4 and 1.5
Revision 1.4cvs 1999/11/01 02:05:09 +0 -1
crossfire.cfb is automatically created - an old version was checked in that
failed to work with other updates.

spell_params and artifacts had minor typos that have been corrected.

MSW 11/1/1999
Show difference between Revision 1.3 and 1.4
Revision 1.3damn 1999/09/17 14:52:43 +548 -303
- changed some artifacts and added others to match some weapons,
armour, and bows with each god
- changed some chance settings so that most items will be found
more often than once per decade
- minor spelling fixes -- DAMN
Show difference between Revision 1.2 and 1.3
Revision 1.2cvs 1999/08/06 16:08:17 +1 -1
patches from DAMN, renaming potion of strength to potion of
might, adding nrof to various archetypes so they'll stack,
adding weight 3 to power crystal archetype so it'll
be the same as the one in the GemTunnel.
Show difference between Revision 1.1 and 1.2
Revision 1.1uid200 1999/04/02 13:10:04 None
Initial revision
First version
Revision 1.1.1.1uid200 1999/04/02 13:10:04 +0 -0
First CVS revsion: crossfire-0.95.3
Show difference between Revision 1.1 and 1.1.1.1


File made using version 1.98 of cvs2html by leaf at 2011-07-21 18:39