From 469408c07f36d5c120340f1d195bb9b23b0aa3e3 Mon Sep 17 00:00:00 2001 From: "kts of kettek (nyaa)" Date: Wed, 20 Jun 2018 23:55:43 -0700 Subject: [PATCH] Increase magic odds, add magic, add 'who functionality --- .gitignore | 1 + common/treasure.c | 2 +- configure.ac | 2 +- include/treasure.h | 2 +- lib/artifacts | 263 ++++++++++++++++++++++++++++++++------------- lib/exp_table | 84 +++++++-------- server/c_misc.c | 20 ++++ 7 files changed, 253 insertions(+), 121 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5761abc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.o diff --git a/common/treasure.c b/common/treasure.c index f26e8e2..f66c9e4 100644 --- a/common/treasure.c +++ b/common/treasure.c @@ -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 diff --git a/configure.ac b/configure.ac index d506e5a..cb27424 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/include/treasure.h b/include/treasure.h index 5ca17e7..23bc2d7 100644 --- a/include/treasure.h +++ b/include/treasure.h @@ -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 diff --git a/lib/artifacts b/lib/artifacts index 6b3d9ae..3e4f474 100644 --- a/lib/artifacts +++ b/lib/artifacts @@ -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 diff --git a/lib/exp_table b/lib/exp_table index 48de7e9..11bb54e 100644 --- a/lib/exp_table +++ b/lib/exp_table @@ -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 diff --git a/server/c_misc.c b/server/c_misc.c index d976a4a..e29db23 100644 --- a/server/c_misc.c +++ b/server/c_misc.c @@ -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;