Skip to content
Snippets Groups Projects
Commit c4cbc227 authored by DarkGod's avatar DarkGod
Browse files

Command Staff does not change the melee damage element of the staff anymore

Added a free rank of armor training and iron mail to Cursed start
parent 44e86438
No related branches found
No related tags found
No related merge requests found
......@@ -85,12 +85,13 @@ newBirthDescriptor{
[ActorTalents.T_SLASH] = 1,
[ActorTalents.T_WEAPONS_MASTERY] = 1,
[ActorTalents.T_WEAPON_COMBAT] = 1,
[ActorTalents.T_ARMOUR_TRAINING] = 1,
},
copy = {
max_life = 110,
resolvers.equip{ id=true,
{type="weapon", subtype="battleaxe", name="iron battleaxe", autoreq=true, ego_chance=-1000},
{type="armor", subtype="light", name="rough leather armour", autoreq=true, ego_chance=-1000}
{type="armor", subtype="heavy", name="iron mail armour", autoreq=true, ego_chance=-1000, ego_chance=-1000}
},
chooseCursedAuraTree = true
},
......
......@@ -126,19 +126,21 @@ local function set_element(element, new_flavor, player)
local dam = o.combat.dam
local inven = player:getInven("MAINHAND")
local o = player:takeoffObject(inven, 1)
local dam_tables = {
magestaff = {engine.DamageType.FIRE, engine.DamageType.COLD, engine.DamageType.LIGHTNING, engine.DamageType.ARCANE},
starstaff = {engine.DamageType.LIGHT, engine.DamageType.DARKNESS, engine.DamageType.TEMPORAL, engine.DamageType.PHYSICAL},
vilestaff = {engine.DamageType.DARKNESS, engine.DamageType.BLIGHT, engine.DamageType.ACID, engine.DamageType.FIRE}, -- yes it overlaps, it's okay
}
update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.damtype, element, "inc_damage", dam, o.combat.is_greater)
if o.combat.of_warding then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.damtype, element, "wards", 2, o.combat.is_greater) end
if o.combat.of_greater_warding then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.damtype, element, "wards", 3, o.combat.is_greater) end
if o.combat.of_breaching then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.damtype, element, "resists_pen", dam/2, o.combat.is_greater) end
if o.combat.of_protection then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.damtype, element, "resists", dam/2, o.combat.is_greater) end
update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.element, element, "inc_damage", dam, o.combat.is_greater)
if o.combat.of_warding then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.element, element, "wards", 2, o.combat.is_greater) end
if o.combat.of_greater_warding then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.element, element, "wards", 3, o.combat.is_greater) end
if o.combat.of_breaching then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.element, element, "resists_pen", dam/2, o.combat.is_greater) end
if o.combat.of_protection then update_table(dam_tables[o.flavor_name], dam_tables[new_flavor], o.combat.element, element, "resists", dam/2, o.combat.is_greater) end
o.combat.damtype = element
--o.combat.damtype = element
o.combat.element = element
if not o.unique then o.name = o.name:gsub(o.flavor_name, new_flavor) end
o.flavor_name = new_flavor
o:resolve()
......
......@@ -259,7 +259,7 @@ newEntity{
local explosion, particle, trail
local DamageType = require "engine.DamageType"
local damtype = combat.damtype
local damtype = combat.element
if damtype == DamageType.FIRE then explosion = "flame" particle = "bolt_fire" trail = "firetrail"
elseif damtype == DamageType.COLD then explosion = "freeze" particle = "ice_shards" trail = "icetrail"
elseif damtype == DamageType.ACID then explosion = "acid" particle = "bolt_acid" trail = "acidtrail"
......@@ -354,7 +354,7 @@ newEntity{
if not combat then return end
local DamageType = require "engine.DamageType"
local damtype = combat.damtype
local damtype = combat.element
if damtype == DamageType.FIRE then explosion = "flame"
elseif damtype == DamageType.COLD then explosion = "freeze"
elseif damtype == DamageType.ACID then explosion = "acid"
......@@ -457,7 +457,7 @@ newEntity{
local combat = weapon.combat
local DamageType = require "engine.DamageType"
local damtype = combat.damtype
local damtype = combat.element
if damtype == DamageType.FIRE then explosion = "flame"
elseif damtype == DamageType.COLD then explosion = "freeze"
elseif damtype == DamageType.ACID then explosion = "acid"
......@@ -554,7 +554,7 @@ newEntity{
combat_critical_power = resolvers.mbonus_material(25, 15),
see_invisible = resolvers.mbonus_material(15, 5),
melee_project = {
[DamageType.SHADOWFLAME] = resolvers.mbonus_material(20, 15),
[DamageType.FIRE] = resolvers.mbonus_material(20, 15),
},
},
}
......@@ -626,7 +626,7 @@ newEntity{
slot_forbid = false,
twohanded = false,
keywords = {magewarrior=true},
level_range = {40, 50},
level_range = {20, 50},
greater_ego = 1,
rarity = 35,
cost = 60,
......
......@@ -46,7 +46,8 @@ newTalent{
local particle = "bolt_fire"
local explosion = "flame"
local damtype = combat.damtype
local damtype = combat.element or combat.damtype or engine.DamageType.PHYSICAL
if damtype == DamageType.FIRE then explosion = "flame" particle = "bolt_fire" trail = "firetrail"
elseif damtype == DamageType.COLD then explosion = "freeze" particle = "ice_shards" trail = "icetrail"
elseif damtype == DamageType.ACID then explosion = "acid" particle = "bolt_acid" trail = "acidtrail"
......
......@@ -240,7 +240,7 @@ newTalent{
newTalent{
name = "Hurricane Throw",
type = {"technique/grappling", 4},
require = techs_str_req4,
require = techs_req4,
points = 5,
random_ego = "attack",
requires_target = true,
......
......@@ -722,17 +722,18 @@ function resolvers.calc.staff_wielder(t, e)
local staff_type = rng.table{2, 2, 2, 2, 3, 3, 3, 4, 4, 4}
e.flavor_name = e["flavor_names"][staff_type]
if staff_type == 2 then
e.combat.damtype = rng.table{engine.DamageType.FIRE, engine.DamageType.COLD, engine.DamageType.LIGHTNING, engine.DamageType.ARCANE }
e.combat.element = rng.table{engine.DamageType.FIRE, engine.DamageType.COLD, engine.DamageType.LIGHTNING, engine.DamageType.ARCANE }
e.modes = {"fire", "cold", "lightning", "arcane"}
e.name = e.name:gsub(" staff", " magestaff")
elseif staff_type == 3 then
e.combat.damtype = rng.table{engine.DamageType.LIGHT, engine.DamageType.DARKNESS, engine.DamageType.TEMPORAL, engine.DamageType.PHYSICAL }
e.combat.element = rng.table{engine.DamageType.LIGHT, engine.DamageType.DARKNESS, engine.DamageType.TEMPORAL, engine.DamageType.PHYSICAL }
e.modes = {"light", "darkness", "temporal", "physical"}
e.name = e.name:gsub(" staff", " starstaff")
elseif staff_type == 4 then
e.combat.damtype = rng.table{engine.DamageType.DARKNESS, engine.DamageType.BLIGHT, engine.DamageType.ACID, engine.DamageType.FIRE,}
e.combat.element = rng.table{engine.DamageType.DARKNESS, engine.DamageType.BLIGHT, engine.DamageType.ACID, engine.DamageType.FIRE,}
e.modes = {"darkness", "blight", "acid", "fire"}
e.name = e.name:gsub(" staff", " vilestaff")
end
return { inc_damage = {[e.combat.damtype] = e.combat.dam}, combat_spellpower = e.material_level * 3, combat_spellcrit = e.material_level, learn_talent = {[Talents.T_COMMAND_STAFF] = 1}, }
e.combat.damtype = engine.DamageType.PHYSICAL
return { inc_damage = {[e.combat.element] = e.combat.dam}, combat_spellpower = e.material_level * 3, combat_spellcrit = e.material_level, learn_talent = {[Talents.T_COMMAND_STAFF] = 1}, }
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment