Changeset 421

Show
Ignore:
Timestamp:
08/01/07 10:47:10 (1 year ago)
Author:
takkaria
Message:

Potion changes (#313):

  • !SInvis -> True Seeing: cure blind, see invisible
  • LoseStat -> brawn, intellect, contemplation, nimbleness, toughness, pleasing (taken from Ey)
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/edit/object.txt

    r415 r421  
    17921792E:GAIN_STR 
    17931793 
    1794 N:226:Weakness 
     1794N:226:Brawn 
    17951795G:!:d 
    17961796I:75:16:0 
    17971797W:3:0:4:0 
    1798 A:33:1 to 1
    1799 F:EASY_KNOW 
    1800 E:LOSE_STR 
     1798A:33:10 to 2
     1799F:EASY_KNOW 
     1800E:BRAWN 
    18011801 
    18021802N:227:Restore Strength 
     
    18161816E:GAIN_INT 
    18171817 
    1818 N:229:Stupidity 
     1818N:229:Intellect 
    18191819G:!:d 
    18201820I:75:17:0 
     
    18221822A:33:5 to 15 
    18231823F:EASY_KNOW 
    1824 E:LOSE_IN
     1824E:INTELLEC
    18251825 
    18261826N:230:Restore Intelligence 
     
    18401840E:GAIN_WIS 
    18411841 
    1842 N:232:Naivety 
     1842N:232:Contemplation 
    18431843G:!:d 
    18441844I:75:18:0 
     
    18461846A:33:5 to 15 
    18471847F:EASY_KNOW 
    1848 E:LOSE_WIS 
     1848E:CONTEMPLATION 
    18491849 
    18501850N:233:Restore Wisdom 
     
    18641864E:GAIN_CHR 
    18651865 
    1866 N:235:Ugliness 
     1866N:235:Pleasing 
    18671867G:!:d 
    18681868I:75:21:0 
     
    18701870A:33:1 to 15 
    18711871F:EASY_KNOW 
    1872 E:LOSE_CHR 
     1872E:PLEASING 
    18731873 
    18741874N:236:Restore Charisma 
     
    18881888E:CURE_LIGHT 
    18891889 
    1890 N:238:Clumsiness 
     1890N:238:Nimbleness 
    18911891G:!:d 
    18921892I:75:19:0 
     
    18941894A:33:1 to 10 
    18951895F:EASY_KNOW 
    1896 E:LOSE_DEX 
    1897  
    1898 N:239:Sickliness 
     1896E:NIMBLENESS 
     1897 
     1898N:239:Toughness 
    18991899G:!:d 
    19001900I:75:20:0 
     
    19021902A:33:1 to 10 
    19031903F:EASY_KNOW 
    1904 E:LOSE_CON 
     1904E:TOUGHNESS 
    19051905 
    19061906N:240:Cure Serious Wounds 
     
    21072107E:RESIST_COLD 
    21082108 
    2109 N:263:See Invisible 
     2109N:263:True Seeing 
    21102110G:!:d 
    21112111I:75:25:0 
  • trunk/src/Makefile.inc

    r174 r421  
    2626$(addsuffix .o, init1 init2 randart): init.h 
    2727$(addsuffix .o, cmd4 files init1 init2 util squelch save load wizard1): z-file.h 
    28  
     28$(addsuffic .o, init1 effects): effects.h 
  • trunk/src/cmd1.c

    r400 r421  
    757757                                dam = damroll(1, 4); 
    758758                                take_hit(dam, name); 
    759                                 (void)do_dec_stat(A_STR); 
     759                                (void)do_dec_stat(A_STR, FALSE); 
    760760                        } 
    761761                        else 
     
    773773                                dam = damroll(1, 4); 
    774774                                take_hit(dam, name); 
    775                                 (void)do_dec_stat(A_DEX); 
     775                                (void)do_dec_stat(A_DEX, FALSE); 
    776776                        } 
    777777                        else 
     
    789789                                dam = damroll(1, 4); 
    790790                                take_hit(dam, name); 
    791                                 (void)do_dec_stat(A_CON); 
     791                                (void)do_dec_stat(A_CON, FALSE); 
    792792                        } 
    793793                        else 
  • trunk/src/cmd2.c

    r400 r421  
    275275                msg_print("A small needle has pricked you!"); 
    276276                take_hit(damroll(1, 4), "a poison needle"); 
    277                 (void)do_dec_stat(A_STR); 
     277                (void)do_dec_stat(A_STR, FALSE); 
    278278        } 
    279279 
     
    283283                msg_print("A small needle has pricked you!"); 
    284284                take_hit(damroll(1, 4), "a poison needle"); 
    285                 (void)do_dec_stat(A_CON); 
     285                (void)do_dec_stat(A_CON, FALSE); 
    286286        } 
    287287 
  • trunk/src/effects.c

    r420 r421  
    400400                } 
    401401 
     402                case EF_BRAWN: 
     403                { 
     404                        if (do_inc_stat(A_STR)) *ident = TRUE; 
     405                        if (dec_stat(A_INT, 10, TRUE)) *ident = TRUE; 
     406                        return TRUE; 
     407                } 
     408 
     409                case EF_INTELLECT: 
     410                { 
     411                        if (do_inc_stat(A_INT)) *ident = TRUE; 
     412                        if (do_dec_stat(A_CON, TRUE)) *ident = TRUE; 
     413                        return TRUE; 
     414                } 
     415 
     416                case EF_CONTEMPLATION: 
     417                { 
     418                        if (do_inc_stat(A_WIS)) *ident = TRUE; 
     419                        if (do_dec_stat(A_DEX, TRUE)) *ident = TRUE; 
     420                        return TRUE; 
     421                } 
     422 
     423                case EF_TOUGHNESS: 
     424                { 
     425                        if (do_inc_stat(A_CON)) *ident = TRUE; 
     426                        if (do_dec_stat(A_CHR, TRUE)) *ident = TRUE; 
     427                        return TRUE; 
     428                } 
     429 
     430                case EF_NIMBLENESS: 
     431                { 
     432                        if (do_inc_stat(A_DEX)) *ident = TRUE; 
     433                        if (do_dec_stat(A_STR, TRUE)) *ident = TRUE; 
     434                        return TRUE; 
     435                } 
     436 
     437                case EF_PLEASING: 
     438                { 
     439                        if (do_inc_stat(A_CHR)) *ident = TRUE; 
     440                        if (do_dec_stat(A_WIS, TRUE)) *ident = TRUE; 
     441                        return TRUE; 
     442                } 
     443 
    402444                case EF_LOSE_STR: 
    403445                case EF_LOSE_INT: 
     
    410452 
    411453                        take_hit(damroll(5, 5), "stat drain"); 
    412                         (void)do_dec_stat(stat); 
     454                        (void)do_dec_stat(stat, FALSE); 
    413455                        *ident = TRUE; 
    414456 
     
    419461                { 
    420462                        take_hit(damroll(10, 10), "poisonous food"); 
    421                         (void)do_dec_stat(A_CON); 
     463                        (void)do_dec_stat(A_CON, FALSE); 
    422464                        *ident = TRUE; 
    423465 
     
    485527                case EF_TMD_INFRA: 
    486528                { 
    487                         if (inc_timed(TMD_SINFRA, 100 + damroll(4, 25))) 
    488                                 *ident = TRUE; 
     529                        if (inc_timed(TMD_SINFRA, 100 + damroll(4, 25))) *ident = TRUE; 
    489530                        return TRUE; 
    490531                } 
     
    492533                case EF_TMD_SINVIS: 
    493534                { 
    494                         if (inc_timed(TMD_SINVIS, 12 + damroll(2, 6))) 
    495                                *ident = TRUE; 
     535                        if (clear_timed(TMD_BLIND)) *ident = TRUE; 
     536                        if (inc_timed(TMD_SINVIS, 12 + damroll(2, 6))) *ident = TRUE; 
    496537                        return TRUE; 
    497538                } 
     
    500541                { 
    501542                        if (clear_timed(TMD_BLIND)) *ident = TRUE; 
    502                         if (inc_timed(TMD_TELEPATHY, 12 + damroll(6, 6))) 
    503                                 *ident = TRUE; 
     543                        if (inc_timed(TMD_TELEPATHY, 12 + damroll(6, 6))) *ident = TRUE; 
    504544                        return TRUE; 
    505545                } 
  • trunk/src/effects.h

    r420 r421  
    8484        EFFECT(GAIN_CHR,       FALSE, "restores and increases your charisma") 
    8585        EFFECT(GAIN_ALL,       FALSE, "restores and increases all your stats") 
     86        EFFECT(BRAWN,          FALSE, "raises your strength at the expense of your intelligence") 
     87        EFFECT(INTELLECT,      FALSE, "raises your intelligence at the expense of your constitution") 
     88        EFFECT(CONTEMPLATION,  FALSE, "raises your wisdom at the expense of your dexterity") 
     89        EFFECT(TOUGHNESS,      FALSE, "raises your constitution at the expense of your charisma") 
     90        EFFECT(NIMBLENESS,     FALSE, "raises your dexterity at the expense of your strength") 
     91        EFFECT(PLEASING,       FALSE, "raises your charisma at the expense of your wisdom") 
    8692        EFFECT(LOSE_STR,       FALSE, "reduces your strength with damage 5d5") 
    8793        EFFECT(LOSE_INT,       FALSE, "reduces your intelligence with damage 5d5") 
     
    102108 
    103109        EFFECT(TMD_INFRA,      FALSE, "extends your infravision by 50 feet for 4d25+100 turns") 
    104         EFFECT(TMD_SINVIS,     FALSE, "allows you to see invisible things for 2d6+12 turns") 
    105         EFFECT(TMD_ESP,        FALSE, "gives you telepathy for 6d6+12 turns and cures blindness") 
     110        EFFECT(TMD_SINVIS,     FALSE, "cures blindness and allows you to see invisible things for 2d6+12 turns") 
     111        EFFECT(TMD_ESP,        FALSE, "cures blindness and gives you telepathy for 6d6+12 turns") 
    106112 
    107113        EFFECT(ENLIGHTENMENT,  FALSE, "completely lights up and magically maps the level") 
  • trunk/src/externs.h

    r420 r421  
    518518extern bool heal_player(int perc, int min); 
    519519extern void warding_glyph(void); 
    520 extern bool do_dec_stat(int stat); 
     520extern bool do_dec_stat(int stat, bool perma); 
    521521extern bool do_res_stat(int stat); 
    522522extern bool do_inc_stat(int stat); 
  • trunk/src/melee1.c

    r399 r421  
    965965 
    966966                                        /* Damage (stat) */ 
    967                                         if (do_dec_stat(A_STR)) obvious = TRUE; 
     967                                        if (do_dec_stat(A_STR, FALSE)) obvious = TRUE; 
    968968 
    969969                                        break; 
     
    976976 
    977977                                        /* Damage (stat) */ 
    978                                         if (do_dec_stat(A_INT)) obvious = TRUE; 
     978                                        if (do_dec_stat(A_INT, FALSE)) obvious = TRUE; 
    979979 
    980980                                        break; 
     
    987987 
    988988                                        /* Damage (stat) */ 
    989                                         if (do_dec_stat(A_WIS)) obvious = TRUE; 
     989                                        if (do_dec_stat(A_WIS, FALSE)) obvious = TRUE; 
    990990 
    991991                                        break; 
     
    998998 
    999999                                        /* Damage (stat) */ 
    1000                                         if (do_dec_stat(A_DEX)) obvious = TRUE; 
     1000                                        if (do_dec_stat(A_DEX, FALSE)) obvious = TRUE; 
    10011001 
    10021002                                        break; 
     
    10091009 
    10101010                                        /* Damage (stat) */ 
    1011                                         if (do_dec_stat(A_CON)) obvious = TRUE; 
     1011                                        if (do_dec_stat(A_CON, FALSE)) obvious = TRUE; 
    10121012 
    10131013                                        break; 
     
    10201020 
    10211021                                        /* Damage (stat) */ 
    1022                                         if (do_dec_stat(A_CHR)) obvious = TRUE; 
     1022                                        if (do_dec_stat(A_CHR, FALSE)) obvious = TRUE; 
    10231023 
    10241024                                        break; 
     
    10311031 
    10321032                                        /* Damage (stats) */ 
    1033                                         if (do_dec_stat(A_STR)) obvious = TRUE; 
    1034                                         if (do_dec_stat(A_DEX)) obvious = TRUE; 
    1035                                         if (do_dec_stat(A_CON)) obvious = TRUE; 
    1036                                         if (do_dec_stat(A_INT)) obvious = TRUE; 
    1037                                         if (do_dec_stat(A_WIS)) obvious = TRUE; 
    1038                                         if (do_dec_stat(A_CHR)) obvious = TRUE; 
     1033                                        if (do_dec_stat(A_STR, FALSE)) obvious = TRUE; 
     1034                                        if (do_dec_stat(A_DEX, FALSE)) obvious = TRUE; 
     1035                                        if (do_dec_stat(A_CON, FALSE)) obvious = TRUE; 
     1036                                        if (do_dec_stat(A_INT, FALSE)) obvious = TRUE; 
     1037                                        if (do_dec_stat(A_WIS, FALSE)) obvious = TRUE; 
     1038                                        if (do_dec_stat(A_CHR, FALSE)) obvious = TRUE; 
    10391039 
    10401040                                        break; 
  • trunk/src/spells2.c

    r420 r421  
    151151 * Lose a "point" 
    152152 */ 
    153 bool do_dec_stat(int stat
     153bool do_dec_stat(int stat, bool perma
    154154{ 
    155155        bool sust = FALSE; 
     
    178178 
    179179        /* Attempt to reduce the stat */ 
    180         if (dec_stat(stat, 10, FALSE)) 
     180        if (dec_stat(stat, 10, perma)) 
    181181        { 
    182182                /* Message */