Class idea/request: Swashbuckler.

A place to post your add ons and ideas for them

Moderator: Moderator

Post Reply
Message
Author
Nekomiminya
Wayist
Posts: 17
Joined: Fri Mar 25, 2016 6:54 pm

Class idea/request: Swashbuckler.

#1 Post by Nekomiminya »

Sword and gun, that's the fun. Dance around or run to mum.

Swashbuckler I have in mind is basically switch-hitter who doesn't change his weapons. Weapon in main hand, steam gun in offhand(or sling in main, dagger in off). Scales off Dexterity, Cunning and Strength. Uses Stamina and Steam. Falls under Tinker.

Talent Trees (up to be named and/or renamed):
Hack&Blast (dex)

- Classic Scale-One-Weapon ability. (Passive) While using any melee attack perform an ranged attack as well.
- (lvl 4/5/6/7/8) (active) move one step, then perform melee attack (that triggers ranged attack)
- (lvl 8/9/10/11/12) (active) Ok, this one should be named double tap - Perform two ranged attacks with range 2. Bonus damage equal to (1/1.25/1.5/1.75/2) times percent of target hp missing.
- (lvl 12/13/14/15/16) (passive) Melee strike inflict debuff that increase ranged damage for 0.5 turn. Ranged strike inflict debuff that decrease enemy movement speed for 1 turn.

Run&Gun (Cun)
- (lvl 1/2/3/4/5) (Sustain) increase to movement speed. Slowly scales up with dex.
- (lvl 4/5/6/7/8) (Passive) movement build up momentum stacks. For each momentum stack, gain defence bonus. After turn without moving you begin to quickly lose them (gain 1 per move, up to 10, lose 1->2->3->4?)
- (lvl 8/9/10/11/12) (Active)(10% of turn) Change all momentum stacks into burn stacks. Dash up to (1 + 1/2 momentum stacks rounded up) tiles.
Burn stacks disappear after one round and increase crit chance & crit damage.
- (lvl 12/13/14/15/16) (sustain) Attack faster, with reduction scaling with momentum stacks (or burn stacks, if they are higher).

Archery Training
As with Archer. Locked.

Combat Veteran
As with Archer.

Avoidance
As with Gunslinger. Locked.

Also need some kind of advanced tree >//////< no ideas sorry



Category Trees:

Mobility

Chemistry

Physics

Engineering Locked.

Survival

Combat Training Locked.


Starting items: Steamgun, Waraxe, Pouch of Iron Shots, Rough Leather Hat, Rough Leather Armor, Steam Generator (+5 steam, cooldown 32), Medical Injector, Healing Salve, Wild Infusion

Starting talents: Hack&Blast first talent, Steady Shot, Smith, Therapeutic, and ofc. Shoot.

Starting stats: +4 dex, +3 cun, +2 luck

Nekomiminya
Wayist
Posts: 17
Joined: Fri Mar 25, 2016 6:54 pm

Re: Class idea/request: Swashbuckler.

#2 Post by Nekomiminya »

*sigh* I suck at this. Anyway, if someone wanted to help at this class...

\birth\classes\tinker
[spoiler]

Code: Select all

-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009 - 2016 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org

local Particles = require "engine.Particles"


newBirthDescriptor{
	type = "subclass",
	name = "Swashbuckler",
	desc = {
		"A tinker who decided that some finesse is needed.",
		"Their most important stats are: Cunning, Dexterity and Strenght",
		"#GOLD#Stat modifiers:",
		"#LIGHT_BLUE# * +0 Strength, +4 Dexterity, +0 Constitution",
		"#LIGHT_BLUE# * +0 Magic, +0 Willpower, +3 Cunning",
		"#GOLD#Life per level:#LIGHT_BLUE# +1",
	},
	locked = function(birther) return birther:isDescriptorSet("world", "Orcs") or profile.mod.allow_build.orcs_tinker_eyal end,
	locked_desc = "Build, experiment, discover. The path of inventions is never over!",
	power_source = {steam=true, stamina=true},
	stats = { cun=3, dex=3, con=0, luck=2},
	talents_types = {
		
		["technique/archery-training"]={false, 0.3},
		["steamtech/avoidance"]={false, 0.3},
		["steamtech/chemistry"]={true, 0.2},
		["steamtech/physics"]={true, 0.2},
		["steamtech/engineering"]={false, 0.2},
		["cunning/survival"]={true, 0},
		["technique/combat-training"]={true, 0.3},
		["steamtech/slashing-gunnery"]={true, 0.3},
		["steamtech/agile-gunnery"]={true, 0.3},
		["technique/mobility"]={true, 0.2}
	},
	talents = {
		[ActorTalents.T_SMITH] = 1,
		[ActorTalents.T_THERAPEUTICS] = 1,
		[ActorTalents.T_SHOOT] = 1,
		[ActorTalents.T_WEAPON_COMBAT] = 1,
	},
	copy = {
		max_life = 90,
		resolvers.equip{ id=true,
			{type="weapon", subtype="steamgun", name="iron steamgun", base_list="mod.class.Object:/data-orcs/general/objects/steamgun.lua", autoreq=true, ego_chance=-1000},
			{type="weapon", subtype="longsword", name="iron longsword", autoreq=true, ego_chance=-1000, ego_chance=-1000},
			{type="ammo", subtype="shot", name="pouch of iron shots", autoreq=true, ego_chance=-1000},
			{type="armor", subtype="head", name="rough leather hat", autoreq=true, ego_chance=-1000, ego_chance=-1000},
			{type="armor", subtype="light", name="rough leather armour", autoreq=true, ego_chance=-1000, ego_chance=-1000},
			{type="armor", subtype="cloak", name="linen cloak", autoreq=true, ego_chance=-1000, ego_chance=-1000},
		},
		resolvers.attachtinkerbirth{ id=true,
			{defined="TINKER_FOCUS_LEN1"},
		},
		resolvers.learn_schematic"FOCUS_LEN",
		resolvers.generic(function(e)
			e.auto_shoot_talent = e.T_SHOOT
		end),
	},
	copy_add = {
		life_rating = 1,
	},
	party_copy = {
		known_tinkers = {
			PAIN_SUPPRESSOR_SALVE = true,
		}
	},
}

[/spoiler]

Agile Gunnery
[spoiler]

Code: Select all

-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009 - 2016 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
newTalentType{ allow_random=true, no_silence=true, type="steamtech/agile-gunnery", name = "Agile Gunnery", description = "Gotta shoot fast." }
newTalent{
	name = "Agility",
	type = {"steamtech/agile-gunnery", 1},
	require = { stat = { dex=function(level) return 12 + level * 6 end }, },
	points = 5,
	mode = "sustained",
	sustain_stamina = 20,
	cooldown = 10,
	tactical = { BUFF = 2 },
	getHaste = function(self, t) return self:combatTalentScale(t, 0.09, 0.45, 0.75) end,
	activate = function(self, t)
		local power = t.getHaste(self, t)
		return {
			speed = self:addTemporaryValue("move_speed_add", power),
		}
	end,
	deactivate = function(self, t, p)
		self:removeTemporaryValue("move_speed_add", p.speed)
		return true
	end,
	info = function(self, t)
		local haste = t.getHaste(self, t)
		return ([[Increases the user's movement speed by %d%%.]]):
		format(100 * haste)
	end,
}
[/spoiler]

For slashing gunnery it's only definition of catalog :/

Also, for combat...
[spoiler]

Code: Select all

-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009 - 2016 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org

local _M = loadPrevious(...)


_M:addCombatTraining("steamgun", "T_SLASHSHOT")

return _M
[/spoiler]

Also, for second ability of agile gunnery, dead momentum (whitehoof) would probably be fine.

I was also hinted that first ability of slashing gunnery would be best based on Psyshot... but I'm thinking about Arcane Blade core ability too, after all it already activates on melee attack, right? Change chance to 100% and magic to ranged attack... hmm..

Razakai
Uruivellas
Posts: 889
Joined: Tue May 14, 2013 3:45 pm

Re: Class idea/request: Swashbuckler.

#3 Post by Razakai »

Had a brief look at this. This should give you enough to do most of the work, let me know if you have any questions.

http://hastebin.com/puqatolaqa.lua

First talent is Hack&Blast. Only works if you MH a shooter though. Might want to stick some mastery for steamguns there too.
Second is a talent for another class of mine, sustain that adds movespeed. Can rename and re-use.
Third is the Death Momentum code, that'll give you your movespeed effects.
Fourth is another talent for a class of mine, that consumes stacks to convert into a buff. You'll just need to create a crit damage/chance effect - try the Ogric Wrath code.
Didn't put anything in for the last talent. That one is slightly trickier, try basing it off Deathknight's Spirit feed, except replace the effects with an attack speed, and the soul scaling with an eff check for Momentum/Burn (using the same code as the one I used for Static Barrier).

Nekomiminya
Wayist
Posts: 17
Joined: Fri Mar 25, 2016 6:54 pm

Re: Class idea/request: Swashbuckler.

#4 Post by Nekomiminya »

Why first doesn't work with OH shooter? (razakai already gave me line needed to give reaver ability, thus making option around this issue, but this is still good question)

Second... looks cleaner than what I had. Ty.

I already had death momentum... it's changing it what's a problem, not finding it.

Fourth... No idea what I'm supposed to do >.<


So, to-do list:
2, 3 and 4th talent in hack&blast

2, 3 and 4th talent in run&gun.

Damnit.

Nekomiminya
Wayist
Posts: 17
Joined: Fri Mar 25, 2016 6:54 pm

Re: Class idea/request: Swashbuckler.

#5 Post by Nekomiminya »

http://hastebin.com/tapafomuva.lua

Progress so far... Thanks to StarKeep!

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Class idea/request: Swashbuckler.

#6 Post by nsrr »

Nekomiminya wrote:http://hastebin.com/tapafomuva.lua

Progress so far... Thanks to StarKeep!
http://hastebin.com/herikujigo.lua

Here you go, I think that should fix up what you have. There are some comments and suggestions in there as well, feel free to ignore me though :lol:

Also, I haven't slept much the last couple days so I'm probably not in much of a state to be doing this, so please forgive me if I made an error or four in there. Anyone else who wants to look over this, please do.

Nekomiminya
Wayist
Posts: 17
Joined: Fri Mar 25, 2016 6:54 pm

Re: Class idea/request: Swashbuckler.

#7 Post by Nekomiminya »

I really have to go, but...
http://www.filedropper.com/swashbuckler

Post Reply