User Tools

Site Tools


lua:changelog

Log of changes affecting lua scripting API including changes to prog triggers.

3/21/2016

  1. Add CH.ascents and CH.subclass.

3/15/2016

  1. Global log() no longer takes format arguments.
  2. log() now has optional 2nd argument to send to wiznet.

3/14/2016

  1. Add oprog command trigger (Bobble).

2/14/2016

  1. Add oprog merge trigger.

2/10/2016

  1. Add CH.savesphys, CH.savesmagic.

2/7/2016

  1. Add db.exec(), db.escape(), db.libversion().
  2. Add CH.godname, CH.religionrank, CH.faith.

10/26/2015

  1. Remove OBJ:wear() and OBJPROTO:wear().
  2. Add OBJ.weartype and OBJPROTO.weartype.

10/19/2015

  1. Add oprog death trigger.

10/10/2015

  1. Add CH.dicenumber and CH.dicetype.

10/5/2015

  1. Add CH:setoffensive().
  2. Adjust all EXIT methods with side effects to security 1 (from 0).

9/27/2015

  1. Recall now honors aprog enter, aprog renter, and rprog enter triggers.
  2. gtransfer() returns false if transfer failed for any CH.
  3. Gate spell now honors rprog exit trigger.
  4. Summon spell now honors rprog exit, aprog rexit, aprog exit, aprog enter, aprog renter, rprog enter triggers.
  5. Teleport spell now honors rprog exit, aprog rexit, aprog exit, aprog enter, aprog renter, rprog enter triggers.
  6. Word of recall spell now honors rprog exit, aprog rexit, aprog exit, aprog enter, aprog renter, rprog enter triggers.
  7. Transfer() and gtransfer() now honors rprog exit, aprog rexit, aprog exit triggers (already honored aprog enter, aprong renter, rprog enter, oprog greet, mprog greet).
  8. Fixed order of trigger processing when entering portals. Add check for oprog move trigger.
  9. Added area scoped 'shared' table.

9/26/2015

  1. Add prereset and postreset triggers for area and room progs.

8/9/2015

  1. Add oprog move trigger.

5/10/2015

  1. OBJ.weapontype settable

4/26/2015

  1. Add global awardptitle()
  2. CH.questpoints settable.
  3. Add CH.ptitle and CH.ptitles.

4/1/2015

  1. Add CH.waitcount and CH.stopcount.

3/29/2015

  1. Add 'rest' and 'sleep' oprog triggers.

2/5/2015​

  1. arguments() global is now security 0 (was NOSCRIPT).

1/27/2015

  1. Add forceget() and forceset() global functions.
  2. Add start_con_handler() global function.

1/23/2015

  1. Make OBJ.attacktype settable.
  2. Add OBJ:setweaponflag().

1/22/2015

  1. Add CH.master and CH.leader.
  2. Replace CH:gecho() with global gecho().

1/14/2015

  1. Add purge() and reset() to ROOM and AREA.

1/10/2015

  1. Add BOSSACHV and BOSSREC types (for boss achievements).

1/7/2015

  1. Add aprog connect trigger.
  2. Add rprog connect trigger.
  3. Add global gettime().

1/2/2015

  1. Add OBJ:setexitflag

12/23/2014

  1. Add oprog drink trigger.

12/1/2014

  1. CH.hitroll and CH.damroll no longer settable.
  2. Add hitrollbase (get/set), hrpcnt (set), damrollbase (get/set), drpcnt (set) to CH.
  3. Add CH.ac (get), CH.acbase (get/set), CH.acpcnt (set).

7/28/2014

  1. acpierce, acbash, acslash, acexotic properties of OBJ, and OBJPROTO replaced by 'ac'.

6/28/2014

  1. Add CH.id

6/16/2014

  1. Add DESCRIPTOR type.
  2. Add CH.achpoints.

6/15/2014

  1. Add oprog sit and wake triggers.

6/13/2014

  1. Add CH.scroll.

6/11/2014

  1. Add HELP type.

6/1/2014

  1. Add oprog quaff, open, unlock triggers.

5/10/2014

  1. Add CH.attacktype, CH.damtype, CH.damnoun.

5/4/2014

  1. Add mudconfig global function.

5/1/2014

  1. Remove CH:setlevel() completely (previously deprecated and replaced with CH.level setter).

4/27/2014

  1. Rename CH:isvisible() to CH:cansee().
  2. The following methods were changed to boolean properties for CH:
    1. ispc
    2. isnpc
    3. isevil
    4. isgood
    5. isneutral
    6. ischarm
    7. isfollow
    8. isactive
    9. isimmort

4/26/2014

  1. CH:carries() returns item count if found.

4/24/2014

  1. Optionally copy luavals with OBJ:clone().
  2. Create echoaround() and echoat() global funcs and deprecate the CH versions.
  3. CH:goto() autolooks unless explicitly not.
  4. Add OBJPROTO.rating.

3/23/2014

  1. Add OBJPROTO:adjustdamage().

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.
  4. Added global 'getobjlist'.
  5. Added the following otype specific flag check methods for OBJ and OBJPROTO:
    1. exitflag
    2. portalflag
    3. furnitureflag
    4. weaponflag
    5. containerflag
  6. Added the following otype specific get fields for OBJ and OBJPROTO:
    1. light
    2. arrowcount
    3. arrowdamage
    4. arrowdamtype
    5. spelllevel
    6. chargestotal
    7. chargesleft
    8. spellname
    9. toroom
    10. maxpeople
    11. maxweight
    12. healbonus
    13. manabonus
    14. spells
    15. acpierce
    16. acbash
    17. acslash
    18. acexotic
    19. weapontype
    20. numdice
    21. dicetype
    22. attacktype
    23. key
    24. capacity
    25. weightmult
    26. liquidtotal [renamed from 'total']
    27. liquidleft [renamed from 'left']
    28. liquid
    29. poisoned
    30. foodhours
    31. fullhours
    32. silver
    33. 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

lua/changelog.txt · Last modified: 2016/03/21 21:55 by vodur