About this mod
Adds several unique, bindable keys to the settings menu: Draw Torch, Pickpocket, Lockpick, Steal, Dog Attack, Dog Return, and Abort/Exit. These functions are separated from any key they were originally attached to.
- Permissions and credits
- Changelogs
- Donations
Pickpocket
Default : F
Lockpick
Default : F
Steal
Default : F
Draw Torch
Default : 3
Command dog to return
Default : 4
Command dog to attack
Default : 5
Abort/Exit
Default : Mouse Right Click
Default : Backspace
Default : Escape
Installation
Extract the contents of the .zip into the \KingdomComeDeliverance\Mods folder
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I've given up trying to decipher the decompiled hud.gfx to correct the mod's bugs. If anyone wants to take a crack at it, here is where you should start.
KingdomComeDeliverance\Data > GameData.pak > Libs\UI\hud.gfx
This is apparently the bit of ActionScript that handles how the hints are shown.
function fc_showActionHint(ActionId, Control, Text, Type, Name)
{
var _loc3_ = null;
var _loc4_ = Control.split("|");
if(_loc4_.length == 0)
{
return undefined;
}
var _loc5_ = new Array();
var _loc2_ = 0;
while(_loc2_ < _loc4_.length)
{
if(_loc4_[_loc2_].charAt(0) == "@")
{
_loc5_[_loc2_] = getControlName(_loc4_[_loc2_]);
}
else
{
_loc5_[_loc2_] = _loc4_[_loc2_];
}
_loc2_ = _loc2_ + 1;
}
_loc2_ = 0;
while(_loc2_ < hintsArr.length)
{
if(ActionId == hintsArr[_loc2_][0])
{
if(Text != hintsArr[_loc2_][1].tfHintText.tField.text)
{
_loc3_ = hintsArr[_loc2_][1];
break;
}
}
_loc2_ = _loc2_ + 1;
}
if(_loc3_ == null)
{
_loc3_ = _root.br.mc_HintsEle.attachMovie("mc_Hint","hint" + ActionId,_root.br.mc_HintsEle.getNextHighestDepth());
if((Type & E_Flag_Codex) != 0)
{
hintsArr.unshift([ActionId,_loc3_,true]);
_loc3_._y = -1080 - br.mc_HintsEle._y + 55 + tr.mc_TutorialMessage.inside.Background._height + tr.mc_TutorialMessage._y;
}
else
{
hintsArr.push([ActionId,_loc3_]);
_loc3_._y = hintsArr.length * -55;
if(hintsArr[0][2] == true)
{
_loc3_._y += 55;
}
}
}
if((Type & E_Flag_Dog) != 0)
{
_loc3_.ornament.gotoAndStop(2);
}
else
{
_loc3_.ornament.gotoAndStop(1);
}
_loc3_.tfText.text = Text;
var _loc12_ = _loc3_.tfText.text;
_loc2_ = 0;
while(_loc2_ < _loc4_.length)
{
_loc3_["mc_HintIcon" + _loc2_].gotoAndStop(_loc5_[_loc2_]);
if(_loc2_ > 0)
{
var _loc6_ = - br.mc_HintsEle._x - _loc3_["mc_HintIcon" + _loc2_]._width;
_loc3_["mc_HintIcon" + _loc2_]._x = Math.min(_loc3_["mc_HintIcon" + (_loc2_ - 1)]._x + _loc3_["mc_HintIcon" + (_loc2_ - 1)]._width + 5,_loc6_);
}
if(_loc4_[_loc2_].charAt(0) == "@")
{
_loc3_["mc_HintIcon" + _loc2_].tField.text = _loc4_[_loc2_];
}
else
{
_loc3_["mc_HintIcon" + _loc2_].tField.text = "";
}
if((Type & E_Flag_Hold) != 0)
{
_loc3_["mc_HintIcon" + _loc2_].mc_holdIcon._visible = true;
}
else
{
_loc3_["mc_HintIcon" + _loc2_].mc_holdIcon._visible = false;
}
_loc2_ = _loc2_ + 1;
}
if((Type & E_Flag_Disable) != 0)
{
_loc3_._alpha = 40;
}
else
{
_loc3_._alpha = 100;
}
_loc3_.tfText.text = _loc12_;
_loc3_.ornament._x = - _loc3_.tfText.getLineMetrics(0).width - 30;
if(Name && Name != "" && Name != "@")
{
if(_root.br.mc_HintsEle.npcName == undefined)
{
var _loc11_ = _root.br.mc_HintsEle.attachMovie("mc_NpcName","npcName",_root.br.mc_HintsEle.getNextHighestDepth());
_loc11_.tfName.text = Name;
_loc11_.ActionId = ActionId;
}
}
if(_root.br.mc_HintsEle.npcName)
{
_root.br.mc_HintsEle.npcName._y = hintsArr[hintsArr.length - 1][1]._y - 55;
}
}
function fc_hideActionHint(ActionId)
{
if(hintsArr.length == 0)
{
return undefined;
}
var _loc1_ = undefined;
_loc1_ = 0;
while(_loc1_ < hintsArr.length)
{
if(ActionId == hintsArr[_loc1_][0])
{
break;
}
if(_loc1_ == hintsArr.length - 1)
{
return undefined;
}
_loc1_ = _loc1_ + 1;
}
hintsArr[_loc1_][1].removeMovieClip();
var _loc2_ = _loc1_ + 1;
while(_loc2_ < hintsArr.length)
{
hintsArr[_loc2_][1]._y -= -55;
_loc2_ = _loc2_ + 1;
}
hintsArr.splice(_loc1_,1);
}
function fc_showNpcName(Name)
{
if(Name && Name != "" && Name != "@")
{
if(_root.br.mc_HintsEle.npcName == undefined)
{
var _loc3_ = _root.br.mc_HintsEle.attachMovie("mc_NpcName","npcName",_root.br.mc_HintsEle.getNextHighestDepth());
}
_loc3_.tfName.text = Name;
}
if(_root.br.mc_HintsEle.npcName)
{
if(hintsArr.length != 0 && !(hintsArr.length == 1 && hintsArr[0][2]))
{
_root.br.mc_HintsEle.npcName._y = hintsArr[hintsArr.length - 1][1]._y - 55;
}
else
{
_root.br.mc_HintsEle.npcName._y = -55;
}
}
}
function fc_hideNpcName()
{
if(_root.br.mc_HintsEle.npcName)
{
_root.br.mc_HintsEle.npcName.removeMovieClip();
}
}
function fc_resetActionsHints()
{
var _loc1_ = 0;
while(_loc1_ < hintsArr.length)
{
hintsArr[_loc1_][1].removeMovieClip();
_loc1_ = _loc1_ + 1;
}
hintsArr.length = 0;
}