Skip to content
Snippets Groups Projects
Commit d4315098 authored by dg's avatar dg
Browse files

improve classes definitions

git-svn-id: http://svn.net-core.org/repos/t-engine4@307 51575b47-30f0-44d4-a5cc-537603b46e54
parent 17311ff1
No related branches found
No related tags found
No related merge requests found
......@@ -65,6 +65,7 @@ function _M:disarm(x, y, who)
self:removed(x, y, who)
end
game.logSeen(who, "%s disarms a trap (%s).", who.name:capitalize(), self:getName())
self:onDisarm(x, y, who)
return true
end
......@@ -97,3 +98,7 @@ end
function _M:on_move(x, y, who, forced)
if not forced then self:trigger(x, y, who) end
end
--- Called when disarmed
function _M:onDisarm(x, y, who)
end
......@@ -41,3 +41,8 @@ function _M:canDisarm(x, y, who)
-- False by default
return false
end
--- Called when disarmed
function _M:onDisarm(x, y, who)
-- Let the actor gain exp
end
......@@ -2,7 +2,7 @@ newBirthDescriptor{
type = "class",
name = "Mage",
desc = {
"The basic spellcaster with lots of different skills",
"Mages are the wielder of the arcane powers. Able to cast powerful spells of destruction or to heal their wounds with nothing but a thought.",
},
descriptor_choices =
{
......@@ -15,86 +15,79 @@ newBirthDescriptor{
},
talents = { [ActorTalents.T_MANA_POOL]=1, },
copy = {
max_life = 80,
life_rating = 7,
resolvers.equip{ id=true,
{type="weapon", subtype="staff", name="elm staff"},
{type="armor", subtype="cloth", name="robe"}
},
resolvers.inventory{ id=true,
{type="potion", subtype="potion", name="potion of lesser mana"},
{type="potion", subtype="potion", name="potion of lesser mana"},
},
resolvers.generic(function(e)
e.hotkey[10] = {"inventory", "potion of lesser mana"}
end),
},
talents_types = {
["spell/arcane"]={true, -0.3},
["spell/fire"]={true, -0.3},
["spell/earth"]={true, -0.3},
["spell/water"]={true, -0.3},
["spell/air"]={true, -0.3},
["spell/phantasm"]={true, -0.3},
["spell/temporal"]={true, -0.3},
["spell/meta"]={true, -0.3},
["spell/divination"]={true, -0.3},
["spell/conveyance"]={true, -0.3},
["spell/nature"]={true, -0.3},
["spell/necromancy"]={true, -0.3},
},
}
newBirthDescriptor{
type = "subclass",
name = "Archmage",
desc = {
"Archmagi devote their whole life to the study of magic. What they lack in most other skills they make up with magic.",
"An Archmage devote her whole life to the study of magic above anything else.",
"Most archmagi lack basic skills that others take for granted (like general fighting sense), but they make up for it by their raw magical power.",
"Archmagi know all schools of magic but the more intricates(Temporal and Meta) from the start. They however usualy refuse to have anything to do with Necromancy.",
"Their most important stats are: Magic and Willpower",
},
stats = { mag=3, wil=2, cun=1, },
talents_types = {
["spell/arcane"]={true, 0.7},
["spell/fire"]={true, 0.7},
["spell/earth"]={true, 0.7},
["spell/water"]={true, 0.7},
["spell/air"]={true, 0.7},
["spell/phantasm"]={true, 0.7},
["spell/temporal"]={true, 0.7},
["spell/meta"]={true, 0.7},
["spell/divination"]={true, 0.7},
["spell/conveyance"]={true, 0.7},
["spell/nature"]={true, 0.7},
["spell/necromancy"]={true, 0.7},
["spell/arcane"]={true, 0.3},
["spell/fire"]={true, 0.3},
["spell/earth"]={true, 0.3},
["spell/water"]={true, 0.3},
["spell/air"]={true, 0.3},
["spell/phantasm"]={true, 0.3},
["spell/temporal"]={false, 0.3},
["spell/meta"]={false, 0.3},
["spell/divination"]={true, 0.3},
["spell/conveyance"]={true, 0.3},
["spell/nature"]={true, 0.3},
["cunning/survival"]={false, -0.1},
},
talents = {
[ActorTalents.T_MANATHRUST] = 1,
[ActorTalents.T_FLAME] = 1,
[ActorTalents.T_FREEZE] = 1,
},
copy = {
max_life = 80,
life_rating = 7,
resolvers.equip{ id=true,
{type="weapon", subtype="staff", name="elm staff"},
{type="armor", subtype="cloth", name="robe"}
},
resolvers.inventory{ id=true,
{type="potion", subtype="potion", name="potion of lesser mana"},
{type="potion", subtype="potion", name="potion of lesser mana"},
},
},
}
newBirthDescriptor{
type = "subclass",
name = "Arcane Blade",
desc = {
"The Arcane Blade is a mage at heart but who can stand his own in a melee.",
"The Arcane Blade is a mage who spent some time studying the more pratical art of hitting people with pointy sticks.",
"Arcane Blades may only cast spells from the most 'raw' magic schools (Arcane, Fire, Earth, Water and Air). Later on they can also learn Conveyance.",
"In order to do melee combat most Arcane Blades will actually prefer to fight with their staff, as it requires Magic more than Strength to do damage.",
"In the fields of melee combat they learn the use of shields and can later on train in various combat techniques.",
"Their most important stats are: Magic and Dexterity",
},
stats = { mag=2, wil=1, str=2, dex=1},
stats = { mag=2, str=2, dex=2},
talents_types = {
["spell/arcane"]={true, 0.3},
["spell/fire"]={true, 0.3},
["spell/earth"]={true, 0.3},
["spell/water"]={true, 0.3},
["spell/air"]={true, 0.3},
["spell/phantasm"]={true, 0.3},
["spell/temporal"]={false, 0.3},
["spell/meta"]={false, 0.3},
["spell/divination"]={true, 0.3},
["spell/conveyance"]={true, 0.3},
["spell/nature"]={true, 0.3},
["spell/necromancy"]={false, 0.3},
["technique/combat-training"]={true, 0},
["spell/arcane"]={true, 0.2},
["spell/fire"]={true, 0.2},
["spell/earth"]={true, 0.2},
["spell/water"]={true, 0.2},
["spell/air"]={true, 0.2},
["spell/conveyance"]={false, 0.2},
["technique/shield-offense"]={true, 0},
["technique/shield-defense"]={true, 0},
["technique/combat-training-active"]={false, 0},
["technique/combat-training-passive"]={false, 0},
["technique/weapon-training"]={true, 0},
["cunning/survival"]={true, -0.1},
},
talents = {
[ActorTalents.T_MANATHRUST] = 1,
......@@ -102,4 +95,19 @@ newBirthDescriptor{
[ActorTalents.T_WEAPON_COMBAT] = 1,
[ActorTalents.T_STAMINA_POOL]=1,
},
copy = {
max_life = 90,
life_rating = 8,
mana_rating = 8,
stamina_rating = 8,
resolvers.equip{ id=true,
{type="weapon", subtype="staff", name="elm staff"},
{type="armor", subtype="shield", name="iron shield"}
{type="armor", subtype="cloth", name="robe"}
},
resolvers.inventory{ id=true,
{type="potion", subtype="potion", name="potion of lesser mana"},
{type="potion", subtype="potion", name="potion of lesser mana"},
},
},
}
......@@ -11,6 +11,7 @@ newBirthDescriptor{
{
__ALL__ = "never",
Rogue = "allow",
Shadowdancer = "allow",
},
},
talents = { [ActorTalents.T_STAMINA_POOL]=1, },
......@@ -29,8 +30,36 @@ newBirthDescriptor{
type = "subclass",
name = "Rogue",
desc = {
"Rogues are masters of tricks, they can steal from shops and monsters",
"and lure monsters into deadly traps.",
"Rogues are masters of tricks. A rogue can get behind you unnoticed and stab you in the back for tremoundous damage.",
"Rogues usualy prefer to dual-wield daggers. They can also become trapping experts, from detecting and disarming them to setting them.",
"Their most important stats are: Dexterity and Cunning",
},
stats = { dex=2, str=1, cun=3, },
talents_types = {
["technique/dualweapon-attack"]={true, 0.3},
["technique/dualweapon-training"]={true, 0.3},
["technique/combat-training"]={true, 0.2},
["technique/weapon-training"]={true, 0.2},
["cunning/stealth"]={true, 0.3},
["cunning/traps"]={true, 0.3},
["cunning/dirty"]={true, 0.3},
["cunning/survival"]={true, 0.3},
},
talents = {
[ActorTalents.T_STEALTH] = 1,
[ActorTalents.T_WEAPON_COMBAT] = 1,
[ActorTalents.T_KNIFE_MASTERY] = 1,
[ActorTalents.T_TRAP_DETECTION] = 1,
},
}
newBirthDescriptor{
type = "subclass",
name = "Shadowblade",
desc = {
"Shadowblades are a blend of rogues and mages, able to kill with their daggers under a veil of stealth while casting spells",
"to enhance their performance and survival.",
"Their most important stats are: Dexterity and Cunning",
},
stats = { dex=2, str=1, cun=3, },
talents_types = {
......
......@@ -2,7 +2,7 @@ newBirthDescriptor{
type = "class",
name = "Warrior",
desc = {
"Simple fighters, they hack away with their trusty weapon.",
"Warriors train in all aspects of physical combat. They can be an juggernaut of destruction wielding a two-handed greatsword or a massive iron-clad protector with a shield.",
},
descriptor_choices =
{
......@@ -24,16 +24,23 @@ newBirthDescriptor{
type = "subclass",
name = "Fighter",
desc = {
"A warrior specializing in weapon and shield combat.",
"A Fighter specializes in weapon and shield combat, rarely leaving the cover of her many protective techniques.",
"A good Fighter is able to whistand terrible attacks from all sides, protected by her shield, and when the time comes she lashes out at her foes with incredible strength.",
"Their most important stats are: Strength and Dexterity",
},
stats = { str=3, con=2, dex=1, },
talents_types = {
["technique/shield-offense"]={true, 0.3},
["technique/shield-defense"]={true, 0.3},
["technique/2hweapon-offense"]={true, -0.1},
["technique/2hweapon-cripple"]={true, -0.1},
["technique/combat-training"]={true, 0.2},
["technique/weapon-training"]={true, 0.2},
["technique/2hweapon-offense"]={false, -0.1},
["technique/2hweapon-cripple"]={false, -0.1},
["technique/dualweapon-attack"]={false, -0.1},
["technique/dualweapon-training"]={false, -0.1},
["technique/combat-training-active"]={true, 0.3},
["technique/combat-training-passive"]={true, 0.3},
["technique/weapon-training"]={true, 0.3},
["cunning/survival"]={true, 0},
["cunning/dirty"]={false, 0},
},
talents = {
[ActorTalents.T_SHIELD_PUMMEL] = 1,
......@@ -53,16 +60,23 @@ newBirthDescriptor{
type = "subclass",
name = "Berserker",
desc = {
"A warrior specializing in two handed weapon combat",
"A Berserker wields huge two-handed weapons of destruction, bringing pain and death to her foes as she cleaves them in two.",
"A Berserker usualy forfeits all ideas of self-defence to concentrate of what she does best: killing things.",
"Their most important stats are: Strength and Constitution",
},
stats = { str=3, con=2, dex=1, },
talents_types = {
["technique/shield-offense"]={true, -0.1},
["technique/shield-defense"]={true, -0.1},
["technique/2hweapon-offense"]={true, 0.3},
["technique/2hweapon-cripple"]={true, 0.3},
["technique/combat-training"]={true, 0.2},
["technique/weapon-training"]={true, 0.2},
["technique/2hweapon-offense"]={false, 0.3},
["technique/2hweapon-cripple"]={false, 0.3},
["technique/dualweapon-attack"]={false, -0.1},
["technique/dualweapon-training"]={false, -0.1},
["technique/combat-training-active"]={true, 0.3},
["technique/combat-training-passive"]={true, 0.3},
["technique/weapon-training"]={true, 0.3},
["cunning/survival"]={true, 0},
["cunning/dirty"]={false, 0},
},
talents = {
[ActorTalents.T_BERSERKER] = 1,
......
......@@ -65,7 +65,7 @@ newEffect{
status = "detrimental",
parameters = { power=10 },
on_gain = function(self, err) return "#Target# is poisoned!", "+Poison" end,
on_lose = function(self, err) return "#Target# stops beign poisoned.", "-Poison" end,
on_lose = function(self, err) return "#Target# stops being poisoned.", "-Poison" end,
on_timeout = function(self, eff)
DamageType:get(DamageType.NATURE).projector(eff.src, self.x, self.y, DamageType.NATURE, eff.power)
end,
......
File added
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