Differences From
Artifact [ab3b6e4e1b]:
6 6 style = 'sparkle';
7 7 desc = "A potion that amps up your body's natural\nhealing abilities, causing you to heal rapidly\neven if you're starving";
8 8 infusion = 'sorcery:blood';
9 9 basis = 'sorcery:potion_luminous';
10 10 duration = function(self,meta)
11 11 return 10 + meta:get_int('duration')*2
12 12 end;
13 + quals = { force = true, duration = true };
13 14 effect = function(self, user, proto)
14 15 local meta = self:get_meta()
15 16 local force = 1 + meta:get_int('force')
16 17 late.new_effect(user, {
17 18 duration = proto:duration(meta);
18 19 raise = 4; fall = 4;
19 20 impacts = {
................................................................................
27 28 color = {79,228,243}; style = 'sparkle';
28 29 basis = 'sorcery:potion_luminous';
29 30 desc = "Conserve your precious supply of oxygen when diving down into the ocean's depths";
30 31 infusion = 'sorcery:extract_kelp';
31 32 duration = function(self,meta)
32 33 return 20 + meta:get_int('duration')*30
33 34 end;
35 + quals = { force = true, duration = true };
34 36 effect = function(self,user,proto)
35 37 local meta = self:get_meta()
36 38 local force = 1 + 2 * (meta:get_int('force'))
37 39 late.new_effect(user, {
38 40 duration = proto:duration(meta);
39 41 raise = 2; fall = 5;
40 42 impacts = {
................................................................................
43 45 })
44 46 end;
45 47 };
46 48 heal = {
47 49 name = 'Healing';
48 50 color = {243,44,58};
49 51 style = 'sparkle';
50 - no_duration = true;
52 + quals = { force = true };
51 53 desc = 'This blood-red liquid glitters with an enchantment that rapidly knits torn flesh and broken bones';
52 54 infusion = 'sorcery:oil_sanguine';
53 55 basis = 'sorcery:potion_luminous';
54 56 effect = function(self, user)
55 57 local meta = self:get_meta()
56 58 user:set_hp(user:get_hp() + (2 * (2 + meta:get_int('force'))))
57 59 end;
................................................................................
61 63
62 64 stealth = {
63 65 name = 'Stealth';
64 66 color = {184,106,224}; style = 'sparkle';
65 67 infusion = 'default:coal_lump';
66 68 basis = 'sorcery:potion_soft';
67 69 desc = 'Drinking this dark, swirling draught will shelter you from the power of mortal perception for a time, even rendering you entirely invisible at full strength.';
70 + quals = { force = true, duration = true };
68 71 duration = function(self,meta)
69 72 return 30 + meta:get_int('duration')*30
70 73 end;
71 74 effect = function(self,user,proto)
72 75 local meta = self:get_meta()
73 76 local force = 1 + 1 * (meta:get_int('force'))
74 77 local opacity = 1.0 - (1.0 * (force / 4))
................................................................................
85 88 nightsight = {
86 89 name = 'Nightsight';
87 90 color = {91,0,200}; style = 'sparkle';
88 91 desc = 'While this potion flows through your veins, your vision will be strengthened against the darkness of the night';
89 92 maxforce = 3;
90 93 infusion = 'sorcery:oil_dawn';
91 94 basis = 'sorcery:potion_soft';
95 + quals = { force = true, duration = true };
92 96 duration = function(self,meta)
93 97 return 50 + meta:get_int('duration')*70
94 98 end;
95 99 effect = function(self,user,proto)
96 100 --TODO ensure it can only be drunk at night
97 101 --TODO ensure it can't last more than one night
98 102 local meta = self:get_meta()
................................................................................
108 112 };
109 113 antigravity = {
110 114 name = 'Antigravity';
111 115 color = {240,59,255}; style = 'sparkle';
112 116 desc = 'Loosen the crushing grip of the earth upon your tender mortal form with a few sips from this glittering phial';
113 117 infusion = 'sorcery:oil_stone';
114 118 basis = 'sorcery:potion_soft';
119 + quals = { force = true, duration = true };
115 120 duration = function(self,meta)
116 121 return 20 + meta:get_int('duration')*25
117 122 end;
118 123 effect = function(self,user,proto)
119 124 local meta = self:get_meta()
120 125 local force = 1 - 0.3 * (meta:get_int('force') + 1)
121 126 late.new_effect(user, {
................................................................................
129 134 };
130 135 gale = {
131 136 name = 'Gale';
132 137 color = {187,176,203};
133 138 desc = 'Move and strike with the speed of a hurricane as this enchanted fluid courses through your veins';
134 139 infusion = 'sorcery:grease_storm';
135 140 basis = 'sorcery:potion_soft';
141 + quals = { force = true, duration = true };
136 142 duration = function(self,meta)
137 143 return 10 + meta:get_int('duration')*15
138 144 end;
139 145 effect = function(self,user,proto)
140 146 local meta = self:get_meta()
141 147 local force = 2 + 0.7 * (meta:get_int('force'))
142 148 late.new_effect(user, {
................................................................................
151 157 obsidian = {
152 158 name = 'Obsidian';
153 159 infusion = 'default:obsidian_shard';
154 160 color = {76,0,121}; style = 'sparkle';
155 161 desc = 'Walk untroubled through volleys of arrows and maelstroms of swinging blades, for all will batter uselessly against skin protected by spellwork mightier than the doughtiest armor';
156 162 infusion = 'default:obsidian_shard';
157 163 basis = 'sorcery:potion_luminous';
158 - no_force = true;
164 + quals = { duration = true };
159 165 duration = function(self,meta)
160 166 return 5 + meta:get_int('duration')*7
161 167 end;
162 168 };
163 169 lavabreathing = {
164 170 name = 'Lavabreathing';
165 171 color = {243,118,79}; style = 'sparkle'; glow = 12;
166 172 basis = 'sorcery:potion_soft';
167 173 desc = "Wade through seas of roiling lava as easily as though it were but a babbling brook";
174 + quals = { duration = true };
168 175 };
169 176 -- mighty = {
170 177 -- name = 'Mighty';
171 178 -- color = {255,0,119}; style = 'sparkle'; glow = 5;
172 179 -- infusion = 'sorcery:grease_war';
173 180 -- basis = 'sorcery:potion_soft';
174 181 -- desc = 'Amplify the power of your blows and crack steel armor with the force of your bare hands';
175 182 -- };
176 183 resilient = {
177 184 name = 'Resilient';
178 185 color = {124,124,124}; style = 'dull';
179 186 basis = 'sorcery:potion_soft';
180 187 desc = 'Withstand greater damage and hold your ground even in face of tremendous force';
188 + quals = { force = true, duration = true };
181 189 };
182 190 hover = {
183 191 name = 'Hover';
184 192 color = {164,252,55}; style = 'sparkle';
185 193 desc = 'Rise into the air for a time and stay there until the potion wears off';
186 194 basis = 'sorcery:potion_soft';
195 + quals = { force = true, duration = true };
187 196 };
188 197 flight = {
189 198 name = 'Flight';
190 199 color = {143,35,255}; style = 'sparkle';
191 200 desc = 'Free yourself totally from the shackles of gravity and soar through the air however you should will';
192 201 basis = 'sorcery:potion_soft';
193 202 infusion = 'sorcery:grease_lift';
194 - no_force = true;
203 + quals = { duration = true };
195 204 duration = function(self,meta)
196 205 return 40 + meta:get_int('duration')*55
197 206 end;
198 207 effect = function(self,user,proto)
199 208 late.new_effect(user, {
200 209 duration = proto:duration(self:get_meta());
201 210 impacts = {
................................................................................
206 215 };
207 216 leap = {
208 217 name = 'Leap';
209 218 color = {164,252,55};
210 219 desc = 'Soar high into the air each time you jump (but may risk damage if used without a Feather Potion)';
211 220 infusion = 'sorcery:oil_wind';
212 221 basis = 'sorcery:potion_soft';
222 + quals = { force = true, duration = true };
213 223 duration = function(self,meta)
214 224 return 5 + meta:get_int('duration')*7
215 225 end;
216 226 effect = function(self,user,proto)
217 227 local meta = self:get_meta()
218 228 local force = 2 + (0.5 * meta:get_int('force'))
219 229 late.new_effect(user, {