Artifact & Ego ideas

All new ideas for the upcoming releases of ToME 4.x.x should be discussed here

Moderator: Moderator

Message
Author
edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Re: Artifact & Ego ideas

#241 Post by edge2054 »

And I'll work on some new ones today. Not sure if those above where missed or if you just didn't like them Darkgod ;) So figured I'd repost if it was the former. If you hate them it's cool, I won't post them again.

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Artifact & Ego ideas

#242 Post by darkgod »

https://spreadsheets.google.com/spreads ... c&hl=en_US

List of all artifacts sorted by type
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Re: Artifact & Ego ideas

#243 Post by Grey »

Bolbum's Big Knocker made it in? Awesome :)

We clearly need more artifact slings and heavy/massive armours. And more weapons in general.
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Artifact & Ego ideas

#244 Post by darkgod »

Obviously!

I updated the spreadsheet to show the power sources
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Re: Artifact & Ego ideas

#245 Post by edge2054 »

No idea why the formating is getting destroyed. I swear everything is tabbed on my side.

Code: Select all

newEntity{ base = "BASE_DIGGER",
	power_source = {technique=true},
	unique = true,
	name = "Pick of Dwarven Kings", color = colors.GREY,
	unided_name = "crude iron pickaxe",
	desc = [[This ancient pickaxe was used to pass down dwarven legends from one generation to the next.  Every bit of the head and shaft are covered in runes that recount the stories of the dwarven people.]],
	level_range = {22, 42},
	rarity = 220,
	cost = 150,
	material_level = 3,
	digspeed = 12,
	wielder	= {
		resists_pen = { [DamageType.PHYSICAL] = 10, },
		inc_stats = { [Stats.STAT_STR] = 3, [Stats.STAT_CON] = 3, },
		combat_mentalresist = 7,
		combat_physresist = 7,
		combat_spellresist = 7,
		max_life = 50,
	},
	on_wear = function(self, who)
		if who.descriptor and who.descriptor.race == "Dwarf" then
			local Stats = require "engine.interface.ActorStats"
			local DamageType = require "engine.DamageType"

			self:specialWearAdd({"wielder","inc_stats"}, { [Stats.STAT_STR] = 5, [Stats.STAT_CON] = 5, })
			self:specialWearAdd({"wielder","inc_damage"}, { [DamageType.PHYSICAL] = 10 })
			self:specialWearAdd({"wielder", "talents_types_mastery"}, { ["race/dwarf"] = 0.2 })

			game.logPlayer(who, "#LIGHT_BLUE#You feel the whisper of your ancestors as you wield this pickaxe!")
		end
	end,
}

Hedrachi
Uruivellas
Posts: 606
Joined: Tue May 11, 2010 8:58 pm
Location: Ore uh gun, USA

Re: Artifact & Ego ideas

#246 Post by Hedrachi »

An artefact weapon pair for melee TWs. Apologies for it only being 95% complete (see comments).

Code: Select all

newEntity{ base = "BASE_SWORD", define_as = "ART_PAIR_TWSWORD",
   power_source = {arcane=true},
   unique = true,
   name = "Sword of Potential Futures",
   unided_name = "under-wrought blade",
   desc = [[Legend has it this blade is one of a pair; twin blades forged in the earliest of days of the Wardens. To an untrained wielder it is less than perfect; to a Warden, it represents the untapped potential of time.]],
   level_range = {20, 30},
   rarity = 200,
   require = { stat = { str=24, mag=24 }, },
   cost = 300,
   material_level = 3,
   combat = {
      dam = 28,
      apr = 10,
      physcrit = 8,
      dammod = {str=0.8,mag=0.2},
      melee_project={[DamageType.TEMPORAL] = 5},
   },
   wielder = {
      inc_damage={
         [DamageType.TEMPORAL] = 5, [DamageType.PHYSICAL] = -5,
      },
   },
   set_list = { {"define_as","ART_PAIR_TWDAG"} },
   on_set_complete = function(self, who)
      -- A 10% chance to create the status effect "Turn Back the Clock (level 3)," but not an actual bolt to do damage.
	  self:specialSetAdd({"combat","melee_project"}, {[engine.DamageType.RANDOM_CLOCK]=10})
      self:specialSetAdd({"wielder","inc_damage"}, {[engine.DamageType.TEMPORAL]=5, [engine.DamageType.PHYSICAL]=10,})
      game.logSeen(who, "#CRIMSON#The echoes of time resound as the blades are reunited once more.")
   end,
   on_set_broken = function(self, who)
      game.logPlayer(who, "#CRIMSON#Time seems less perfect in your eyes as the blades are separated.")
   end,
}

newEntity{ base = "BASE_KNIFE", define_as = "ART_PAIR_TWDAG",
   power_source = {arcane=true},
   unique = true,
   name = "Dagger of the Past",
   unided_name = "rusted blade",
   desc = [[Legend has it this blade is one of a pair; twin blades forged in the earliest of days of the Wardens. To an untrained wielder it is less than perfect; to a Warden, it represents the opportunity to learn from the mistakes of the past.]],
   level_range = {20, 30},
   rarity = 200,
   require = { stat = { dex=24, mag=24 }, },
   cost = 300,
   material_level = 3,
   combat = {
      dam = 25,
      apr = 20,
      physcrit = 20,
      dammod = {dex=0.5,mag=0.5},
      melee_project={[DamageType.TEMPORAL] = 5},
   },
   wielder = {
      inc_damage={
         [DamageType.TEMPORAL] = 5, [DamageType.PHYSICAL] = -10,
      },
   },
   set_list = { {"define_as","ART_PAIR_TWSWORD"} },
   on_set_complete = function(self, who)
      --Redo the next line to only have a 10% chance to do flawed design.
	  self:specialSetAdd({"combat","special_on_hit"}, {target:setEffect(target.EFF_FLAWED_DESIGN, 3, {})
      self:specialSetAdd({"wielder","inc_damage"}, {[engine.DamageType.TEMPORAL]=5, [engine.DamageType.PHYSICAL]=10,})
	  self:specialSetAdd({"wielder","resists_pen"}, {[engine.DamageType.TEMPORAL]=15,})
   end,
}
Having satellite internet is a lot like relying on the processes described in those RFC's for your internet. Except, instead of needing to worry about statues interrupting your connection, this time you worry about the weather. I have satellite internet. Fun, no?

edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Re: Artifact & Ego ideas

#247 Post by edge2054 »

I think this will work. Haven't figured out how to compile since the openAL dependency was added so can't test right now. Switched the procs around so the blade of potential futures does flawed design and the dagger of the past does turn back the clock (purely for thematic reasons.

If it doesn't work as is I suspect the comma at end},) in the special_on_hit fields would be to blame.

Code: Select all

newEntity{ base = "BASE_SWORD", define_as = "ART_PAIR_TWSWORD",
	power_source = {arcane=true},
	unique = true,
	name = "Sword of Potential Futures",
	unided_name = "under-wrought blade",
	desc = [[Legend has it this blade is one of a pair; twin blades forged in the earliest of days of the Wardens. To an untrained wielder it is less than perfect; to a Warden, it represents the untapped potential of time.]],
	level_range = {20, 30},
	rarity = 200,
	require = { stat = { str=24, mag=24 }, },
	cost = 300,
	material_level = 3,
	combat = {
		dam = 28,
		apr = 10,
		physcrit = 8,
		dammod = {str=0.8,mag=0.2},
		melee_project={[DamageType.TEMPORAL] = 5},
	},
	wielder = {
		inc_damage={
			[DamageType.TEMPORAL] = 5, [DamageType.PHYSICAL] = -5,
		},
	},
	set_list = { {"define_as","ART_PAIR_TWDAG"} },
	on_set_complete = function(self, who)
		self:specialSetAdd({"combat","special_on_hit"}, {desc="10% chance to reduce the target's resistances to all damage", fct=function(combat, who, target)
			if not rng.percent(10) then return end
			target:setEffect(target.FLAWED_DESIGN, 3, {power=20})
		end},)
		self:specialSetAdd({"wielder","inc_damage"}, {[engine.DamageType.TEMPORAL]=5, [engine.DamageType.PHYSICAL]=10,})
		game.logSeen(who, "#CRIMSON#The echoes of time resound as the blades are reunited once more.")
   end,
   on_set_broken = function(self, who)
		game.logPlayer(who, "#CRIMSON#Time seems less perfect in your eyes as the blades are separated.")
   end,
}

newEntity{ base = "BASE_KNIFE", define_as = "ART_PAIR_TWDAG",
   power_source = {arcane=true},
   unique = true,
   name = "Dagger of the Past",
   unided_name = "rusted blade",
   desc = [[Legend has it this blade is one of a pair; twin blades forged in the earliest of days of the Wardens. To an untrained wielder it is less than perfect; to a Warden, it represents the opportunity to learn from the mistakes of the past.]],
   level_range = {20, 30},
   rarity = 200,
   require = { stat = { dex=24, mag=24 }, },
   cost = 300,
   material_level = 3,
   combat = {
      dam = 25,
      apr = 20,
      physcrit = 20,
      dammod = {dex=0.5,mag=0.5},
      melee_project={[DamageType.TEMPORAL] = 5},
   },
   wielder = {
      inc_damage={
         [DamageType.TEMPORAL] = 5, [DamageType.PHYSICAL] = -10,
      },
   },
   set_list = { {"define_as","ART_PAIR_TWSWORD"} },
   on_set_complete = function(self, who)
      --Redo the next line to only have a 10% chance to do flawed design.
   		self:specialSetAdd({"combat","special_on_hit"}, {desc="10% chance to return the target to a much youger state", fct=function(combat, who, target)
			if not rng.percent(10) then return end
			target:setEffect(target.TURN_BACK_THE_CLOCK, 3, {power=10})
		end},)
		self:specialSetAdd({"wielder","inc_damage"}, {[engine.DamageType.TEMPORAL]=5, [engine.DamageType.PHYSICAL]=10,})
		self:specialSetAdd({"wielder","resists_pen"}, {[engine.DamageType.TEMPORAL]=15,})
	end,
}
Last edited by edge2054 on Mon Aug 01, 2011 8:51 pm, edited 1 time in total.

Hedrachi
Uruivellas
Posts: 606
Joined: Tue May 11, 2010 8:58 pm
Location: Ore uh gun, USA

Re: Artifact & Ego ideas

#248 Post by Hedrachi »

I agree with the changes, but the desc fields need to be switched too heh.
Having satellite internet is a lot like relying on the processes described in those RFC's for your internet. Except, instead of needing to worry about statues interrupting your connection, this time you worry about the weather. I have satellite internet. Fun, no?

edge2054
Retired Ninja
Posts: 3756
Joined: Fri May 28, 2010 4:38 pm

Re: Artifact & Ego ideas

#249 Post by edge2054 »

Hedrachi wrote:I agree with the changes, but the desc fields need to be switched too heh.
hehe.. done

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Artifact & Ego ideas

#250 Post by Frumple »

Hrm. Sos, have idea for mace. How difficult would it be to have an artifact's name shift around?

Hedrachi
Uruivellas
Posts: 606
Joined: Tue May 11, 2010 8:58 pm
Location: Ore uh gun, USA

Re: Artifact & Ego ideas

#251 Post by Hedrachi »

Frumple wrote:Hrm. Sos, have idea for mace. How difficult would it be to have an artifact's name shift around?
Open world-artifacts.lua, boss-artifacts.lua, or world-artifacts-far-east.lua in notepad++ (whichever has the artefact you want to rename), search for said artefact, rename said artefact, add new artefact (make sure the define_as fields are different if you're going to do something like give a boss a percent chance to drop it, or make it a part of a set.)

If you mean get DG to approve, just post the idea you got here and let him decide.
Having satellite internet is a lot like relying on the processes described in those RFC's for your internet. Except, instead of needing to worry about statues interrupting your connection, this time you worry about the weather. I have satellite internet. Fun, no?

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Artifact & Ego ideas

#252 Post by Frumple »

Ah, no. The question is how to get an artifact to change its own name around, as a part of how it functions. I'd like the weapon to fairly drastically change as you use it and the name to reflect the changes appropriately.

Being less circumspect about it, I'd like a stralite-level mace based on Ureslak. The gimmick is that, while it has a base physical form and alright stats, every once in a while (5-10% chance, maybe lower) it changes forms when you hit something with it -- changing base damage type and adding a different set of bonuses. While quite random, any of the forms (barring, perhaps, the base physical one) should be sufficient to make the weapon a contender for an end game weapon.

All I've got so far is thus:

Code: Select all

Ureslak's Femur

A shortened femur of the mighty prismatic dragon, this erratic club still pulses with Ureslak's violatile nature.

newEntity{ base = "BASE_MACE",
	name = "Ureslak's Femur",
	unided_name = "a strangely colored bone",
	desc = [[A shortened femur of the mighty prismatic dragon, this erratic club still pulses with Ureslak's violatile nature.]],
	level_range = {30, 50},
	require = { stat = { str=40 }, },
	rarity = 400,
	cost = 300,
	material_level = 4,
	combat = {
		dam = 41,
		apr = 5,
		physcrit = 2.5,
		dammod = {str=1},
	},
	
	Base, fire/cold/lightning/nature +%10 dam/res, 10-15% phys pen -10 arcane res
	
	Fire Burn damage, +global speed, increased fire res/dam, fire pen Ureslak's Flaming Femur
	Ice Ice damage, +armor, increased cold res/dam, cold pen, " Frozen "
	Lightning Shock damage, +stats, increased lightning res/dam, lightning pen, " Crackling "
	Poison Insidious poison, +resists, increased nature res/dam, nature pen, " Venomous "
	Darkness Darkness+blind damage, +saves, increased darkness res/dam, darkness pen, " Starry "
	Arcane Arcane damage, +alldam, arcane pen, -res " Eldritch "
Not nearly ready for actual use :P

Aquillion
Spiderkin
Posts: 503
Joined: Sun Jun 12, 2011 7:02 am

Re: Artifact & Ego ideas

#253 Post by Aquillion »

darkgod wrote:Err why should all spells be castable by items ????
They shouldn't all be, certainly! Many spells are not suitable, either because they're too complicated, or would be too overpowered for the wrong people, or are too iconic, or just mechanically don't make any sense like that.

But in general, the current list of spells cast by items seems a bit too "vanilla" -- it feels biased towards older spells, and misses a lot of things that it could be interesting and exciting to find an item capable of casting, without particularly breaking anything. So I think it'd be good to expand it a bit (especially in artifacts, which can have a somewhat more of a dramatic impact to help them feel special.)

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Artifact & Ego ideas

#254 Post by darkgod »

Moar moar!
(and updates to existing ones!)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Artifact & Ego ideas

#255 Post by darkgod »

Code: Select all

newEntity{ base = "BASE_MACE",
	name = "Ureslak's Femur", define_as = "URESLAK_FEMUR",
	unided_name = "a strangely colored bone", unique = true,
	desc = [[A shortened femur of the mighty prismatic dragon, this erratic club still pulses with Ureslak's volatile nature.]],
	level_range = {42, 50},
	require = { stat = { str=45, dex=30 }, },
	rarity = 400,
	cost = 300,
	material_level = 5,
	combat = {
		dam = 52,
		apr = 5,
		physcrit = 2.5,
		dammod = {str=1},
		special_on_hit = {desc="10% chance to shimer to a different hue and gain powers", fct=function(combat, who, target)
			if not rng.percent(10) then return end
			local o, item, inven_id = who:findInAllInventoriesBy("define_as", "URESLAK_FEMUR")
			if not o or not who:getInven(inven_id).worn then return end

			who:onTakeoff(o, true)
			local b = rng.table(o.ureslak_bonuses)
			o.name = "Ureslak's "..b.name.." Femur"
			o.combat.damtype = b.damtype
			o.wielder = b.wielder
			who:onWear(o, true)
			game.logSeen(who, "#GOLD#Ureslak's Femur glows and shimers!")
		end },
	},
	ureslak_bonuses = {
		{ name = "Flaming", damtype = DamageType.FIREBURN, wielder = {
			global_speed = 0.3,
			resists = { [DamageType.FIRE] = 45 },
			resists_pen = { [DamageType.FIRE] = 30 },
			inc_damage = { [DamageType.FIRE] = 30 },
		} },
		{ name = "Frozen", damtype = DamageType.ICE, wielder = {
			combat_armor = 15,
			resists = { [DamageType.COLD] = 45 },
			resists_pen = { [DamageType.COLD] = 30 },
			inc_damage = { [DamageType.COLD] = 30 },
		} },
		{ name = "Crackling", damtype = DamageType.LIGHTNING_DAZE, wielder = {
			inc_stats = { [Stats.STAT_STR] = 6, [Stats.STAT_DEX] = 6, [Stats.STAT_CON] = 6, [Stats.STAT_CUN] = 6, [Stats.STAT_WIL] = 6, [Stats.STAT_MAG] = 6, },
			resists = { [DamageType.LIGHTNING] = 45 },
			resists_pen = { [DamageType.LIGHTNING] = 30 },
			inc_damage = { [DamageType.LIGHTNING] = 30 },
		} },
		{ name = "Venomous", damtype = DamageType.POISON, wielder = {
			resists = { all = 15, [DamageType.NATURE] = 45 },
			resists_pen = { [DamageType.NATURE] = 30 },
			inc_damage = { [DamageType.NATURE] = 30 },
		} },
		{ name = "Starry", damtype = DamageType.DARKNESS_BLIND, wielder = {
			combat_spellresist = 15, combat_mentalresist = 15, combat_physresist = 15,
			resists = { [DamageType.DARKNESS] = 45 },
			resists_pen = { [DamageType.DARKNESS] = 30 },
			inc_damage = { [DamageType.DARKNESS] = 30 },
		} },
		{ name = "Eldritch", damtype = DamageType.ARCANE, wielder = {
			resists = { [DamageType.ARCANE] = 45 },
			resists_pen = { [DamageType.ARCANE] = 30 },
			inc_damage = { all = 12, [DamageType.ARCANE] = 30 },
		} },
	},
}
Done :)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Post Reply