MCPcopy Create free account
hub / github.com/Norbyte/ositools / SkillBarSetSkill

Function SkillBarSetSkill

OsiInterface/Functions/PlayerFunctions.cpp:181–203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179 }
180
181 void SkillBarSetSkill(OsiArgumentDesc const & args)
182 {
183 auto characterGuid = args[0].String;
184 auto slot = args[1].Int32;
185 auto skillId = ToFixedString(args[2].String);
186
187 auto * stats = gOsirisProxy->GetLibraryManager().GetStats();
188 auto skillDataFs = ToFixedString("SkillData");
189 if (!stats->ObjectExists(skillId, skillDataFs)) {
190 OsiError("'" << skillId.Str << "' is not a valid skill ID!");
191 return;
192 }
193
194 auto skillBarItem = SkillBarGetSlot(characterGuid, slot);
195 if (skillBarItem == nullptr) return;
196
197 skillBarItem->Type = esv::SkillBarItem::kSkill;
198 skillBarItem->SkillOrStatId = skillId;
199 skillBarItem->ItemHandle = ObjectHandle{};
200
201 auto character = FindCharacterByNameGuid(characterGuid);
202 character->PlayerData->Dirty = true;
203 }
204
205 void SkillBarSetItem(OsiArgumentDesc const & args)
206 {

Callers

nothing calls this directly

Calls 5

ToFixedStringFunction · 0.85
SkillBarGetSlotFunction · 0.85
FindCharacterByNameGuidFunction · 0.85
GetStatsMethod · 0.80
ObjectExistsMethod · 0.80

Tested by

no test coverage detected