private void CreateMPAvatars() { List <AvatarDataItem> memberList = Singleton <LevelScoreManager> .Instance.memberList; for (int i = 0; i < memberList.Count; i++) { int peerID = i + 1; bool isLocal = peerID == Singleton <MPManager> .Instance.peerID; uint fixedAvatarRuntimeIDForPeer = Singleton <RuntimeIDManager> .Instance.GetFixedAvatarRuntimeIDForPeer(peerID); Singleton <AvatarManager> .Instance.CreateAvatar(memberList[i], isLocal, InLevelData.CREATE_INIT_POS, InLevelData.CREATE_INIT_FORWARD, fixedAvatarRuntimeIDForPeer, true, true, false, false); Singleton <MPManager> .Instance.RegisterIdentity(fixedAvatarRuntimeIDForPeer, peerID, new AvatarIdentity()); AvatarActor actor = Singleton <EventManager> .Instance.GetActor <AvatarActor>(fixedAvatarRuntimeIDForPeer); actor.CreateAppliedAbility(AbilityData.GetAbilityConfig("Temp_UnlockSKL02Button")); actor.CreateAppliedAbility(AbilityData.GetAbilityConfig("Test_UnlockBranchAttack")); actor.PushProperty("Actor_MaxHPDelta", 3000f); } }
public static void AddAvatarWeaponAdditionalAbilities(int weaponID, AvatarActor avatar) { ConfigWeapon weaponConfig = GetWeaponConfig(weaponID); for (int i = 0; i < weaponConfig.AdditionalAbilities.Length; i++) { ConfigAbility abilityConfig = AbilityData.GetAbilityConfig(weaponConfig.AdditionalAbilities[i].AbilityName, weaponConfig.AdditionalAbilities[i].AbilityOverride); avatar.CreateAppliedAbility(abilityConfig); if (!string.IsNullOrEmpty(weaponConfig.AdditionalAbilities[i].AbilityReplaceID)) { avatar.abilityIDMap[weaponConfig.AdditionalAbilities[i].AbilityReplaceID] = abilityConfig.AbilityName; } } }
private static void AddUnlockedAbility(AvatarActor avatarActor, ConfigAvatarAbilityUnlock unlockConfig, Dictionary <string, bool> defaultReplaceMap, float skillParam1 = 0, float skillParam2 = 0, float skillParam3 = 0) { ConfigAbility abilityConfig = AbilityData.GetAbilityConfig(unlockConfig.AbilityName, unlockConfig.AbilityOverride); Dictionary <string, object> dictionary = null; bool flag = false; for (int i = 0; i < avatarActor.appliedAbilities.Count; i++) { if (avatarActor.appliedAbilities[i].Item1.AbilityName == unlockConfig.AbilityName) { dictionary = avatarActor.appliedAbilities[i].Item2; if (avatarActor.appliedAbilities[i].Item1 != abilityConfig) { avatarActor.appliedAbilities[i] = Tuple.Create <ConfigAbility, Dictionary <string, object> >(abilityConfig, dictionary); } flag = true; break; } } if (!flag) { dictionary = avatarActor.CreateAppliedAbility(abilityConfig); if (unlockConfig.AbilityReplaceID != null) { defaultReplaceMap[unlockConfig.AbilityReplaceID] = true; avatarActor.abilityIDMap[unlockConfig.AbilityReplaceID] = unlockConfig.AbilityName; } } if (unlockConfig.ParamSpecial1 != null) { AbilityData.SetupParamSpecial(abilityConfig, dictionary, unlockConfig.ParamSpecial1, unlockConfig.ParamMethod1, skillParam1); } if (unlockConfig.ParamSpecial2 != null) { AbilityData.SetupParamSpecial(abilityConfig, dictionary, unlockConfig.ParamSpecial2, unlockConfig.ParamMethod2, skillParam2); } if (unlockConfig.ParamSpecial3 != null) { AbilityData.SetupParamSpecial(abilityConfig, dictionary, unlockConfig.ParamSpecial3, unlockConfig.ParamMethod3, skillParam3); } }
public static void ApplyGalTouchBuffEntry(AvatarActor avatarActor, int buffId, float calculatedParam1, float calculatedParam2, float calculatedParam3) { if (buffId > 0) { ConfigGalTouchBuffEntry galTouchBuffEntry = GetGalTouchBuffEntry(buffId); ConfigAbility abilityConfig = AbilityData.GetAbilityConfig(galTouchBuffEntry.AbilityName, galTouchBuffEntry.AbilityOverride); Dictionary <string, object> overrideMap = avatarActor.CreateAppliedAbility(abilityConfig); if (galTouchBuffEntry.ParamSpecial1 != null) { AbilityData.SetupParamSpecial(abilityConfig, overrideMap, galTouchBuffEntry.ParamSpecial1, galTouchBuffEntry.ParamMethod1, calculatedParam1); } if (galTouchBuffEntry.ParamSpecial2 != null) { AbilityData.SetupParamSpecial(abilityConfig, overrideMap, galTouchBuffEntry.ParamSpecial2, galTouchBuffEntry.ParamMethod2, calculatedParam2); } if (galTouchBuffEntry.ParamSpecial3 != null) { AbilityData.SetupParamSpecial(abilityConfig, overrideMap, galTouchBuffEntry.ParamSpecial3, galTouchBuffEntry.ParamMethod3, calculatedParam3); } } }