mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
vcmi: reuse SPELL_DAMAGE for sorcery
Now there is no need for specific spell bonus, and we need to simply reuse SPELL_DAMAGE, and by using PERCENT_TO_TARGET_TYPE speciality will work.
This commit is contained in:
@@ -45,6 +45,13 @@
|
||||
"COMMANDERS": false,
|
||||
"MITHRIL": false //so far unused
|
||||
},
|
||||
"baseBonuses" : [
|
||||
{
|
||||
"type" : "SPELL_DAMAGE", //Default spell damage
|
||||
"val" : 100,
|
||||
"valueType" : "BASE_NUMBER"
|
||||
}
|
||||
],
|
||||
"heroBaseBonuses":
|
||||
[
|
||||
{
|
||||
|
@@ -183,11 +183,11 @@
|
||||
"specialty" : {
|
||||
"bonuses" : {
|
||||
"sorcery" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"targetSourceType" : "SECONDARY_SKILL",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"updater" : "TIMES_HERO_LEVEL",
|
||||
"val" : 5,
|
||||
"valueType" : "PERCENT_TO_BASE"
|
||||
"valueType" : "PERCENT_TO_TARGET_TYPE"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -258,11 +258,11 @@
|
||||
"specialty" : {
|
||||
"bonuses" : {
|
||||
"sorcery" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"targetSourceType" : "SECONDARY_SKILL",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"updater" : "TIMES_HERO_LEVEL",
|
||||
"val" : 5,
|
||||
"valueType" : "PERCENT_TO_BASE"
|
||||
"valueType" : "PERCENT_TO_TARGET_TYPE"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -259,11 +259,11 @@
|
||||
"specialty" : {
|
||||
"bonuses" : {
|
||||
"sorcery" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"targetSourceType" : "SECONDARY_SKILL",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"updater" : "TIMES_HERO_LEVEL",
|
||||
"val" : 5,
|
||||
"valueType" : "PERCENT_TO_BASE"
|
||||
"valueType" : "PERCENT_TO_TARGET_TYPE"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -190,11 +190,11 @@
|
||||
"specialty" : {
|
||||
"bonuses" : {
|
||||
"sorcery" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"targetSourceType" : "SECONDARY_SKILL",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"updater" : "TIMES_HERO_LEVEL",
|
||||
"val" : 5,
|
||||
"valueType" : "PERCENT_TO_BASE"
|
||||
"valueType" : "PERCENT_TO_TARGET_TYPE"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -133,11 +133,11 @@
|
||||
"specialty" : {
|
||||
"bonuses" : {
|
||||
"sorcery" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"targetSourceType" : "SECONDARY_SKILL",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"updater" : "TIMES_HERO_LEVEL",
|
||||
"val" : 5,
|
||||
"valueType" : "PERCENT_TO_BASE"
|
||||
"valueType" : "PERCENT_TO_TARGET_TYPE"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -236,11 +236,11 @@
|
||||
"specialty" : {
|
||||
"bonuses" : {
|
||||
"sorcery" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"targetSourceType" : "SECONDARY_SKILL",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"updater" : "TIMES_HERO_LEVEL",
|
||||
"val" : 5,
|
||||
"valueType" : "PERCENT_TO_BASE"
|
||||
"valueType" : "PERCENT_TO_TARGET_TYPE"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -730,8 +730,7 @@
|
||||
"base" : {
|
||||
"effects" : {
|
||||
"main" : {
|
||||
"subtype" : "skill.sorcery",
|
||||
"type" : "SECONDARY_SKILL_PREMY",
|
||||
"type" : "SPELL_DAMAGE",
|
||||
"valueType" : "BASE_NUMBER"
|
||||
}
|
||||
}
|
||||
|
@@ -285,7 +285,7 @@ public:
|
||||
BONUS_NAME(DARKNESS) /*val = radius */ \
|
||||
BONUS_NAME(SPECIAL_SECONDARY_SKILL) /*subtype = id, val = value per level in percent*/ \
|
||||
BONUS_NAME(SPECIAL_SPELL_LEV) /*subtype = id, val = value per level in percent*/\
|
||||
BONUS_NAME(SPELL_DAMAGE) /*val = value*/\
|
||||
BONUS_NAME(SPELL_DAMAGE) /*val = value, now works for sorcery*/\
|
||||
BONUS_NAME(SPECIFIC_SPELL_DAMAGE) /*subtype = id of spell, val = value*/\
|
||||
BONUS_NAME(SPECIAL_PECULIAR_ENCHANT) /*blesses and curses with id = val dependent on unit's level, subtype = 0 or 1 for Coronius*/\
|
||||
BONUS_NAME(SPECIAL_UPGRADE) /*subtype = base, additionalInfo = target */\
|
||||
|
@@ -618,8 +618,8 @@ int64_t CGHeroInstance::getSpellBonus(const spells::Spell * spell, int64_t base,
|
||||
{
|
||||
//applying sorcery secondary skill
|
||||
|
||||
base = static_cast<int64_t>(base * (100 + valOfBonuses(Bonus::SECONDARY_SKILL_PREMY, SecondarySkill::SORCERY)) / 100.0);
|
||||
base = static_cast<int64_t>(base * (100 + valOfBonuses(Bonus::SPELL_DAMAGE) + valOfBonuses(Bonus::SPECIFIC_SPELL_DAMAGE, spell->getIndex())) / 100.0);
|
||||
base = static_cast<int64_t>(base * (valOfBonuses(Bonus::SPELL_DAMAGE)) / 100.0);
|
||||
base = static_cast<int64_t>(base * (100 + valOfBonuses(Bonus::SPECIFIC_SPELL_DAMAGE, spell->getIndex())) / 100.0);
|
||||
|
||||
int maxSchoolBonus = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user