Increase magic odds, add magic, add 'who functionality

master
kts of kettek (nyaa) 2018-06-20 23:55:43 -07:00
parent 51aecfb4d9
commit 469408c07f
7 changed files with 253 additions and 121 deletions

1
.gitignore vendored 100644
View File

@ -0,0 +1 @@
*.o

View File

@ -1894,7 +1894,7 @@ void give_artifact_abilities(object *op, object *artifact) {
}
/** Give 1 re-roll attempt per artifact */
#define ARTIFACT_TRIES 2
#define ARTIFACT_TRIES 4
/**
* Decides randomly which artifact the object should be

View File

@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_REVISION($Id: configure.ac 11579 2009-02-24 17:46:24Z lalo $)
AC_INIT([crossfire], [1.12-beta], [crossfire-devel@listserv.real-time.com])
AC_INIT([crossfire], [1.12-gamma], [crossfire-devel@listserv.real-time.com])
AC_CONFIG_AUX_DIR([utils])
AC_CONFIG_SRCDIR([server/main.c])
AM_INIT_AUTOMAKE

View File

@ -35,7 +35,7 @@
#define TREASURE_H
/** Chance an item becomes an artifact if not magic is 1 in this value. */
#define CHANCE_FOR_ARTIFACT 20
#define CHANCE_FOR_ARTIFACT 15
/** Maximum magic for difficulty/magic mapping. */
#define MAXMAGIC 4

View File

@ -313,9 +313,120 @@ Object NONE
end
#
# Weapons:
#
# CUSTOM @@
Allowed all
chance 20
Object Uliun (minor)
type 15
value 100
Pow 1
weight 100
item_power 1
msg
This weapon is coated in a special liquid that enhance the wielder's
magical prowess.
endmsg
end
Allowed all
chance 10
Object Uliun (moderate)
type 15
value 200
Pow 2
weight 100
item_power 2
msg
This weapon is coated in a special liquid that enhance the wielder's
magical prowess.
endmsg
end
Allowed all
chance 5
Object Uliun (major)
type 15
value 400
Pow 2
Int 1
weight 100
item_power 3
msg
This weapon is coated in a special liquid that enhance the wielder's
magical prowess.
endmsg
end
Allowed all
chance 8
Object Chthonic
type 15
value 600
dam 2
weight 100
item_power 1
resist_magic 15
msg
This scarce metal, forged with dragon's blood, provides the user with
a defense against magical attacks. Additionally, any weapons made with
it retain their sharp edge, even in the face of heavy abuse.
endmsg
end
Allowed all
chance 12
Object the Celestial (minor)
type 15
value 400
slaying demon
dam 1
weight 100
item_power 1
resist_magic 4
resist_fire 4
resist_cold 4
resist_acid 4
msg
A lesser enchantment forged by the lower angels under Valriel's court,
this provides some protection against the denizens of Gorokh.
endmsg
end
Allowed all
chance 8
Object the Celestial (moderate)
type 15
value 700
slaying demon
dam 2
weight 100
item_power 1
resist_magic 7
resist_fire 7
resist_cold 7
resist_acid 7
msg
A lesser enchantment forged by the lower angels under Valriel's court,
this provides some protection against the denizens of Gorokh.
endmsg
end
Allowed all
chance 6
Object the Celestial (major)
type 15
value 1000
slaying demon
dam 4
weight 100
item_power 2
resist_magic 15
resist_fire 15
resist_cold 15
resist_acid 15
msg
A lesser enchantment forged by the lower angels under Valriel's court,
this provides some protection against the denizens of Gorokh.
endmsg
end
## END CUSTOM @@
#
Allowed all
chance 20
Object Ilrya
type 15
value 10
@ -326,7 +437,7 @@ endmsg
end
#
Allowed all
chance 5
chance 10
Object Lythander
type 15
value 20
@ -336,7 +447,7 @@ item_power 1
end
#
Allowed all
chance 5
chance 10
Object Fear
type 15
value 30
@ -374,7 +485,7 @@ wc -3
end
#
Allowed all
chance 10
chance 20
Object Gnarg
type 15
value 10
@ -385,7 +496,7 @@ item_power 1
end
#
Allowed all
chance 6
chance 12
Object Zormola
type 15
value 15
@ -401,7 +512,7 @@ item_power 2
end
#
Allowed all
chance 5
chance 10
Object Ixalovh
type 15
value 10
@ -412,7 +523,7 @@ item_power 1
end
#
Allowed axe,axe_2,axe_3,axe_4,axe_5,battle_axe,stoneaxe,poleaxe,morningstar,large_morningstar,nunchacu_1,nunchacu_2,hammer,mace,mace_2,lspear,spear,club,quarterstaff,big_club,stonehammer,stake,bonecrusher,mjoellnir,skullcleaver
chance 20
chance 40
Object Vitality
type 15
value 50
@ -423,7 +534,7 @@ item_power 1
end
#
Allowed all
chance 20
chance 40
Object Kragi
type 15
value 50
@ -434,7 +545,7 @@ item_power 1
end
#
Allowed all
chance 6
chance 12
Object Morgul
type 15
value 15
@ -454,7 +565,7 @@ endmsg
end
#
Allowed all
chance 5
chance 10
Object Slay Ogre
type 15
slaying ogre
@ -464,7 +575,7 @@ item_power 2
end
#
Allowed all
chance 15
chance 30
Object Valriel
type 15
slaying demon
@ -482,7 +593,7 @@ item_power 2
end
#
Allowed all
chance 15
chance 30
Object Gorokh
type 15
slaying angel
@ -502,7 +613,7 @@ item_power 2
end
#
Allowed all
chance 8
chance 16
Object the Devourers
type 15
value 30
@ -516,7 +627,7 @@ item_power 2
end
#
Allowed all
chance 3
chance 6
Object Doom
type 15
damned 1
@ -532,7 +643,7 @@ magic 1
end
#
Allowed all
chance 20
chance 40
Object Crolmi
type 15
value 40
@ -559,7 +670,7 @@ wc -5
end
#
Allowed all
chance 2
chance 4
Object Slay Troll
type 15
slaying troll
@ -569,7 +680,7 @@ item_power 2
end
#
Allowed all
chance 2
chance 4
Object Slay Undead
type 15
slaying undead
@ -586,7 +697,7 @@ item_power 2
end
#
Allowed all
chance 1
chance 2
Object Slay Dragon
type 15
slaying dragon
@ -596,7 +707,7 @@ item_power 2
end
#
Allowed all
chance 1
chance 2
Object Slay Beholder
type 15
slaying beholder
@ -607,7 +718,7 @@ item_power 3
end
#
Allowed all
chance 10
chance 20
Object Rhyz
type 15
value 80
@ -623,7 +734,7 @@ item_power 2
end
#
Allowed all
chance 10
chance 20
Object Glamdri
type 15
value 150
@ -642,7 +753,7 @@ item_power 5
end
#
Allowed all
chance 5
chance 10
Object Berserkergang
type 15
value 15
@ -676,7 +787,7 @@ end
# created, it will not be created that often.
#
Allowed all
chance 10
chance 20
Object Magic Hitting
type 15
magic 3
@ -686,7 +797,7 @@ item_power 1
end
#
Allowed axe,axe_2,axe_3,axe_4,axe_5,battle_axe,hammer,skullcleaver,mjoellnir,bonecrusher,frost_hammer
chance 10
chance 20
Object Mostrai
type 15
magic 1
@ -696,7 +807,7 @@ weight 115
end
#
Allowed sword,sabre,rapier,scimitar,light_sword,katana_1,falchion
chance 90
chance 180
Object Occidental Mages
type 15
magic 2
@ -715,7 +826,7 @@ end
# Swords (subtype of weapons)
#
Allowed sword,sabre,rapier,scimitar,light_sword,katana_1,falchion
chance 10
chance 20
Object Poisoning
type 15
value 20
@ -728,7 +839,7 @@ end
# Metal Weapons
#
Allowed dagger,light_sword,shortsword,shortsword_2,taifu_1,trident,axe,axe_2,axe_3,axe_4,axe_5,battle_axe,poleaxe,morningstar,large_morningstar,hammer,mace,mace_2,lspear,spear,sword,sword_2,sword_3,sabre,rapier,rapier,scimitar,katana_1,falchion,broadsword,broadsword_2
chance 5
chance 10
Object Sorig
type 15
magic 1
@ -740,7 +851,7 @@ item_power 1
end
#
Allowed trident
chance 5
chance 10
Object Ixalovh
type 15
magic 2
@ -755,7 +866,7 @@ item_power 2
end
#
Allowed dagger,axe,axe_2,axe_3,axe_4,axe_5,battle_axe,sword,sword_2,sword_3,sabre,rapier,scimitar,light_sword,katana_1,falchion,broadsword,broadsword_2,shortsword,shortsword_2,morningstar,large_morningstar,hammer,mace,mace_2,lspear,spear,poleaxe,taifu_1,trident
chance 5
chance 10
Object Ruggilli
type 15
magic 1
@ -769,7 +880,7 @@ end
# Daggers (subtype of weapons)
#
Allowed dagger
chance 10
chance 20
Object Poisoning
type 15
value 20
@ -779,7 +890,7 @@ item_power 1
end
#
Allowed dagger
chance 10
chance 20
Object Paralysis
type 15
value 30
@ -789,7 +900,7 @@ item_power 1
end
#
Allowed dagger
chance 10
chance 20
Object Madness
type 15
value 10
@ -802,7 +913,7 @@ end
# Helmets
#
Allowed helmet, crown
chance 6
chance 12
Object Xebinon
type 34
value 35
@ -820,7 +931,7 @@ item_power 1
end
#
Allowed all
chance 1
chance 2
Object Blindness
type 34
is_blind 1
@ -829,7 +940,7 @@ cursed 1
end
#
Allowed full helmet,helmet
chance 1
chance 2
Object Dark Vision
type 34
can_see_in_dark 1
@ -838,7 +949,7 @@ item_power 1
end
#
Allowed full helmet,helmet
chance 1
chance 2
Object Might
type 34
value 500
@ -850,7 +961,7 @@ item_power 3
end
#
Allowed full helmet
chance 20
chance 40
Object Valriel
type 34
value 50
@ -861,7 +972,7 @@ item_power 2
end
#
Allowed full helmet
chance 4
chance 8
Object Argoth
type 34
value 25
@ -881,7 +992,7 @@ item_power 3
end
#
Allowed !crown
chance 10
chance 20
Object Ilrya
type 34
value 10
@ -892,7 +1003,7 @@ endmsg
end
#
Allowed !crown
chance 5
chance 10
Object Lythander
type 34
value 20
@ -920,7 +1031,7 @@ weight 1000
end
#
Allowed all
chance 6
chance 12
Object Stupidity
type 34
value 15
@ -930,7 +1041,7 @@ damned 1
end
#
Allowed all
chance 5
chance 10
Object Sorig
type 34
value 20
@ -942,7 +1053,7 @@ item_power 3
end
#
Allowed all
chance 3
chance 6
Object Doom
type 34
damned 1
@ -976,7 +1087,7 @@ end
# Crowns start here (subset of helmets )
#
Allowed crown
chance 1
chance 2
Object the Magi
type 34
value 500
@ -987,7 +1098,7 @@ item_power 6
end
#
Allowed crown
chance 1
chance 2
Object Fire
type 34
value 100
@ -998,7 +1109,7 @@ item_power 2
end
#
Allowed crown
chance 10
chance 20
Object Lordliness
magic 2
type 34
@ -1008,7 +1119,7 @@ item_power 2
end
#
Allowed crown
chance 6
chance 12
Object Rulership
type 34
value 15
@ -1019,7 +1130,7 @@ item_power 2
end
#
Allowed crown
chance 4
chance 8
Object Might
type 34
value 25
@ -1032,7 +1143,7 @@ end
# Shields
#
Allowed all
chance 10
chance 20
Object Ilrya
type 33
value 10
@ -1061,7 +1172,7 @@ weight 1000
end
#
Allowed all
chance 2
chance 4
Object Deflection
type 33
value 50
@ -1077,7 +1188,7 @@ item_power 2
end
#
Allowed all
chance 8
chance 16
Object Mostrai
type 33
value 24
@ -1087,7 +1198,7 @@ item_power 1
end
#
Allowed all
chance 8
chance 16
Object Gnarg
type 33
magic 1
@ -1098,7 +1209,7 @@ resist_physical 10
end
# This one is amazingly rare, I would be surprised if I ever saw one!
Allowed high_shield
chance 1
chance 2
difficulty 10
Object holy light
type 33
@ -1159,7 +1270,7 @@ value 5
end
#
Allowed all
chance 8
chance 16
Object Gnarg
type 33
magic 1
@ -1175,7 +1286,7 @@ end
# Gauntlets / Gloves
#
Allowed gauntlets
chance 5
chance 10
Object Sorig
type 100
resist_physical 8
@ -1187,7 +1298,7 @@ item_power 3
end
#
Allowed gloves
chance 10
chance 20
Object Havok
type 100
dam 4
@ -1199,7 +1310,7 @@ item_power 2
end
#
Allowed gloves
chance 10
chance 20
Object Sorig
type 100
resist_physical 5
@ -1210,7 +1321,7 @@ item_power 2
end
#
Allowed all
chance 20
chance 40
Object bladed steel
type 100
resist_physical 10
@ -1222,7 +1333,7 @@ value 40
end
#
Allowed gauntlets
chance 20
chance 40
Object the Titans
type 100
resist_physical 10
@ -1232,7 +1343,7 @@ value 40
end
#
Allowed gloves
chance 20
chance 40
Object marksmanship
type 100
resist_physical 2
@ -1243,7 +1354,7 @@ item_power 4
end
#
Allowed gloves
chance 20
chance 40
Object oiled leather
material 8200
materialname leather
@ -1259,7 +1370,7 @@ end
# Armour
#
Allowed all
chance 10
chance 20
Object Ilrya
type 16
value 10
@ -1270,7 +1381,7 @@ endmsg
end
#
Allowed all
chance 20
chance 40
Object Mass
type 16
value 5
@ -1288,7 +1399,7 @@ weight 1000
end
#
Allowed all
chance 6
chance 12
Object Clumsiness
type 16
value 15
@ -1297,7 +1408,7 @@ cursed 1
end
#
Allowed plate_mail,scale_mail
chance 6
chance 12
Object Valriel
type 16
value 20
@ -1309,7 +1420,7 @@ item_power 2
end
#
Allowed plate_mail,scale_mail,b_scale_mail,b_plate_mail
chance 6
chance 12
Object Gorokh
type 16
value 15
@ -1323,7 +1434,7 @@ item_power 3
end
#
Allowed plate_mail,scale_mail,b_scale_mail,b_plate_mail
chance 6
chance 12
Object Gnarg
type 16
value 15
@ -1336,7 +1447,7 @@ item_power 2
end
#
Allowed plate_mail,scale_mail,dragon_mail,b_scale_mail
chance 6
chance 12
Object Blazing Fires
type 16
value 55
@ -1349,7 +1460,7 @@ item_power 3
end
#
Allowed all
chance 10
chance 20
Object Gaea
type 16
value 25
@ -1364,7 +1475,7 @@ item_power 5
end
#
Allowed all
chance 6
chance 12
Object Protection
type 16
value 15
@ -1385,7 +1496,7 @@ item_power 3
end
#
Allowed all
chance 6
chance 12
Object Berwean
type 16
value 15
@ -1435,7 +1546,7 @@ value 5
end
#
Allowed plate_mail,b_plate_mail
chance 1
chance 2
Object Power
type 16
value 150
@ -1459,7 +1570,7 @@ item_power 4
end
#
Allowed plate_mail
chance 5
chance 10
Object Prowess
type 16
resist_physical 30
@ -1482,7 +1593,7 @@ endmsg
end
#
Allowed leather_armour,mithril_chainmail
chance 10
chance 20
Object Irial
type 16
value 10
@ -1497,7 +1608,7 @@ end
# Robes (subtype of armor)
#
Allowed robe
chance 10
chance 20
Object Displacement
type 16
value 100
@ -1510,7 +1621,7 @@ item_power 3
end
#
Allowed robe
chance 10
chance 20
Object metal weave
face metalrobe.111
material 2

View File

@ -115,12 +115,50 @@ max_level 115
# New hard exp table.
0,2000,4000, 8000, 16000,32000,64000,125000,250000, 500000,
#C 0,2000,4000, 8000, 16000,32000,64000,125000,250000, 500000,
#C # 10
#C 900000,1400000,2000000,2600000,
#C 3300000,4100000,4900000,5700000,6600000, 7500000,
#C # 20
#C 8500000, 9500000, 10600000, 11800000, 13000000
#C 14300000, 15600000, 17000000, 18500000, 20000000
#C # 30
#C 21700000, 23400000, 25200000, 27000000, 29000000
#C 31100000, 33300000, 35600000, 38000000, 40500000
#C # 40
#C 43200000, 46000000, 48900000, 52000000, 55200000
#C 58600000, 62100000, 65900000, 69800000, 73900000
#C # 50
#C 78200000, 82700000, 87500000, 92500000, 97800000
#C 103300000, 109100000, 115200000, 121500000, 128200000
#C # 60
#C 135300000, 142700000, 150400000, 158600000, 167100000
#C 176100000, 185600000, 195500000, 205900000, 216800000
#C # 70
#C 228300000, 240300000, 252900000, 266200000, 280200000
#C 294800000, 310200000, 326300000, 343200000, 361000000
#C # 80
#C 379700000, 399300000, 419900000, 441500000, 464200000
#C 488100000, 513100000, 539400000, 567000000, 596000000
#C # 90
#C 626400000, 658300000, 691900000, 727100000, 764100000
#C 802900000, 843700000, 886500000, 931500000, 978700000
#C # 100
#C 1028200000, 1080300000, 1134900000, 1192300000, 1252500000
#C 1315800000, 1382200000, 1451900000, 1525100000, 2100000000
#C # 110
#C 4200000000, 8400000000, 16800000000,
#C 33600000000, 67200000000
# New exp for better gain rate. Main effect is for
# lower levels so it is takes longer to gain a level.
# after about level 20, this matches table C
0,5000,10000, 20000, 40000,80000,150000,300000,500000, 800000,
# 10
900000,1400000,2000000,2600000,
3300000,4100000,4900000,5700000,6600000, 7500000,
1100000,1500000,1900000,2400000,
3000000,4600000,5300000,6000000, 6800000, 7600000,
# 20
8500000, 9500000, 10600000, 11800000, 13000000
8500000, 9500000, 10600000, 11800000, 13000000
14300000, 15600000, 17000000, 18500000, 20000000
# 30
21700000, 23400000, 25200000, 27000000, 29000000
@ -149,41 +187,3 @@ max_level 115
# 110
4200000000, 8400000000, 16800000000,
33600000000, 67200000000
#D # New exp for better gain rate. Main effect is for
#D # lower levels so it is takes longer to gain a level.
#D # after about level 20, this matches table C
#D 0,5000,10000, 20000, 40000,80000,150000,300000,500000, 800000,
#D # 10
#D 1100000,1500000,1900000,2400000,
#D 3000000,4600000,5300000,6000000, 6800000, 7600000,
#D # 20
#D 8500000, 9500000, 10600000, 11800000, 13000000
#D 14300000, 15600000, 17000000, 18500000, 20000000
#D # 30
#D 21700000, 23400000, 25200000, 27000000, 29000000
#D 31100000, 33300000, 35600000, 38000000, 40500000
#D # 40
#D 43200000, 46000000, 48900000, 52000000, 55200000
#D 58600000, 62100000, 65900000, 69800000, 73900000
#D # 50
#D 78200000, 82700000, 87500000, 92500000, 97800000
#D 103300000, 109100000, 115200000, 121500000, 128200000
#D # 60
#D 135300000, 142700000, 150400000, 158600000, 167100000
#D 176100000, 185600000, 195500000, 205900000, 216800000
#D # 70
#D 228300000, 240300000, 252900000, 266200000, 280200000
#D 294800000, 310200000, 326300000, 343200000, 361000000
#D # 80
#D 379700000, 399300000, 419900000, 441500000, 464200000
#D 488100000, 513100000, 539400000, 567000000, 596000000
#D # 90
#D 626400000, 658300000, 691900000, 727100000, 764100000
#D 802900000, 843700000, 886500000, 931500000, 978700000
#D # 100
#D 1028200000, 1080300000, 1134900000, 1192300000, 1252500000
#D 1315800000, 1382200000, 1451900000, 1525100000, 2100000000
#D # 110
#D 4200000000, 8400000000, 16800000000,
#D 33600000000, 67200000000

View File

@ -691,6 +691,8 @@ void display_who_entry(object *op, player *pl, const char *format) {
* - l the level of the character
* - m the map path the character is currently on
* - M the map name of the map the character is currently on
* - p the party the player belongs to @@@
* - A the race of the player @@@
* - r the region name (eg scorn, wolfsburg)
* - R the regional title (eg The Kingdom of Scorn, The Port of Wolfsburg)
* - i player's ip address
@ -728,6 +730,24 @@ void get_who_escape_code_value(char *return_val, int size, const char letter, pl
snprintf(return_val, size, "%u", pl->ob->count);
break;
case 'p':
if (pl->party)
snprintf(return_val, size, "%s", pl->party->partyname);
else
*return_val = '\0';
break;
case 'P':
if (pl->party)
snprintf(return_val, size, "of ");
else
*return_val = '\0';
break;
case 'A':
snprintf(return_val, size, "%s", pl->ob->race);
break;
case 'n':
snprintf(return_val, size, "\n");
break;