Ah, the modern desire for numbers popping up when we strike an enemy. Traditionally, IoK gave only
adjectives: light, moderate, heavy, severe, and fatal.
On a per-player basis, combat damage display is controlled via a conference command, and you get a
warning if it’s disabled via the config file. Easy enough to test:
Scenario: DisplayCombatDamage True, I can enable combat damage display
Given I use the "minimal" database
And I set "DisplayCombatDamage" in the config file to "True"
And the server is started
When I log on using a standard account
And I enter the chat
And I issue the display combat damage command
And I did not see a message telling me combat damage display was disabled
Scenario: DisplayCombatDamage False, I cannot enable combat damage display
Given I use the "minimal" database
And I set "DisplayCombatDamage" in the config file to "False"
And the server is started
When I log on using a standard account
And I enter the chat
And I issue the display combat damage command
And I saw a message telling me combat damage display was disabled
# bug: server code not set up to handle the type of ImpLevel.@bugScenario: APP_NAME used when trying to ignore a staff member
Given I use the "minimal" database
And I set "APP_NAME" in the config file to "Test Ignore Staff"
And I ensure a developer account exists
And the server executable is started
And I allow time for the server to complete startup
When I log on using a standard account
And I enter the chat
And I try to ignore the developer account
Then I saw an ignore rejection with application name "Test Ignore Staff"
fails on trying to ignore the developer account:
And I try to ignore the developer account # features/steps/conference_steps.rb:2
Sending /ignore dev01_name and waiting for /./...
timed out while waiting for more data (Net::ReadTimeout)
and over in the server log we find:
{SystemFailure} DBPlayer.getPlayerField(2, ImpLevel, DragonsSpine.Globals+eImpLevel) Unable to find DragonsSpine.Globals+eImpLevel in switch.
which points us to
foreach(DataRowdrindtPlayer.Rows){switch(objectType.ToString()){case"System.Int16":returnConvert.ToInt16(dr[field]);case"System.Int32":returnConvert.ToInt32(dr[field]);case"System.Int64":returnConvert.ToInt64(dr[field]);case"System.String":returndr[field].ToString();case"System.Boolean":returnConvert.ToBoolean(dr[field]);case"System.Char":returnConvert.ToChar(dr[field]);case"System.DateTime":returnConvert.ToDateTime(dr[field]);case"System.Double":returnConvert.ToDouble(dr[field]);case"Character.SkillType":returndr[field].ToString();default:Utils.Log("DBPlayer.getPlayerField("+playerID+", "+field+", "+objectType.ToString()+") Unable to find "+objectType.ToString()+" in switch.",Utils.LogType.SystemFailure);break;
So can I just add “DragonsSpine.Globals+eImpLevel” and treat it as a 32-bit int?
And I try to ignore the developer account # features/steps/conference_steps.rb:2
Sending /ignore dev01_name and waiting for /./...
You are in Conference Room A.
You are the only player present.
Type /help for a list of commands.
You cannot ignore a Test Ignore Staff staff member.
Apparently I can.
One bug down, many to go. Back to the testing. Tomorrow.