Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add support for "Skill Augmentation" #717

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Arrowgene.Ddon.Database/IDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,8 @@ Ability ability
bool ReplaceAbilityPreset(uint characterId, CDataPresetAbilityParam preset);
bool UpdateAbilityPreset(uint characterId, CDataPresetAbilityParam preset);

bool InsertSecretAbilityUnlock(uint commonId, SecretAbility secretAbility);
List<SecretAbility> SelectAllUnlockedSecretAbilities(uint commonId);
bool InsertSecretAbilityUnlock(uint commonId, AbilityId secretAbility);
List<AbilityId> SelectAllUnlockedSecretAbilities(uint commonId);

// (Learned) Normal Skills / Learned Core Skills
bool InsertIfNotExistsNormalSkillParam(
Expand Down
4 changes: 2 additions & 2 deletions Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedAbility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public bool ReplaceEquippedAbility(TCon connection, uint commonId, JobId equippe

public bool ReplaceEquippedAbilities(uint commonId, JobId equippedToJob, List<Ability> abilities)
{
return ExecuteInTransaction(connection =>
return ExecuteInTransaction((System.Action<TCon>)(connection =>
{
// Remove previously equipped abilities
DeleteEquippedAbilities(connection, commonId, equippedToJob);
Expand All @@ -81,7 +81,7 @@ public bool ReplaceEquippedAbilities(uint commonId, JobId equippedToJob, List<Ab
byte slotNo = (byte)(i + 1);
InsertEquippedAbility(connection, commonId, equippedToJob, slotNo, ability);
}
});
}));
}

public bool UpdateEquippedAbility(uint commonId, JobId oldEquippedToJob, byte oldSlotNo, JobId equippedToJob, byte slotNo, Ability updatedAbility)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ public abstract partial class DdonSqlDb<TCon, TCom, TReader> : SqlDb<TCon, TCom,
private readonly string SqlSelectAllUnlockedSecretAbility = $"SELECT {BuildQueryField(UnlockedSecretAbilityFields)} FROM \"ddon_unlocked_secret_ability\" WHERE \"character_common_id\" = @character_common_id;";


public bool InsertSecretAbilityUnlock(uint commonId, SecretAbility secretAbility)
public bool InsertSecretAbilityUnlock(uint commonId, AbilityId secretAbility)
{
using TCon connection = OpenNewConnection();
return InsertSecretAbilityUnlock(connection, commonId, secretAbility);
}

public bool InsertSecretAbilityUnlock(TCon conn, uint commonId, SecretAbility secretAbility)
public bool InsertSecretAbilityUnlock(TCon conn, uint commonId, AbilityId secretAbility)
{
return ExecuteNonQuery(conn, SqlInsertIfNotExistsUnlockedSecretAbility, command =>
{
Expand All @@ -36,15 +36,15 @@ public bool InsertSecretAbilityUnlock(TCon conn, uint commonId, SecretAbility se
}) == 1;
}

public List<SecretAbility> SelectAllUnlockedSecretAbilities(uint commonId)
public List<AbilityId> SelectAllUnlockedSecretAbilities(uint commonId)
{
using TCon connection = OpenNewConnection();
return SelectAllUnlockedSecretAbilities(connection, commonId);
}

public List<SecretAbility> SelectAllUnlockedSecretAbilities(TCon conn, uint commonId)
public List<AbilityId> SelectAllUnlockedSecretAbilities(TCon conn, uint commonId)
{
List<SecretAbility> Results = new List<SecretAbility>();
List<AbilityId> Results = new List<AbilityId>();

ExecuteInTransaction(conn =>
{
Expand All @@ -62,15 +62,15 @@ public List<SecretAbility> SelectAllUnlockedSecretAbilities(TCon conn, uint comm
return Results;
}

private void AddParameter(TCom command, uint commonId, SecretAbility secretAbility)
private void AddParameter(TCom command, uint commonId, AbilityId secretAbility)
{
AddParameter(command, "character_common_id", commonId);
AddParameter(command, "ability_id", (uint) secretAbility);
}

private SecretAbility ReadUnlockedSecretAbility(TReader reader)
private AbilityId ReadUnlockedSecretAbility(TReader reader)
{
return (SecretAbility) GetUInt32(reader, "ability_id");
return (AbilityId) GetUInt32(reader, "ability_id");
}
}
}
4 changes: 2 additions & 2 deletions Arrowgene.Ddon.GameServer/Characters/JobManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -714,7 +714,7 @@ public void UnlockAbility(IDatabase database, GameClient client, CharacterCommon
}

public Ability SetAbility(IDatabase database, GameClient client, CharacterCommon character, JobId abilityJob, byte slotNo, uint abilityId, byte abilityLv)
{
{
Ability ability = character.LearnedAbilities
.Where(aug =>aug.AbilityId == abilityId)
.SingleOrDefault();
Expand Down Expand Up @@ -745,7 +745,7 @@ public void RemoveAbility(IDatabase database, CharacterCommon character, byte sl
database.ReplaceEquippedAbilities(character.CommonId, character.Job, equippedAbilities);
}

public void UnlockSecretAbility(GameClient client, CharacterCommon character, SecretAbility secretAbilityType)
public void UnlockSecretAbility(GameClient client, CharacterCommon character, AbilityId secretAbilityType)
{
// MSG_GROUP_TYPE_GET_SECRET_ABILITY = 0x30,
if (_Server.Database.InsertSecretAbilityUnlock(character.CommonId, secretAbilityType))
Expand Down
Loading
Loading