Advertisement
Lighta

Untitled

Feb 21st, 2012
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.26 KB | None | 0 0
  1. Index: clif.c
  2. ===================================================================
  3. --- clif.c    (revision 14431)
  4. +++ clif.c    (working copy)
  5. @@ -8910,6 +8910,11 @@
  6. {
  7.      const char* text = (char*)RFIFOP(fd,4);
  8.      int textlen = RFIFOW(fd,2) - 4;
  9. +    int i, castskill = 0;
  10. +    const struct { char text[16]; int id; } skills[] = {
  11. +            { "heal",        28 },
  12. +            { "cure",        35 },
  13. +        };
  14.  
  15.      char *name, *message;
  16.      int namelen, messagelen;
  17. @@ -8921,6 +8926,21 @@
  18.      if( is_atcommand(fd, sd, message, 1)  )
  19.          return;
  20.  
  21. +    for (i=0; i < ARRAYLENGTH(skills); i++) {
  22. +            if (strncmpi(message, skills[i].text, 16) == 0) {
  23. +                castskill = skills[i].id;
  24. +                break;
  25. +            }
  26. +    }
  27.  
  28.      if( sd->sc.data[SC_BERSERK] || (sd->sc.data[SC_NOCHAT] && sd->sc.data[SC_NOCHAT]->val1&MANNER_NOCHAT) )
  29.          return; //we don't want to override those
  30.  
  31. if(castskill && sd->regen.state.walk) { //let do that only if we can walk
  32.         struct npc_data* nd = npc_name2id("SkillCaster");
  33.         pc_setreg(sd,add_str("@skilltocast"),castskill);
  34.         if(nd && nd->subtype==SCRIPT) {
  35.             run_script(nd->u.scr.script, 0, sd->bl.id, nd->bl.id);
  36.             return;
  37.         }
  38.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement