mirror of
https://github.com/vcmi/vcmi.git
synced 2026-06-19 22:57:37 +02:00
Rename bonus to ADJACENT_SPELLCASTER - more logical name
This commit is contained in:
@@ -1028,6 +1028,7 @@
|
||||
|
||||
"core.bonus.ADDITIONAL_ATTACK.description" : "{Additional attacks}\nUnit can attack an additional ${val} times", // TODO: alternative descriptions for melee/ranged effect range
|
||||
"core.bonus.ADDITIONAL_RETALIATION.description" : "{Additional retaliations}\nUnit can retaliate ${val} extra times",
|
||||
"core.bonus.ADJACENT_SPELLCASTER.description" : "{Adjacent Spellcaster}\nUnit can cast ${subtype.spell} while standing next to target",
|
||||
"core.bonus.ALWAYS_MAXIMUM_DAMAGE.description" : "{Maximum Damage}\nThis unit always deals the maximum possible damage",
|
||||
"core.bonus.ATTACKS_ALL_ADJACENT.description" : "{Attack all around}\nAttacks all adjacent enemies in addition to the primary target",
|
||||
"core.bonus.BLOCKS_RANGED_RETALIATION.description" : "{No ranged retaliation}\nThe enemy cannot retaliate when shot by this unit",
|
||||
|
||||
@@ -1025,6 +1025,7 @@
|
||||
|
||||
"core.bonus.ADDITIONAL_ATTACK.description" : "{Dodatkowe Uderzenia}\n${val} dodatkowy atak",
|
||||
"core.bonus.ADDITIONAL_RETALIATION.description" : "{Dodatkowy Odwet}\n${val} dodatkowy kontratak",
|
||||
"core.bonus.ADJACENT_SPELLCASTER.description" : "{Czarujący w zwarciu}\nJednostka może rzucić ${subtype.spell} będąc na sąsiednim polu względem celu",
|
||||
"core.bonus.ALWAYS_MAXIMUM_DAMAGE.description" : "{Maksymalna siła}\nZawsze zadaje maksymalne obrażenia",
|
||||
"core.bonus.ATTACKS_ALL_ADJACENT.description" : "{Obrotowy atak}\nAtakuje wszystkich sąsiadujących wrogów",
|
||||
"core.bonus.BLOCKS_RANGED_RETALIATION.description" : "{Brak kontrataku dystansowego}\nWróg nie może kontratakować poprzez strzelanie",
|
||||
|
||||
@@ -436,7 +436,7 @@ const CSpell * BattleActionsController::getStackSpellToCast(const BattleHex & ho
|
||||
|
||||
if(action.get() == PossiblePlayerBattleAction::WALK_AND_SPELLCAST)
|
||||
{
|
||||
auto bonus = owner.stacksController->getActiveStack()->getBonus(Selector::type()(BonusType::WALKING_SPELLCASTER));
|
||||
auto bonus = owner.stacksController->getActiveStack()->getBonus(Selector::type()(BonusType::ADJACENT_SPELLCASTER));
|
||||
return bonus->subtype.as<SpellID>().toSpell();
|
||||
}
|
||||
|
||||
|
||||
@@ -376,7 +376,7 @@ BattleHexArray BattleFieldController::getHighlightedHexesForMovementTarget()
|
||||
|
||||
auto hoveredStack = owner.getBattle()->battleGetStackByPos(hoveredHex, true);
|
||||
|
||||
if(stack->hasBonusOfType(BonusType::WALKING_SPELLCASTER) && stack->canCast() && owner.getBattle()->battleCanAttackHex(availableHexes, stack, hoveredHex))
|
||||
if(stack->hasBonusOfType(BonusType::ADJACENT_SPELLCASTER) && stack->canCast() && owner.getBattle()->battleCanAttackHex(availableHexes, stack, hoveredHex))
|
||||
{
|
||||
BattleHex fromHex = owner.getBattle()->fromWhichHexAttack(stack, hoveredHex, selectAttackDirection(hoveredHex));
|
||||
if(fromHex.isValid())
|
||||
@@ -388,7 +388,7 @@ BattleHexArray BattleFieldController::getHighlightedHexesForMovementTarget()
|
||||
}
|
||||
}
|
||||
|
||||
if((owner.getBattle()->battleCanAttackUnit(stack, hoveredStack) || (stack->hasBonusOfType(BonusType::WALKING_SPELLCASTER) && stack->canCast()))
|
||||
if((owner.getBattle()->battleCanAttackUnit(stack, hoveredStack) || (stack->hasBonusOfType(BonusType::ADJACENT_SPELLCASTER) && stack->canCast()))
|
||||
&& owner.getBattle()->battleCanAttackHex(availableHexes, stack, hoveredHex))
|
||||
{
|
||||
BattleHex fromHex = owner.getBattle()->fromWhichHexAttack(stack, hoveredHex, selectAttackDirection(hoveredHex));
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
{
|
||||
},
|
||||
|
||||
"ADJACENT_SPELLCASTER":
|
||||
{
|
||||
},
|
||||
|
||||
"ATTACKS_ALL_ADJACENT":
|
||||
{
|
||||
},
|
||||
|
||||
@@ -295,9 +295,9 @@ std::vector<PossiblePlayerBattleAction> CBattleInfoCallback::getClientActionsFor
|
||||
allowedActionList.push_back(PossiblePlayerBattleAction::CATAPULT);
|
||||
if(stack->hasBonusOfType(BonusType::HEALER))
|
||||
allowedActionList.push_back(PossiblePlayerBattleAction::HEAL);
|
||||
if(stack->hasBonusOfType(BonusType::WALKING_SPELLCASTER))
|
||||
if(stack->hasBonusOfType(BonusType::ADJACENT_SPELLCASTER))
|
||||
{
|
||||
SpellID spellID = stack->getBonus(Selector::type()(BonusType::WALKING_SPELLCASTER))->subtype.as<SpellID>();
|
||||
SpellID spellID = stack->getBonus(Selector::type()(BonusType::ADJACENT_SPELLCASTER))->subtype.as<SpellID>();
|
||||
if(stack->canCast()) //TODO: check for battlefield effects that prevent casting?
|
||||
allowedActionList.push_back(PossiblePlayerBattleAction(PossiblePlayerBattleAction::WALK_AND_SPELLCAST, spellID));
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ class JsonNode;
|
||||
BONUS_NAME(HATES_TRAIT) /* affected unit deals additional damage to units with specific bonus. subtype - bonus, val - damage bonus percent */ \
|
||||
BONUS_NAME(DAMAGE_RECEIVED_CAP) /* limits the damage dealt to affected unit */ \
|
||||
BONUS_NAME(FORCE_NEUTRAL_ENCOUNTER_STACK_COUNT) /* Forces the number of neutral stacks in hero–neutral encounters.*/\
|
||||
BONUS_NAME(WALKING_SPELLCASTER) /* subtype - spell id */
|
||||
BONUS_NAME(ADJACENT_SPELLCASTER) /* subtype - spell id */
|
||||
/* end of list */
|
||||
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ static void loadBonusSubtype(BonusSubtypeID & subtype, BonusType type, const Jso
|
||||
case BonusType::SPECIFIC_SPELL_POWER:
|
||||
case BonusType::ENCHANTED:
|
||||
case BonusType::MORE_DAMAGE_FROM_SPELL:
|
||||
case BonusType::WALKING_SPELLCASTER:
|
||||
case BonusType::ADJACENT_SPELLCASTER:
|
||||
case BonusType::NOT_ACTIVE:
|
||||
{
|
||||
LIBRARY->identifiers()->requestIdentifier( "spell", node, [&subtype](int32_t identifier)
|
||||
|
||||
@@ -557,7 +557,7 @@ bool BattleActionProcessor::doWalkAndSpellcastAction(const CBattleInfoCallback &
|
||||
return false;
|
||||
}
|
||||
|
||||
auto bonus = stack->getBonus(Selector::typeSubtype(BonusType::WALKING_SPELLCASTER, BonusSubtypeID(spellID)));
|
||||
auto bonus = stack->getBonus(Selector::typeSubtype(BonusType::ADJACENT_SPELLCASTER, BonusSubtypeID(spellID)));
|
||||
if (!bonus)
|
||||
{
|
||||
gameHandler->complain("Creature cannot walk and spellcast.");
|
||||
|
||||
Reference in New Issue
Block a user