Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 5 6 [7] 8 9 ... 17

Author Topic: [DROW] Discussion and Suggestions (v0.9)  (Read 21004 times)

mattychan

  • Bay Watcher
  • Less than dabbling DF Modder
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #90 on: June 16, 2013, 04:06:21 pm »

Hey Putnam I love your mod and the Drow are hilarious.
Although idk if it was a bug or not, but they had no clothes other than robes and it made them all unhappy also i took a few drow spiders with me at embark and they swarmed the map after a few births.. they ate harpys like they were nothing it was awesome
another glitch im sure your aware of one of my drow was good at being a lawdwarf instead of eing a lawdrow or something like that.
love the Drow mod plz continue  ;D
Logged
If I ask a dumb question, please tell me. So we can bond over it.
Clearly egotistical. Moon Elves Rule!

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #91 on: June 16, 2013, 04:40:20 pm »

Oh, haha, yeah, I need to include the "clothes" like dwarves have :X

Lawdwarf? Haha, better fix that. Thanks for the feedback, it's definitely appreciated.

EDIT: Inspiration struck. No armor at all for Drow, but they'll be natural dodgers; also, magic.
« Last Edit: June 16, 2013, 10:22:14 pm by Putnam »
Logged

mattychan

  • Bay Watcher
  • Less than dabbling DF Modder
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #92 on: June 17, 2013, 01:03:49 pm »

hmmm sounds interesting will make fights different
Logged
If I ask a dumb question, please tell me. So we can bond over it.
Clearly egotistical. Moon Elves Rule!

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #93 on: June 18, 2013, 04:28:16 pm »

Yes, it will.

Code: (magic.lua) [Select]
-- Magic for the magic god, I guess.

--[[
Magic is, in the Drow Underdark mod, a bit different from what you'd be used to.

As usual, there are experience points and levels. These are kept track of with this script (drow/magic.lua). The script gives all drow on the map a second soul; this is where the information is stored. A reaction is used to start a drow on his or her journey through magic; this reaction assigns the drow a particular school.

Yes, schools. Schools are probably a familiar concept to you; however, the schools in Drow Underdark are not like many other schools.

First, you have divine magic. This is magic that uses the favor of the gods to work. This appears entirely in the form of reactions and won't be covered here; it'll use the "Priest" skill, a renamed strand extractor skill. Lolth will be the primary goddess prayed to.

Second, you have body magic, which has two sub-schools: destructive body magic and constructive body magic. Destructive body magic is such things as slowing down the opponent, decreasing his, her or its physical attributes, causing nausea, and, at higher levels, outright draining all of their blood. Constructive body magic is the healing of wounds, buffing of abilities, speeding up, the perfect inverse of destructive body magic. You want your healers to be constructive body mages.

Third, you have soul magic, which has the same two sub-schools. Changing mental attributes, skill rolls and, at higher levels, the skills themselves permenantly.

Fourth, you have sorcery. This is things like fire magic (drow don't really care for the above-ground, so burning it all down is just fine by them), paralysis, shooting webs, and other such generic things.

All of these things start out weak, but grow very strong over time. A long time. Unlike battle, magic is learned not by experience, but by study; Drow will study in their free time, gaining experience points while idle. You may notice a bit of slowdown every once in a while; this is an unavoidable consequence. I'll try to make it as fast as possible.
--]]

local function unitHasMagicSkill(unit)
if #unit.status.souls>1 then return true else return false end
end

local function iterateSkill(unit)
local realSoul = unit.status.current_soul
local fakeSoul = unit.status.souls[1]
local initialExperienceIncrease = 1000
local mentalAttributeModifier = 0
for k,attribute in ipairs(realsoul.mental_attrs) do
if not(k == 9 or k == 11 or k == 12) then
mentalAttributeModifier = mentalAttributeModifier+(attribute.value/1000)
end
end
mentalAttributeModifier = mentalAttributeModifier/10
local personalityModifier=0
for k,attribute in ipairs(realSoul.traits) do
if k == 8 or k == 9 or k == 11 or k == 12 or k == 14 or k == 15 or (k>22 and k<29) then
personalityModifier = personalityModifier+(attribute/50)
end
end
personalityModifier = personalityModifier/12
finalExperienceIncrease = math.floor(initialExperienceIncrease*personalityModifier*mentalAttributeModifier)
fakeSoul.unk1=fakeSoul.unk1+finalExperienceIncrease--unk1 is being used as an experience points counter; the second soul shouldn't be checked for anything at this point at all, so there's no need to worry about it, I should hope.
local experiencePoints = fakeSoul.unk1
fakeSoul.unk2=math.floor((1/10)*math.sqrt(2*experiencePoints+9025))-(17/2) --I know this seems hilariously complex, but what it basically means is that it takes 100 more experience points to get to the next level per level; unk2 is level.
end
local function unitIsIdling(unit)
local jobs = df.job_type
if unit.job.current_job == nil
then
return true
else
unitJob == unit.job.current_job
end
if unitJob.flags.on_break or unitJob.job_type == jobs.AttendParty or unitJob.job_type == jobs.Rest
then
unitJob = nil
return true
else
unitJob = nil
return false
end
end

local function checkUnitForMagicExperience(unit)
if unitIsIdling(unit) then
iterateSkill(unit)
end
end

local function checkAllUnitsForIdleMagicExperience()
local delayCounter = 1
for k,unit in ipairs(df.global.world.units.active) do
if unitHasMagicSkill then
dfhack.timeout(delayCounter,"ticks",function() checkUnitForMagicExperience(unit) end)
delayCounter = delayCounter+1
end
end
end

dfhack.onStateChange.drowMagic = function(code)
    if code==SC_WORLD_LOADED then
        dfhack.timeout(400,'ticks',mainloop) --disables if map/world is unloaded automatically
    end
end

local function mainloop()
checkAllUnitsForIdleMagicExperience()
dfhack.timeout(400,'ticks',mainloop) --a check every "eight hours" in-game; eight hours seems like a good "study" interval.
end

Hehe, and with that, I can officially say that you're not going to be getting this mod for a while :P
« Last Edit: June 18, 2013, 09:55:49 pm by Putnam »
Logged

mattychan

  • Bay Watcher
  • Less than dabbling DF Modder
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #94 on: June 19, 2013, 12:44:19 am »

That sounds utterly game changing... I love it.
so lua is the df scripting language?
I wish I had a book on it.
Logged
If I ask a dumb question, please tell me. So we can bond over it.
Clearly egotistical. Moon Elves Rule!

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #95 on: June 19, 2013, 01:32:25 am »

Lua is one of two scripting languages--along with Ruby--that can be used for DFHack. There are guides online and a guide for the Lua API for DFHack here.

mattychan

  • Bay Watcher
  • Less than dabbling DF Modder
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #96 on: June 19, 2013, 04:11:38 pm »

I love you... marry  me...
Logged
If I ask a dumb question, please tell me. So we can bond over it.
Clearly egotistical. Moon Elves Rule!

DeathPunch

  • Bay Watcher
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #97 on: June 19, 2013, 05:35:18 pm »

hm no armor for Drows seems a little bit ... unrealistic to me :/. just light/leather armor would be more realistic in my oppinion
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #98 on: June 19, 2013, 07:27:56 pm »

Well, yeah, they'll have padded stuff and such.

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #99 on: June 19, 2013, 08:17:09 pm »

Maybe no shaped armor, but only chainmail armors? I dont know ^^
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

migshark

  • Bay Watcher
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #100 on: June 19, 2013, 11:17:02 pm »

Could you modify landmines to be exploding spider egg sacs? I, for one, would go berserk if I were suddenly covered in 1000s of tiny spiders. Egg sac grenades would be cool too. Not sure if that'd really be in keeping with the 'holy spider' thing, maybe base a few things off of lesser breeds of spiders?

 Is there a way to produce a 'pull' effect for a web, rather than a knockback or paralyze?
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #101 on: June 19, 2013, 11:20:31 pm »

I couldn't.

mattychan

  • Bay Watcher
  • Less than dabbling DF Modder
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #102 on: June 19, 2013, 11:23:32 pm »

That deescalated quickly.
Logged
If I ask a dumb question, please tell me. So we can bond over it.
Clearly egotistical. Moon Elves Rule!

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #103 on: June 20, 2013, 04:34:53 am »

But you can make landmines that are called "eggs" that explode in a shower of "hit by a cloud of tiny spiders" that paralyzes, removes nofear, acompanied by material emissions that use your projectile expansion to spawn webs.

So an exploding spideregg that showers people in spiders and webs.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Excaerious

  • Bay Watcher
    • View Profile
Re: [DROW] Discussion and Suggestions (v0.1)
« Reply #104 on: June 20, 2013, 08:14:31 am »

Are you gonna add all the interesting cave flair to simulate some underdark madness? The iconic Umber Hulk and Pech come to mind immediately as monsters I don't remember seeing.
Logged
Pages: 1 ... 5 6 [7] 8 9 ... 17