Commit 204938bba1b24fd4c84ae19fabb96657e1d22622
1 parent
5067ff1a
New artifacts
git-svn-id: http://svn.net-core.org/repos/t-engine4@5144 51575b47-30f0-44d4-a5cc-537603b46e54
Showing
5 changed files
with
263 additions
and
44 deletions
... | ... | @@ -134,7 +134,14 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", define_as = "HEAVY_SENTINEL", |
134 | 134 | size=5, |
135 | 135 | max_life = resolvers.rngavg(110,125), |
136 | 136 | combat_armor = 20, combat_def = 35, |
137 | - life_rating = 24, | |
137 | + life_rating = 28, | |
138 | + | |
139 | + combat_atk=30, | |
140 | + | |
141 | + stats = { str=28, dex=60, mag=20, con=20 }, | |
142 | + | |
143 | + equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_MOLTEN", random_art_replace={chance=75}, autoreq=true, force_drop=true}, {type="armor", subtype="light", autoreq=true}, }, | |
144 | + | |
138 | 145 | melee_project = {[DamageType.FIRE]=resolvers.mbonus(15, 25)}, |
139 | 146 | on_melee_hit = {[DamageType.FIRE]=resolvers.mbonus(15, 5)}, |
140 | 147 | autolevel = "warriormage", |
... | ... | @@ -143,18 +150,18 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", define_as = "HEAVY_SENTINEL", |
143 | 150 | [Talents.T_BONE_ARMOUR]={base=5, every=10, max=7}, |
144 | 151 | [Talents.T_STUN]={base=3, every=10, max=5}, |
145 | 152 | [Talents.T_SKELETON_REASSEMBLE]=5, |
146 | - [Talents.T_ARCANE_POWER]={base=2, every=3, max = 10}, | |
147 | - [Talents.T_FLAME]={base=4, every=4, max = 10}, | |
148 | - [Talents.T_FLAMESHOCK]={base=3, every=6, max = 10}, | |
153 | + [Talents.T_ARCANE_POWER]={base=3, every=3, max = 6}, | |
154 | + [Talents.T_FLAME]={base=3, every=4, max = 8}, | |
155 | + [Talents.T_FLAMESHOCK]={base=2, every=6, max = 7}, | |
149 | 156 | [Talents.T_MANAFLOW]={base=5, every=5, max = 10}, |
150 | - [Talents.T_INFERNO]={base=2, every=4, max = 8}, | |
157 | + [Talents.T_INFERNO]={base=2, every=5, max = 6}, | |
151 | 158 | [Talents.T_BURNING_WAKE]={base=1, every=4, max = 5}, |
152 | - [Talents.T_WILDFIRE]={base=1, every=7, max=4}, | |
153 | - [Talents.T_GOLEM_MOLTEN_SKIN]={base=2, every=6, max=6}, | |
154 | - [Talents.T_CLEANSING_FLAMES]={base=2, every=6, max = 6}, | |
155 | - [Talents.T_ARCANE_COMBAT]=4, | |
156 | - [Talents.T_SPELLCRAFT]={base=3, every=7, max=8}, | |
157 | - [Talents.T_FIERY_HANDS]={base=3, every=7, max=8}, | |
159 | + [Talents.T_WILDFIRE]={base=3, every=7, max=5}, | |
160 | + --[Talents.T_GOLEM_MOLTEN_SKIN]={base=3, every=6, max=6}, | |
161 | + [Talents.T_CLEANSING_FLAMES]={base=2, every=6, max = 5}, | |
162 | + [Talents.T_ARCANE_COMBAT]=3, | |
163 | + [Talents.T_SPELLCRAFT]={base=3, every=7, max=7}, | |
164 | + [Talents.T_FIERY_HANDS]={base=3, every=7, max=7}, | |
158 | 165 | }, |
159 | 166 | resolvers.sustains_at_birth(), |
160 | 167 | resolvers.drops{chance=100, nb=3, {tome_drops="boss"} }, | ... | ... |
... | ... | @@ -159,16 +159,18 @@ newEntity{ base = "BASE_NPC_GHOST", define_as = "GLACIAL_LEGION", |
159 | 159 | rarity = 50, |
160 | 160 | size_category=5, |
161 | 161 | rank = 3.5, |
162 | - max_life = resolvers.rngavg(75,90), life_rating = 16, | |
162 | + max_life = resolvers.rngavg(90,100), life_rating = 18, | |
163 | 163 | autolevel = "caster", |
164 | 164 | ai = "tactical", ai_state = { talent_in=1, }, |
165 | 165 | ai_tactic = resolvers.tactic"ranged", |
166 | + stats = { str=13, dex=15, mag=45, con=14 }, | |
167 | + combat_spellpower=40, | |
166 | 168 | |
167 | 169 | resists = {all = -10, [DamageType.FIRE] = -100, [DamageType.LIGHT] = 30, [DamageType.COLD] = 100}, |
168 | 170 | combat_armor = 0, combat_def = resolvers.mbonus(10, 10), |
169 | 171 | --stealth = resolvers.mbonus(40, 10), |
170 | 172 | |
171 | - combat = { dam=5, atk=5, apr=100, dammod={str=0.5, mag=0.5} }, | |
173 | + combat = { dam=50, atk=50, apr=100, dammod={mag=1.1} }, | |
172 | 174 | melee_project = {[DamageType.COLD]=resolvers.mbonus(15, 25)}, |
173 | 175 | on_melee_hit = {[DamageType.COLD]=resolvers.mbonus(15, 5)}, |
174 | 176 | |
... | ... | @@ -195,16 +197,18 @@ newEntity{ base = "BASE_NPC_GHOST", define_as = "GLACIAL_LEGION", |
195 | 197 | resolvers.talents{ |
196 | 198 | [Talents.T_PHASE_DOOR]=5, |
197 | 199 | [Talents.T_FREEZE]={base=5, every=4, max=10}, |
198 | - [Talents.T_ICE_STORM]={base=3, every=6, max=8}, | |
199 | - [Talents.T_ICE_SHARDS]={base=4, every=5, max=9}, | |
200 | - [Talents.T_ARCANE_POWER]={base=3, every=3, max = 11}, | |
200 | + [Talents.T_ICE_STORM]={base=4, every=6, max=8}, | |
201 | + [Talents.T_ICE_SHARDS]={base=5, every=5, max=9}, | |
202 | + [Talents.T_ARCANE_POWER]={base=4, every=3, max = 11}, | |
201 | 203 | [Talents.T_SHATTER]={base=3, every=6, max=8}, |
202 | - [Talents.T_UTTERCOLD]={base=1, every=7, max = 4}, | |
203 | - [Talents.T_FROZEN_GROUND]={base=2, every=6, max = 6}, | |
204 | + [Talents.T_UTTERCOLD]={base=3, every=7, max = 5}, | |
205 | + [Talents.T_FROZEN_GROUND]={base=4, every=6, max = 6}, | |
204 | 206 | [Talents.T_CHILL_OF_THE_TOMB]={base=5, every=5, max=10}, |
205 | 207 | [Talents.T_SPELLCRAFT]={base=3, every=7, max=8}, |
206 | 208 | [Talents.T_MANAFLOW]={base=5, every=4, max = 12}, |
207 | 209 | [Talents.T_FROST_HANDS]={base=3, every=7, max=8}, |
208 | 210 | }, |
209 | 211 | resolvers.drops{chance=100, nb=3, {tome_drops="boss"} }, |
212 | + resolvers.drops{chance=100, nb=1, {defined="GLACIAL_CLOAK"} }, | |
210 | 213 | } |
214 | + | ... | ... |
... | ... | @@ -139,9 +139,9 @@ newEntity{ base = "BASE_NPC_GHOUL", define_as = "ROTTING_TITAN", |
139 | 139 | desc = [[This gigantic mass of flesh and stone moves slowly, the ground rumbling with each step it takes. Its body seems to constantly pulsate and reform. Massive stones at the end of each limb form massive blunt weapons.]], |
140 | 140 | level_range = {45, nil}, exp_worth = 2, |
141 | 141 | rarity = 25, |
142 | - max_life = resolvers.rngavg(150,200), life_rating = 34, | |
142 | + max_life = resolvers.rngavg(150,200), life_rating = 40, | |
143 | 143 | combat_armor = 40, combat_def = 10, |
144 | - ai_state = { talent_in=2, ai_pause=20 }, | |
144 | + ai_state = { talent_in=2 }, | |
145 | 145 | movement_speed = 0.8, |
146 | 146 | size_category=5, |
147 | 147 | |
... | ... | @@ -156,41 +156,45 @@ newEntity{ base = "BASE_NPC_GHOUL", define_as = "ROTTING_TITAN", |
156 | 156 | |
157 | 157 | can_pass = {pass_wall=70}, --So AI knows to try and pass walls. |
158 | 158 | |
159 | - stats = { str=17, dex=12, mag=12, con=14 }, | |
160 | - resists = {all = 20, [DamageType.PHYSICAL]=15, [DamageType.ARCANE]=-50, [DamageType.FIRE]=-20}, | |
159 | + stats = { str=40, dex=20, mag=24, con=25 }, | |
160 | + resists = {all = 25, [DamageType.PHYSICAL]=15, [DamageType.ARCANE]=-50, [DamageType.FIRE]=-20}, | |
161 | + | |
162 | + resolvers.equip{ {type="weapon", subtype="greatmaul", defined="ROTTING_MAUL", random_art_replace={chance=30}, autoreq=true, force_drop=true}, }, | |
161 | 163 | |
162 | - combat = { dam=resolvers.levelup(50, 1, 1.4), atk=resolvers.levelup(8, 1, 1), apr=4, dammod={str=0.6}, damtype=engine.DamageType.PHYSKNOCKBACK, }, | |
164 | + combat = { dam=resolvers.levelup(80, 1, 2), atk=resolvers.levelup(70, 1, 1), apr=20, dammod={str=1.3}, damtype=engine.DamageType.PHYSICAL, }, | |
165 | + | |
166 | + combat_atk=40, | |
167 | + combat_spellpower=25, | |
163 | 168 | |
164 | 169 | on_move = function(self) |
165 | - if not force then | |
166 | - self:project({type="ball", range=0, selffire=false, radius=1}, self.x, self.y, engine.DamageType.DIG, 1) | |
170 | + self:project({type="ball", range=0, selffire=false, radius=1}, self.x, self.y, engine.DamageType.DIG, 1) | |
167 | 171 | if rng.percent(20) then |
168 | 172 | game.logSeen(self, "The ground shakes as %s steps!", self.name:capitalize()) |
169 | 173 | local tg = {type="ball", range=0, selffire=false, radius=3, no_restrict=true} |
170 | 174 | local DamageType = require "engine.DamageType" |
171 | 175 | self:project(tg, self.x, self.y, DamageType.PHYSKNOCKBACK, {dam=24, dist=1}) |
172 | 176 | self:doQuake(tg, self.x, self.y) |
173 | - end | |
174 | 177 | end |
175 | 178 | end, |
176 | 179 | |
177 | 180 | knockback_immune=1, |
178 | 181 | |
179 | 182 | resolvers.talents{ |
180 | - [Talents.T_STUN]={base=3, every=9, max=7}, | |
181 | - [Talents.T_BITE_POISON]={base=3, every=9, max=7}, | |
183 | + [Talents.T_STUN]={base=5, every=9, max=7}, | |
184 | + [Talents.T_BITE_POISON]={base=5, every=9, max=7}, | |
182 | 185 | [Talents.T_SKELETON_REASSEMBLE]=4, |
183 | - [Talents.T_ROTTING_DISEASE]={base=4, every=9, max=9}, | |
186 | + [Talents.T_ROTTING_DISEASE]={base=6, every=9, max=9}, | |
184 | 187 | [Talents.T_DECREPITUDE_DISEASE]={base=3, every=9, max=9}, |
185 | 188 | [Talents.T_WEAKNESS_DISEASE]={base=3, every=9, max=9}, |
186 | - [Talents.T_KNOCKBACK]={base=3, every=9, max=9}, | |
187 | - [Talents.T_STRIKE]={base=4, every=5, max = 12}, | |
188 | - [Talents.T_INNER_POWER]={base=4, every=5, max = 10}, | |
189 | - [Talents.T_EARTHEN_MISSILES]={base=5, every=5, max = 10}, | |
190 | - [Talents.T_CRYSTALLINE_FOCUS]={base=1, every=7, max = 4}, | |
191 | - [Talents.T_EARTHQUAKE]={base=2, every=5, max = 6}, | |
192 | - [Talents.T_ONSLAUGHT]={base=2, every=5, max = 6}, | |
193 | - [Talents.T_BATTLE_CALL]={base=2, every=5, max = 6}, | |
189 | + [Talents.T_KNOCKBACK]={base=5, every=9, max=9}, | |
190 | + [Talents.T_STRIKE]={base=6, every=5, max = 12}, | |
191 | + [Talents.T_WEAPONS_MASTERY]={base=4, every=5, max = 12}, | |
192 | + [Talents.T_INNER_POWER]={base=7, every=5, max = 10}, | |
193 | + [Talents.T_EARTHEN_MISSILES]={base=7, every=5, max = 10}, | |
194 | + [Talents.T_CRYSTALLINE_FOCUS]={base=3, every=7, max = 6}, | |
195 | + [Talents.T_EARTHQUAKE]={base=4, every=5, max = 6}, | |
196 | + [Talents.T_ONSLAUGHT]={base=3, every=5, max = 6}, | |
197 | + [Talents.T_BATTLE_CALL]={base=4, every=5, max = 6}, | |
194 | 198 | }, |
195 | 199 | resolvers.sustains_at_birth(), |
196 | 200 | resolvers.drops{chance=100, nb=3, {tome_drops="boss"} }, | ... | ... |
... | ... | @@ -164,16 +164,19 @@ newEntity{ base = "BASE_NPC_VAMPIRE", unique=true, define_as="ARCH_ZEPHYR", |
164 | 164 | level_range = {45, nil}, exp_worth = 1, |
165 | 165 | rarity = 25, |
166 | 166 | autolevel="warriormage", |
167 | - stats = { str=12, dex=25, mag=12, con=12 }, | |
168 | - max_life = resolvers.rngavg(100,120), life_rating=24, | |
167 | + stats = { str=24, dex=40, mag=24, con=20 }, | |
168 | + max_life = resolvers.rngavg(100,120), life_rating=25, | |
169 | 169 | combat_armor = 15, combat_def = 15, |
170 | 170 | rank = 3.5, |
171 | - mana_regen=5, | |
171 | + mana_regen=6, | |
172 | 172 | |
173 | 173 | movement_speed=1.5, |
174 | + | |
175 | + combat_atk = 40, | |
176 | + combat_spellpower = 40, | |
174 | 177 | |
175 | 178 | ai = "tactical", ai_state = { talent_in=4, }, |
176 | - resolvers.equip{ {type="weapon", subtype="longbow", autoreq=true}, {type="ammo", subtype="arrow", autoreq=true} }, | |
179 | + resolvers.equip{ {type="weapon", subtype="longbow", defined="STORM_FURY", random_art_replace={chance=20}, autoreq=true, force_drop=true}, {type="ammo", subtype="arrow", autoreq=true} }, | |
177 | 180 | |
178 | 181 | resists = { [DamageType.LIGHTNING] = 100, [DamageType.PHYSICAL] = -20, [DamageType.LIGHT] = 30, }, |
179 | 182 | resolvers.talents{ |
... | ... | @@ -185,12 +188,12 @@ newEntity{ base = "BASE_NPC_VAMPIRE", unique=true, define_as="ARCH_ZEPHYR", |
185 | 188 | [Talents.T_THUNDERSTORM]={base=3, every=6, max=8}, |
186 | 189 | [Talents.T_NOVA]={base=3, every=6, max=8}, |
187 | 190 | [Talents.T_SHOCK]={base=3, every=6, max=8}, |
188 | - [Talents.T_TEMPEST]={base=1, every=7, max=4}, | |
189 | - [Talents.T_HURRICANE]={base=1, every=7, max=4}, | |
191 | + [Talents.T_TEMPEST]={base=3, every=7, max=6}, | |
192 | + [Talents.T_HURRICANE]={base=2, every=7, max=4}, | |
190 | 193 | |
191 | 194 | [Talents.T_SHOOT]=1, -- If possible, add talent that lets it temporarily fire lightning instead of arrows. |
192 | 195 | [Talents.T_RELOAD]=1, |
193 | - [Talents.T_BOW_MASTERY]={base=6, every=5}, | |
196 | + [Talents.T_BOW_MASTERY]={base=7, every=5}, | |
194 | 197 | [Talents.T_DUAL_ARROWS]={base=3, every=6, max=8}, |
195 | 198 | [Talents.T_PINNING_SHOT]={base=2, every=6, max=4}, |
196 | 199 | [Talents.T_CRIPPLING_SHOT]={base=2, every=6, max=7}, | ... | ... |
... | ... | @@ -1293,3 +1293,204 @@ It has been kept somewhat intact with layers of salt and clay, but in spite of t |
1293 | 1293 | self.worn_by = nil |
1294 | 1294 | end, |
1295 | 1295 | } |
1296 | + | |
1297 | +--Storm fury, lightning infused bow that automatically attacks nearby enemies with bolts of lightning. | |
1298 | +newEntity{ base = "BASE_LONGBOW", | |
1299 | + power_source = {arcane=true}, | |
1300 | + define_as = "STORM_FURY", | |
1301 | + name = "Storm Fury", unique=true, | |
1302 | + unided_name = "crackling longbow", color=colors.BLUE, | |
1303 | + desc = [[This dragonbone longbow is enhanced with bands of steel, which arc with intense lightning. Bolts travel up and down the string, ignorant of you.]], | |
1304 | + require = { stat = { dex=60 }, }, | |
1305 | + level_range = {40, 50}, | |
1306 | + rarity = 250, | |
1307 | + cost = 300, | |
1308 | + material_level = 5, | |
1309 | + sentient = true, | |
1310 | + combat = { | |
1311 | + range=10, | |
1312 | + physspeed = 0.7, | |
1313 | + }, | |
1314 | + wielder = { | |
1315 | + combat_spellpower=8, | |
1316 | + ranged_project = {[DamageType.LIGHTNING] = 50}, | |
1317 | + talents_types_mastery = { | |
1318 | + ["spell/air"] = 0.2, | |
1319 | + ["spell/storm"] = 0.1, | |
1320 | + }, | |
1321 | + inc_damage={ | |
1322 | + [DamageType.LIGHTNING] = 15, | |
1323 | + }, | |
1324 | + }, | |
1325 | + act = function(self) | |
1326 | + self:useEnergy() | |
1327 | + if not self.worn_by then return end | |
1328 | + if self.worn_by:attr("dead") then return end | |
1329 | + self.zap = self.zap + 5 | |
1330 | + if not rng.percent(self.zap) then return end | |
1331 | + local who = self.worn_by | |
1332 | + local Map = require "engine.Map" | |
1333 | + --local project = require "engine.DamageType" | |
1334 | + local tgts = {} | |
1335 | + local DamageType = require "engine.DamageType" | |
1336 | + --local project = "engine.ActorProject" | |
1337 | + local grids = core.fov.circle_grids(who.x, who.y, 5, true) | |
1338 | + for x, yy in pairs(grids) do for y, _ in pairs(grids[x]) do | |
1339 | + local a = game.level.map(x, y, Map.ACTOR) | |
1340 | + if a and who:reactionToward(a) < 0 then | |
1341 | + tgts[#tgts+1] = a | |
1342 | + end | |
1343 | + end end | |
1344 | + | |
1345 | + local tg = {type="hit", range=5,} | |
1346 | + for i = 1, 1 do | |
1347 | + if #tgts <= 0 then break end | |
1348 | + local a, id = rng.table(tgts) | |
1349 | + table.remove(tgts, id) | |
1350 | + | |
1351 | + self.za = 0 | |
1352 | + who:project(tg, a.x, a.y, DamageType.LIGHTNING_DAZE, {daze=40, dam = rng.avg(1,3) * (40+ who:getMag() * 1.5)} ) | |
1353 | + game.level.map:particleEmitter(who.x, who.y, math.max(math.abs(a.x-who.x), math.abs(a.y-who.y)), "lightning", {tx=a.x-who.x, ty=a.y-who.y}) | |
1354 | + game:playSoundNear(self, "talents/lightning") | |
1355 | + game.logSeen(who, "#GOLD#A bolt of lightning fires from %s's bow, striking %s!", who.name:capitalize(), a.name:capitalize()) | |
1356 | + end | |
1357 | + end, | |
1358 | + on_wear = function(self, who) | |
1359 | + self.worn_by = who | |
1360 | + self.zap = 0 | |
1361 | + end, | |
1362 | + on_takeoff = function(self) | |
1363 | + self.worn_by = nil | |
1364 | + end, | |
1365 | +} | |
1366 | +--Ice Cloak that can release massive freezing AOE, dropped by Glacial Legion. | |
1367 | +newEntity{ base = "BASE_CLOAK", define_as="GLACIAL_CLOAK", | |
1368 | + power_source = {arcane=true}, | |
1369 | + unique = true, | |
1370 | + name = "Frozen Shroud", image="object/artifact/cloak_winds_whisper.png", | |
1371 | + unided_name = "chilling cloak", | |
1372 | + desc = [[All that remains of the Glacial Legion. This cloak seems to exude an icy cold vapor that freezes all it touches.]], | |
1373 | + level_range = {40, 50}, | |
1374 | + rarity = 250, | |
1375 | + cost = 300, | |
1376 | + material_level = 5, | |
1377 | + wielder = { | |
1378 | + resists= {[DamageType.FIRE] = -15,[DamageType.COLD] = 25, all=5}, | |
1379 | + inc_stats = { [Stats.STAT_MAG] = 7,}, | |
1380 | + combat_def = 12, | |
1381 | + on_melee_hit = {[DamageType.ICE]=60}, | |
1382 | + }, | |
1383 | + max_power = 30, power_regen = 1, | |
1384 | + use_power = { name = "release a blast of ice", power = 30, | |
1385 | + use = function(self, who) | |
1386 | + local duration = 10 | |
1387 | + local radius = 4 | |
1388 | + local dam = (25 + who:getMag()) | |
1389 | + local blast = {type="ball", range=0, radius=radius, selffire=false, display={particle="bolt_ice", trail="icetrail"}} | |
1390 | + who:project(blast, who.x, who.y, DamageType.COLD, dam*3) | |
1391 | + who:project(blast, who.x, who.y, DamageType.FREEZE, {dur=6, hp=80+dam}) | |
1392 | + -- Add a lasting map effect | |
1393 | + game.level.map:addEffect(who, | |
1394 | + who.x, who.y, duration, | |
1395 | + engine.DamageType.ICE, dam, | |
1396 | + radius, | |
1397 | + 5, nil, | |
1398 | + engine.Entity.new{alpha=100, display='', color_br=30, color_bg=60, color_bb=200}, | |
1399 | + function(e) | |
1400 | + e.radius = e.radius | |
1401 | + return true | |
1402 | + end, | |
1403 | + false | |
1404 | + ) | |
1405 | + game.logSeen(who, "%s releases a burst of freezing cold from within their cloak!", who.name:capitalize(), self:getName()) | |
1406 | + return {id=true, used=true} | |
1407 | + end | |
1408 | + }, | |
1409 | +} | |
1410 | +--Blight+Phys Greatmaul that inflicts disease, dropped by Rotting Titan. | |
1411 | +newEntity{ base = "BASE_GREATMAUL", define_as="ROTTING_MAUL", | |
1412 | + power_source = {arcane=true}, | |
1413 | + unique = true, | |
1414 | + name = "Blighted Maul", color = colors.LIGHT_RED, image = "object/artifact/voratun_hammer_of_the_deep_bellow.png", | |
1415 | + unided_name = "rotten stone limb", | |
1416 | + desc = [[The massive stone limb of the Rotting Titan, a mass of stone and rotting flesh. You think you can lift it, but it is very heavy.]], | |
1417 | + level_range = {40, 50}, | |
1418 | + rarity = 250, | |
1419 | + require = { stat = { str=60 }, }, | |
1420 | + cost = 300, | |
1421 | + encumber = 12, | |
1422 | + material_level = 5, | |
1423 | + combat = { | |
1424 | + dam = 96, | |
1425 | + apr = 22, | |
1426 | + physcrit = 10, | |
1427 | + combat_critical_power = 40, | |
1428 | + psysspeed=1.2, | |
1429 | + dammod = {str=1.4}, | |
1430 | + damage_convert = {[ DamageType.BLIGHT] = 20}, | |
1431 | + melee_project={[DamageType.CORRUPTED_BLOOD] = 30}, | |
1432 | + special_on_hit = {desc="25% to damage nearby foes", fct=function(combat, who, target) | |
1433 | + if rng.percent(25) then | |
1434 | + local dam = rng.avg(1,2) * (70+ who:getStr() * 1.8) | |
1435 | + game.logSeen(self, "The ground shakes as the %s hits!", who.name:capitalize()) | |
1436 | + local tg = {type="ball", range=0, selffire=false, radius=2, no_restrict=true} | |
1437 | + who:project(tg, target.x, target.y, DamageType.PHYSICAL, dam) | |
1438 | + end | |
1439 | + end}, | |
1440 | + }, | |
1441 | + wielder = { | |
1442 | + inc_damage={[DamageType.PHYSICAL] = 12,}, | |
1443 | + knockback_immune=0.3, | |
1444 | + }, | |
1445 | + max_power = 50, power_regen = 1, | |
1446 | + use_power = { name = "knock away nearby foes", power = 50, | |
1447 | + use = function(self, who) | |
1448 | + local dam = rng.avg(1,2) * (125+ who:getStr() * 3) | |
1449 | + local tg = {type="ball", range=0, selffire=false, radius=4, no_restrict=true} | |
1450 | + who:project(tg, who.x, who.y, DamageType.PHYSKNOCKBACK, {dam=dam, dist=4}) | |
1451 | + game.logSeen(who, "%s slams their %s into the ground, sending out a shockwave!", who.name:capitalize(), self:getName()) | |
1452 | + return {id=true, used=true} | |
1453 | + end | |
1454 | + }, | |
1455 | +} | |
1456 | +--Molten Staff, dropped by Heavy Sentinel. | |
1457 | +newEntity{ base = "BASE_STAFF", | |
1458 | + power_source = {arcane=true}, | |
1459 | + define_as = "STAFF_MOLTEN", rarity=false, | |
1460 | + unided_name = "melting bone", | |
1461 | + name = "Molten Staff", unique=true, | |
1462 | + desc = [[This staff of fused molten bone from the Heavy Sentinel radiates intense heat. It still glows red with the heat of the Sentinel's core.]], | |
1463 | + require = { stat = { mag=60 }, }, | |
1464 | + level_range = {40, 50}, | |
1465 | + rarity = 250, | |
1466 | + cost = 300, | |
1467 | + material_level=5, | |
1468 | + combat = { | |
1469 | + dam = 60, | |
1470 | + apr = 6, | |
1471 | + physcrit = 5, | |
1472 | + dammod = {mag=1.35}, | |
1473 | + damtype = DamageType.FIREBURN, | |
1474 | + }, | |
1475 | + wielder = { | |
1476 | + combat_spellpower = 20, | |
1477 | + combat_spellcrit = 10, | |
1478 | + inc_damage={ | |
1479 | + [DamageType.FIRE] = 20, | |
1480 | + }, | |
1481 | + resists={ | |
1482 | + [DamageType.FIRE] = 24, | |
1483 | + [DamageType.COLD] = -10, | |
1484 | + }, | |
1485 | + resists_pen={ | |
1486 | + [DamageType.FIRE] = 10, | |
1487 | + }, | |
1488 | + talents_types_mastery = { | |
1489 | + ["spell/fire"] = 0.1, | |
1490 | + ["spell/wildfire"] = 0.1, | |
1491 | + }, | |
1492 | + }, | |
1493 | + max_power = 6, power_regen = 1, | |
1494 | + use_talent = { id = Talents.T_FLAME, level = 5, power = 5 }, | |
1495 | + talent_on_spell = { {chance=20, talent="T_FLAME", level=2} }, | |
1496 | +} | |
\ No newline at end of file | ... | ... |
-
Please register or login to post a comment