Tree | Branch | Item | Type | Fires when expected | Content as Expected | Bugs | Comments/future dev |
---|
Action |
|
|
|
|
|
| Possible add "you are attacked by" type information here. |
---|
| Heartbeat |
| Cache | Yes | Yes |
|
|
---|
|
| Damage_dealt |
| Yes |
---|
RoundCacheNo | Does not always update heartbeat or contain content from the correct heartbeats (see Round_Heartbeat_number). Output below | Round_Heartbeat_number | No | Fires every round, but sometimes "get stuck" with stale content. See notice below | Hunting | No | No contents | I am not sure this information is available in the game using normal commands, might want to add, or extend "fights", note that no helpfile exist on "fights" | Yes |
|
|
|
| Heartbeat_number |
| Yes | Yes |
|
|
---|
|
| Xp |
| Yes | Yes |
|
|
---|
|
| Damage_received |
| Yes | Yes |
|
|
---|
| Round |
| Cache | Yes | Yes* |
| observed issue with stale heartbeat, not repeatable |
---|
|
| Round_Heartbeat_number |
| Yes | Yes* |
| Request: Add "Singing/Playing", here or effects (bard) |
---|
|
| Calm |
| Yes |
---|
Calm | Yes* |
| I am not sure this information is available in the game using normal commands |
|
| Berserked |
| Yes |
---|
*Possibly indicate berserk level? | Yes |
| Shows Berserk levels - 0 → not in berserk or does not have berserk
- 1 → B1
- 2 → B2
- 3 → B3
|
Already covered in Effects |
|
| Protecting_here |
| Yes | Yes |
|
|
---|
|
| Fighting |
---|
NoNo contentsYes |
|
|
|
| Hibernating |
| Yes | Yes |
| - Should this be in Char.Effects?
|
---|
|
| Meditating |
---|
No
| Yes | Yes | Does not update when meditating | - should this be in Char.Effects?
|
|
| Damage_dealt |
| Yes | Yes |
| Currently includes all damage, including effects from equip etc. This might be "more powerful" than you intend. I like it and would like to keep it  |
---|
|
| Damage_received |
| Yes | Yes |
|
|
---|
| Spell |
| Event | No |
---|
does not fire "end" when spell is successfully cast (bless at me) |
| Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-8 |
---|
|
| Note, stoneskin used to work on (end) event |
| Command |
| Event |
| No |
---|
target does not show target, but shows entire command (aka bless at me" | Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-4 |
---|
|
Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-6 |
---|
|
Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-7 |
---|
|
| It would be relevant to determine "success" of commands like "bash" in raid scenarios I am also not certain it needs to include the "bury" commands. |
on "evade end" shows "initiate=start" and "target=end"Wielding | Yes | |
Char |
|
|
|
|
|
|
|
---|
| Effects |
| Event | No* | Yes | - does not fire instantly when cancelling an effect
- Seems not to fire instantly when a a new effect is applied (not 100% sure that this is still relevant...)
| General duration updates should be cyclic as now, however statechange (on/off) should be instant. possibly in a separate branch or item (char.EffectChanged("bless","off")) |
---|
| Inventory |
| Event | No | Yes |
---|
Future, include item weight? | Carrying | Yes | Money | Yes* | Is this neccessary when we have worth? Format is verbose | | Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-2 |
---|
|
|
|
|
| Carrying |
| No | Yes | Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-2 |
---|
|
|
|
---|
|
| Wielding |
| No | Yes | Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-2 |
---|
|
Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-9 |
---|
|
|
---|
- Add main hand, second hand
- Maybe! rename to "Held" (semantically same as Worn)
|
|
| Worn |
| No | Yes | Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-2 |
---|
|
| Add location (Char.Inventory.Worn.Body= ...) |
---|
| Skills |
| Event |
| Yes |
|
|
---|
|
| Untrained | ? |
| Yes |
|
|
---|
| Spells |
| Cache |
| No |
---|
Sometimes include a "0x0C" char (FF, form feed).
| Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-11 |
---|
|
|
In courage and symbol transformation on "learnable: maj"In holy storm, "damage roll"."3 rounds".Maximum | Change "learnable" from string to "learnable.maj" etc? |
| Status |
| Event |
---|
NoBug on , see belowMissing Several attributes from sheet:Major: Wimpy, Encumberance (here or inventory)Sex, Deity, Repository level, Alignment, Intoxication, Quest points, Achieved points, total xpPossibly include "walking mode" here?
Possibly include "schools" here?
ac | ? | No | Shows 24 when AC on sheet is -25 | str | ? |
| Yes* |
| Content is string, this might be unavoidable but is inconsistent with other stats (might choose to have a numeric str, then a "str_string" to show extreme strength. Or numeric, but float (18.6) |
| Vitals |
| Event |
| Yes |
|
|
---|
| Worth |
| Event | No | Yes | Does not seem to fire when supposed to |
|
---|
Comm |
|
|
|
|
|
|
|
---|
| Channel |
| Cache | No | No |
---|
Shout does not work (does not fire Channel | Jira |
---|
server | Jira |
---|
serverId | 66fd2cf2-0b60-3662-bd9a-027f8a1d0f24 |
---|
key | FR-12 |
---|
|
| Add history on channels, pollable (aka shout <40) |
| Tell |
| Cache | Yes | Yes |
|
|
---|
| Say |
| Cache | Yes | Yes |
| Does not work with "mutter" |
---|
Game |
|
|
|
|
|
|
|
---|
| Time |
| Event |
| Yes |
| Could contain info from "date" command (Year, Month, Day, Hour, Minute) (note these are mud dates) |
---|
| Who |
| Cache |
---|
No | No | never fired | Yes | Yes |
|
|
|
| users |
| ? | Yes |
|
|
---|
|
| time |
| ? | Need verification |
|
|
---|
| Omiqs |
| Cache |
---|
NoNonever fired |
|
|
Group |
|
|
|
|
|
|
|
---|
| Faction |
| Cache |
| Yes |
|
|
---|
| Party |
| Event |
| Yes |
|
|
---|
| Groups |
| Cache |
| Yes* |
| Not sure, only have guild, dont know what it looks like with sig |
---|
Room |
|
|
|
|
|
|
|
---|
| Info |
| Cache |
| No? | - prev_num seems not to work anymore
- desc includes mud colors (would prefer to keep \n's and strip colors)
|
|
---|
| WrongDir |
| Cache | Yes | Yes |
| Typo in name in help wiki, should be "WrongDir" |
---|
| Blockdir |
| Cache |
---|
Yes? | Not sure what this means, i can see it has fired on some chars, it does not indicate a movement that was blocked (e.g. by thorn hedge). It does not indicate a direction blocked by wall of thorns | Yes | Yes |
| Description Going into modules help |
Action.Round.Berserked - null
Mudlet does not really like the null object
- because it does not have a tostring method
- because it isnt a string
- because it isnt really a number
- because it isnt the lua nil object
We can workaround this in Lua by doing the following:
Code Block |
---|
|
rd = gmcp.Action.Round
rd.Berserked = tonumber(rd.Berserked)
if rd.Berserked == nil then rd.Berserked = 0 end |
This will replace the null with 0, however, it would be more convenient if the null was replaced with 0 on the server side to ensure consistent behavior.
Action.Round - Stale data
Code Block |
---|
theme | Midnight |
---|
title | Pay attention to the 'Round_Heartbeat_number' and how it staus at 5828 for many rounds, until it sudeenly updates to 5880 |
---|
linenumbers | true |
---|
|
You crush Rat with your Talin Thunder for 36 HPs damage.
Snake misses you.
Rat misses you.
Rat misses you.
onGmcpActionRound
{
Hunting = {
},
Round_Heartbeat_number = 1600625828,
Protected_by = {
"tarek"
},
Berserked = "No",
Fighting = {
},
Damage_dealt = 4,
Hibernating = "No",
Meditating = "No",
Calm = "Yes",
Damage_received = 0
}
onGmcpCharEffects()
{
["Berserk Fatigue"] = 99
}
-------------------
You flatten Snake with your Talin Thunder for 30 HPs damage.
Snake misses you.
Rat misses you.
Rat misses you.
Your Pendant of Power slashes Snake.
onGmcpActionRound
{
Hunting = {
},
Round_Heartbeat_number = 1600625828,
Protected_by = {
"tarek"
},
Berserked = "No",
Fighting = {
},
Damage_dealt = 4,
Hibernating = "No",
Meditating = "No",
Calm = "Yes",
Damage_received = 0
}
onGmcpCharEffects()
{
["Berserk Fatigue"] = 97
}
-------------------
You pulverize Rat with your Talin Thunder for 34 HPs damage.
Snake misses you.
Rat misses you.
Rat misses you.
You dealt the death blow to Rat.
Rat dies.
onGmcpActionRound
{
Hunting = {
},
Round_Heartbeat_number = 1600625828,
Protected_by = {
"tarek"
},
Berserked = "No",
Fighting = {
},
Damage_dealt = 4,
Hibernating = "No",
Meditating = "No",
Calm = "Yes",
Damage_received = 0
}
onGmcpCharEffects()
{
["Berserk Fatigue"] = 95
}
-------------------
You crush Rat with your Talin Thunder for 32 HPs damage.
Snake misses you.
Rat misses you.
onGmcpActionRound
{
Hunting = {
},
Round_Heartbeat_number = 1600625828,
Protected_by = {
"tarek"
},
Berserked = "No",
Fighting = {
},
Damage_dealt = 4,
Hibernating = "No",
Meditating = "No",
Calm = "Yes",
Damage_received = 0
}
onGmcpCharEffects()
{
["Berserk Fatigue"] = 93
}
-------------------
You pulverize Snake with your Talin Thunder for 53 HPs damage.
You pulverize Snake with your Talin Thunder for 26 HPs damage.
Snake misses you.
Rat misses you.
You dealt the death blow to Snake.
Snake dies.
Your Pendant of Power slashes Rat.
onGmcpActionRound
{
Hunting = {
},
Round_Heartbeat_number = 1600625880,
Protected_by = {
"tarek"
},
Berserked = "No",
Fighting = {
},
Damage_dealt = 57,
Hibernating = "No",
Meditating = "No",
Calm = "No",
Damage_received = 0
}
onGmcpCharEffects()
{
["Berserk Fatigue"] = 91
}
------------------- |
gmcp.Char.Action.Command / gmcp.Char.Effects
Code Block |
---|
|
// Notice that "evade end" leads to unpredicted results
// Also notice that evade end, does not trigger an instant gmcp.Char.Effects
> evade
onGmcpActionCommand
{
trigger = "command",
initiate = "start",
command = "evade"
}
---------------
You begin to concentrate on evading attack.
...
onGmcpCharEffects()
{
["Lockout : Commands"] = 0,
Bless = 150,
evade = 35
}
...
onGmcpCharEffects()
{
Bless = 148,
evade = 33
}
....
> evade end
onGmcpActionCommand
{
trigger = "command",
initiate = "start",
target = "end",
command = "evade"
}
---------------
You grow tired of holding your defensive stance.
.....
.....
.....
.....
.....
onGmcpCharEffects()
{
Bless = 146
}
|