luaalter
3/13/2014 1. Add rvnum() for CH, OBJ, ROOM, AREA. 2/23/2014 1. Add support for imm/vuln/res for CH:addaffect. 2/22/2014 1. Add AFFECT type. 2. Add CH:addaffect() and CH:removeaffect(). 2/14/2014 1. OBJ.room is settable. 2. Add global 'getrandomroom()'. 2/13/2014 1. Add CH:describe(). (Graves) 2/8/2014 1. Allow CH.pet to be set for PCs. 1/28/2014 1. Add damnoun and liquidcolor for OBJ/OBJPROTO. 2. Add apply() for OBJ and OBJPROTO. 1/27/2014 1. Added CH.pet. 2. Added MOBPROTO.count. 1/23/2014 1. Added SHOP type. 2. Added global getshoplist() and MOBPROTO.shop. 1/17/2014 1. Added CH.description. 2. Added OBJ:clone(). 1/15/2014 1. Added setvuln(), setimmune(), setresist() for CH. 1/1/2014 1. Added OBJ.timer. 12/27/2013 1. Added 'stance' to CH. 2. Added PROG type. 3. Added MTRIG, OTRIG, ATRIG, RTRIG types. 4. Added OBJPROTO.otrigs, MOBPROTO.mtrigs, AREA.atrigs, ROOM.rtrigs. 5. Added 'mprogs', 'oprogs', 'aprogs', 'rprogs' to AREA. 12/26/2013 1. Added 'luaquery' command. 2. Fixed code to actually check security (was only working for global funcs). 3. All 'set' fields changed to security 5. 4. Added util.strlen_color. 5. Added util.truncate_color_string. 6. Added util.format_color_string. 7. Added 'damavg' for OBJ and OBJPROTO (weapon only). 8. Added 'ingame' for CH, OBJ. 9. Added 'area' field for OBJPROTO, MOBPROTO. 10. All "check only" methods left with security 0, all others are set to 1. 12/20/2013 1. Added 'description' get and set for OBJ, get for OBJPROTO. 2. Added rprog 'try' trigger. 12/17/2013 1. Added 'ingame' field for OBJPROTO/MOBPROTO/ROOM. 12/16/2013 1. Added 'damtype' get field for OBJ/OBJPROTO. 12/15/2013 1. Added 'other' section to luahelp. 2. 'setact' no longer accepts "not <flagname>" syntax. 3. 'setact' will error if called on PC. 3. Added global 'getobjlist'. 4. Added the following otype specific flag check methods for OBJ and OBJPROTO: a. exitflag b. portalflag c. furnitureflag d. weaponflag e. containerflag 5. Added the following otype specific get fields for OBJ and OBJPROTO: a. light b. arrowcount c. arrowdamage d. arrowdamtype e. spelllevel f. chargestotal g. chargesleft h. spellname i. toroom j. maxpeople k. maxweight l. healbonus m. manabonus n. spells o. acpierce p. acbash q. acslash r. acexotic s. weapontype t. numdice u. dicetype v. attacktype w. key x. capacity y. weightmult z. liquidtotal [renamed from 'total'] aa. liquidleft [renamed from 'left'] ab. liquid ac. poisoned ad. foodhours ae. fullhours af. silver ag. gold 12/11/2013 1. Added loop protection to lua interpreter (luai). 2. Added oprog hit trigger. 3. Added oprog prehit trigger. 12/10/2013 1. Setting CH.level preserves hp/mana/move ratios. 2. Added CH.hitroll, CH.damroll. 12/9/2013 1. Added util lib: a. capitalize [Gammon] b. trim [Gammon] c. convert_time [Gammon] d. format_list [Shinosuke] e. pluralize [Shinosuke] 12/4/2013 1. Updated CH:tell() to take (string, fstring) args. 2. Added global getpc(). 12/3/2013 1. Added CH:tell() 2. Changed CH:skilled() to return skill percentages. 3. Added global 'dammessage'. 11/26/2013 1. Added AREA.objprotos. 2. Added portalflag(), exitflag() to OBJ and OBJPROTO (for type "portal" only). 11/23/2013 1. Added 'loadfunction' for CH,OBJ,ROOM,AREA. 11/21/2013 1. Added 'scriptdump' command. 2. pagetochar() has optional third argument to print 'raw'. 11/19/2013 1. Reworked the game object interface code which now facilitates 'luahelp' system. 2. Added settable fields for CH and OBJ. 3. Added alternate argument list for CH:damage(). 11/14/2013 1. Added room prog 'look' trigger. 11/9/2013 1. Added room progs. 2. Added tprint, loadprog, loadscript, loadstring, savetbl, loadtbl to ROOM. 11/7/2013 1. Added lock,unlock,open,close methods for EXIT. 2. Added EXIT:setflag(). 11/5/2013 1. Added ROOM.contents. 2. Added OBJ.liquid, OBJ.total, OBJ.left (for fountains only). 3. Added ROOM.sector. 4. Added loadstring method for CH/OBJ/AREA. 11/4/2013 1. Update delay() and cancel() to accept tag optional arguments. 11/3/2013 1. Added oprog 'fight' trigger. 11/2/2013 1. Added timer trigger for mob/obj/area progs. 2. Added delay() and cancel() methods for CH, OBJ, AREA. 3. Added debug.show(). 10/25/2013 1. Added CH.fighting. 2. Added MOBPROTO. 3. Added getmobproto(). 4. Added CH.proto. 5. Addded AREA.mobprotos. 10/23/2013 1. CH:mload() returns a CH (or nil) 10/22/2013 1. Added oprog lore trigger. 2. Added oprog enter trigger. 10/19/2013 1. Added oprog look trigger. 10/18/2013 1. Added god commands to global functions. 2. Add AREA.security, AREA.ingame. 3. Added OBJ.wearlocation. 4. Add ROOM.players, ROOM.mobs. 10/17/2013 1. Added AREA:flag() 10/16/2013 1. tostring(CH), tostring(OBJ), tostring(OBJPROTO), tostring(ROOM), tostring(AREA) will return names. 2. Add global functions 'getarealist', 'clearloopcount'. 3. Add RESET type. 4. Add CH:olc(). 5. Add AREA.rooms. 6. Add ROOM.resets. 7. CH:reward can optionally accept reward( target[CH], type[string], value[number] ) call signature. 8. CH:kill can optionally accept kill( target[CH] ) call signature. 9. CH:assist can optionally accept assist( target[CH] ) call signature. 10. CH:echoaround can optionally accept echoaround( target[CH], message[string] ) call signature. 11. CH:echoat can optionally accept echoat( target[CH], message[string] ) call signature. 12. CH:remort can optionally accept remort( target[CH] ) call signature. 13. CH:qset can optionally accept qset( target[CH], id[string/number], value[number] timer[number]} limit[number]}) call signature 14. CH:qadvance can optionally accept qadvance( target[CH], id[string/number] increment[number]} ) call signature. The following functions will accept format arguments: 1. sendtochar 2. pagetochar 3. log 4. CH:emote 5. CH:asound 6. CH:gecho 7. CH:zecho 8. CH:kill 9. CH:assist 10. CH:junk 11. CH:echo 12. CH:echoaround 13. CH:echoat 14. CH:mload 15. CH:purge 16. CH:goto 17. CH:at 18. CH:transfer 19. CH:gtransfer 20. CH:otransfer 21. CH:force 22. CH:gforce 23. CH:vforce 24. CH:cast 25. CH:damage 26. CH:remove 27. CH:remort 28. CH:qset 29. CH:qadvance 30. CH:reward 31. CH:peace 32. CH:restore 33. CH:setact 34. CH:hit 35. CH:mdo 36. CH:mobhere 37. CH:objhere 38. CH:mobexists 39. CH:objexists 40. CH:act 41. CH:offensive 42. CH:immune 43. CH:carries 44. CH:wears 45. CH:has 46. CH:uses 47. CH:say 48. CH:vuln 49. CH:resist 50. CH:skilled 51. CH:ccaries 52. EXIT:flag 53. ROOM:flag 54. ROOM:echo 55. OBJPROTO:wear 56. OBJPROTO:extra 57. OBJ:echo 58. OBJ:wear 59. OBJ:extra 60. AREA:echo 10/14/2013 1. Added security to progs, some functions will check for it. 2. New AREA properties: people, players, mobs 3. New global function 'getobjlist'. Changes from appr 8/1/2013 to 10/9/2013 1. Fixed infinite loop protection. 2. Include new argument "trigtype" for m/o/aprogs. 3. Lua support for 'mob remember' and 'mob delay' and related functionality removed as it's unnecessary. 4. CH:flee() is deprecated along with 'mob flee' in standard mprogs. 5. name() and vnum(), mpcnt(), remort() global functions deprecated. 6. OBJ and OBJPROTO 'type' field renamed to 'otype' to prevent some behind the scenes conflict. 7. OBJ.inroom renamed to OBJ.room to be consistent with CH.room. 8. 'areafname' field for CH, OBJ, AREA is deprecated 9. Script max length increased to 100000 characters (only achievable with loadscript, otherwise limited to 10000). 10. loadscript can no longer return values. 11. 'pcall' and 'xpcall' removed from scripting environments to prevent messing with infinite loop protection. The following were changed from global functions to methods of CH, OBJ, and AREA: 1. loadprog 2. loadscript 3. tprint 4. savetbl 5. loadtbl The following were changed from global functions to methods of CH: 1. mobhere 2. objhere 3. mobexists 4. objexists 5. ispc 6. canattack 7. isnpc 8. isgood 9. isevil 10. isneutral 11. isimmort 12. ischarm 13. isfollow 14. isactive 15. isvisible 16. affected 17. act 18. offensive [renamed from 'off'] 19. immune [renamed from 'imm'] 20. carries 21. wears 22. has 23. uses 24. qstatus 25. vuln 26. resist [renamed from 'res'] 27. skilled 28. ccarries New global functions: 1. sendtochar 2. pagetochar 3. tprintstr 4. getcharlist 5. getmoblist 6. getplayerlist