mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-26 22:57:00 +02:00
Last part of hero specialities - support for peculiar enchants.
This commit is contained in:
parent
30cf8b7e77
commit
4696d89d2e
@ -9,11 +9,11 @@
|
|||||||
7 1 0 0 10
|
7 1 0 0 10
|
||||||
8 2 5 27 0
|
8 2 5 27 0
|
||||||
9 6 3 41 0
|
9 6 3 41 0
|
||||||
10 8 45 0 0
|
10 8 0 45 0
|
||||||
11 3 3 20 0
|
11 3 3 20 0
|
||||||
12 1 0 0 8
|
12 1 0 0 8
|
||||||
13 2 5 11 0
|
13 2 5 11 0
|
||||||
14 8 48 0 0
|
14 8 0 48 0
|
||||||
15 10 350 6 0
|
15 10 350 6 0
|
||||||
16 2 5 23 0
|
16 2 5 23 0
|
||||||
17 1 0 0 16
|
17 1 0 0 16
|
||||||
@ -23,7 +23,7 @@
|
|||||||
21 1 0 0 18
|
21 1 0 0 18
|
||||||
22 1 0 0 24
|
22 1 0 0 24
|
||||||
23 2 5 2 0
|
23 2 5 2 0
|
||||||
24 8 55 1 0
|
24 8 0 55 1
|
||||||
25 3 3 37 0
|
25 3 3 37 0
|
||||||
26 2 5 24 0
|
26 2 5 24 0
|
||||||
27 2 5 27 0
|
27 2 5 27 0
|
||||||
@ -45,7 +45,7 @@
|
|||||||
43 7 0 51 0
|
43 7 0 51 0
|
||||||
44 1 0 0 34
|
44 1 0 0 34
|
||||||
45 3 3 19 0
|
45 3 3 19 0
|
||||||
46 8 53 0 0
|
46 8 0 53 0
|
||||||
47 10 350 6 0
|
47 10 350 6 0
|
||||||
48 1 0 0 46
|
48 1 0 0 46
|
||||||
49 1 0 0 52
|
49 1 0 0 52
|
||||||
@ -58,9 +58,9 @@
|
|||||||
56 2 5 24 0
|
56 2 5 24 0
|
||||||
57 3 3 22 0
|
57 3 3 22 0
|
||||||
58 2 5 8 1
|
58 2 5 8 1
|
||||||
59 8 45 0 0
|
59 8 0 45 0
|
||||||
60 10 1 3 0
|
60 10 1 3 0
|
||||||
61 8 43 0 0
|
61 8 0 43 0
|
||||||
62 2 5 25 0
|
62 2 5 25 0
|
||||||
63 3 3 21 0
|
63 3 3 21 0
|
||||||
64 1 0 0 58
|
64 1 0 0 58
|
||||||
@ -76,7 +76,7 @@
|
|||||||
74 2 5 25 0
|
74 2 5 25 0
|
||||||
75 2 5 11 1
|
75 2 5 11 1
|
||||||
76 3 39 0 3
|
76 3 39 0 3
|
||||||
77 8 46 0 0
|
77 8 0 46 0
|
||||||
78 2 5 12 0
|
78 2 5 12 0
|
||||||
79 10 350 6 0
|
79 10 350 6 0
|
||||||
80 1 0 0 72
|
80 1 0 0 72
|
||||||
@ -94,7 +94,7 @@
|
|||||||
92 2 5 11 1
|
92 2 5 11 1
|
||||||
93 3 3 23 0
|
93 3 3 23 0
|
||||||
94 10 1 4 0
|
94 10 1 4 0
|
||||||
95 8 46 0 0
|
95 8 0 46 0
|
||||||
96 1 0 0 94
|
96 1 0 0 94
|
||||||
97 1 0 0 146
|
97 1 0 0 146
|
||||||
98 1 0 0 88
|
98 1 0 0 88
|
||||||
@ -106,8 +106,8 @@
|
|||||||
105 2 5 25 0
|
105 2 5 25 0
|
||||||
106 1 0 0 90
|
106 1 0 0 90
|
||||||
107 2 5 2 0
|
107 2 5 2 0
|
||||||
108 8 53 0 0
|
108 8 0 53 0
|
||||||
109 8 44 0 0
|
109 8 0 44 0
|
||||||
110 2 5 25 0
|
110 2 5 25 0
|
||||||
111 2 5 11 1
|
111 2 5 11 1
|
||||||
112 10 1 5 0
|
112 10 1 5 0
|
||||||
@ -122,7 +122,7 @@
|
|||||||
121 2 5 8 1
|
121 2 5 8 1
|
||||||
122 2 2 5 1
|
122 2 2 5 1
|
||||||
123 2 5 27 1
|
123 2 5 27 1
|
||||||
124 8 46 0 0
|
124 8 0 46 0
|
||||||
125 2 5 25 0
|
125 2 5 25 0
|
||||||
126 2 5 24 0
|
126 2 5 24 0
|
||||||
127 2 5 11 1
|
127 2 5 11 1
|
||||||
@ -145,11 +145,11 @@
|
|||||||
134 4 2 3 114
|
134 4 2 3 114
|
||||||
135 4 2 1 115
|
135 4 2 1 115
|
||||||
136 5 100 13 0
|
136 5 100 13 0
|
||||||
137 8 53 0 0
|
137 8 0 53 0
|
||||||
138 5 50 15 0
|
138 5 50 15 0
|
||||||
139 8 46 0 0
|
139 8 0 46 0
|
||||||
140 8 43 0 0
|
140 8 0 43 0
|
||||||
141 8 47 0 0
|
141 8 0 47 0
|
||||||
142 10 350 6 0
|
142 10 350 6 0
|
||||||
143 10 350 6 0
|
143 10 350 6 0
|
||||||
144 12 2 0 0
|
144 12 2 0 0
|
||||||
|
@ -1102,7 +1102,8 @@ void CGHeroInstance::initObj()
|
|||||||
break;
|
break;
|
||||||
case 8://peculiar spells - enchantments
|
case 8://peculiar spells - enchantments
|
||||||
bonus.type = Bonus::SPECIAL_PECULIAR_ENCHANT;
|
bonus.type = Bonus::SPECIAL_PECULIAR_ENCHANT;
|
||||||
bonus.subtype = it->subtype; //0, 1 for Coronius
|
bonus.subtype = it->subtype; //spell id
|
||||||
|
bonus.additionalInfo = it->additionalinfo;//0, 1 for Coronius
|
||||||
speciality.bonuses.push_back (bonus);
|
speciality.bonuses.push_back (bonus);
|
||||||
break;
|
break;
|
||||||
case 9://upgrade creatures
|
case 9://upgrade creatures
|
||||||
|
@ -758,6 +758,31 @@ const Bonus * CStack::getEffect( ui16 id, int turn /*= 0*/ ) const
|
|||||||
void CStack::stackEffectToFeature(BonusList & sf, const Bonus & sse)
|
void CStack::stackEffectToFeature(BonusList & sf, const Bonus & sse)
|
||||||
{
|
{
|
||||||
si32 power = VLC->spellh->spells[sse.id].powers[sse.val];
|
si32 power = VLC->spellh->spells[sse.id].powers[sse.val];
|
||||||
|
Bonus * bonus = getBonus(Selector::typeSybtype(Bonus::SPECIAL_PECULIAR_ENCHANT, sse.id));
|
||||||
|
if (bonus)
|
||||||
|
{
|
||||||
|
switch(bonus->additionalInfo)
|
||||||
|
{
|
||||||
|
case 0: //normal
|
||||||
|
switch(type->level)
|
||||||
|
{
|
||||||
|
case 1: case 2:
|
||||||
|
power += 3; //it doesn't necessarily make sense for some spells, use it wisely
|
||||||
|
break;
|
||||||
|
case 3: case 4:
|
||||||
|
power += 2;
|
||||||
|
break;
|
||||||
|
case 5: case 6:
|
||||||
|
power += 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1: //only Coronius as yet
|
||||||
|
power = std::max(5 - type->level, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch(sse.id)
|
switch(sse.id)
|
||||||
{
|
{
|
||||||
case 27: //shield
|
case 27: //shield
|
||||||
@ -860,6 +885,11 @@ void CStack::stackEffectToFeature(BonusList & sf, const Bonus & sse)
|
|||||||
sf.back().id = sse.id;
|
sf.back().id = sse.id;
|
||||||
break;
|
break;
|
||||||
case 55: //slayer
|
case 55: //slayer
|
||||||
|
if (bonus) //Coronius
|
||||||
|
{
|
||||||
|
sf.push_back(featureGenerator(Bonus::PRIMARY_SKILL, PrimarySkill::ATTACK, power, sse.turnsRemain));
|
||||||
|
sf.back().id = sse.id;
|
||||||
|
}
|
||||||
sf.push_back(featureGenerator(Bonus::SLAYER, 0, sse.val, sse.turnsRemain));
|
sf.push_back(featureGenerator(Bonus::SLAYER, 0, sse.val, sse.turnsRemain));
|
||||||
sf.back().id = sse.id;
|
sf.back().id = sse.id;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user