Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3

Author Topic: So I summoned a diety into the mortal realm...  (Read 9822 times)

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #15 on: June 11, 2014, 06:05:53 am »


Heh. Talk about an ice queen.

I'd love to see your rendition of that thing, though. There's something inherently cool about the idea of a fridge with boobs.
what really would be depicted is a giant Edna with a beard and packed with muscle also blue. that's what Frost Giants are. Either way it's a great ending point for this dive into what are gods in DF and why are they all kill happy?
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: So I summoned a diety into the mortal realm...
« Reply #16 on: June 11, 2014, 06:43:25 am »

Interesting.

I tried summoning an avatar by using a modified spawnunit usin the deity's own species and then setting the new unit's id as the deity's, but the results were not this interesting, they were not referred to as a deity by the game and did not take the deity's name unless I specifically copied it over the new unit.  Can you post the code you used?

HooliganintheFort

  • Bay Watcher
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #17 on: June 11, 2014, 09:29:09 am »

Kill it! Kill it with fire!
Logged

Meneth

  • Bay Watcher
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #18 on: June 11, 2014, 12:09:53 pm »


Heh. Talk about an ice queen.

I'd love to see your rendition of that thing, though. There's something inherently cool about the idea of a freezer with boobs.
Vegeta begs to differ.
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #19 on: June 11, 2014, 02:37:53 pm »

I tried this myself. The elf merchant I decided to turn into a diety named Deler got a new symbol (the deity one, natch) and introduced herself as Deler, but was still named as if she was a normal elf. However, an oddity happened: my adventurer could now talk to Deler at any time after talking to the elf! Naturally, the game crashed upon trying this (as is well known to happen when you try to talk to actual deities in the current version).

TheFlame52

  • Bay Watcher
  • Certified geezer & only man to win 0.40.24
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #20 on: June 11, 2014, 05:37:09 pm »

This topic is full of win.

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #21 on: June 11, 2014, 06:37:02 pm »

Interesting.

I tried summoning an avatar by using a modified spawnunit usin the deity's own species and then setting the new unit's id as the deity's, but the results were not this interesting, they were not referred to as a deity by the game and did not take the deity's name unless I specifically copied it over the new unit.  Can you post the code you used?
you set the historical_unit_id not the Id since gods don't have a unit to begin with they are born from lore of old.
I was mostly messing with the Advmode UI talk_target and notice it only has 3 variables a unit id, it's historical unit id, and a weird anon_1 which goes on or off which I guess is if you talk to them or not.
also notice talking to gods from body swapping into someone who worships them shows them with out a unit id. Which is what I think causes the game to crash, it looking for a unit for you to talk to in game and not finding one also the unit has to be in the area so no long distance calls to a foreign fort either.
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

Kromgar

  • Bay Watcher
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #22 on: June 12, 2014, 02:26:08 pm »

What has !!Science!!  done? We are now god killers.
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: So I summoned a diety into the mortal realm...
« Reply #23 on: June 13, 2014, 09:32:54 am »

Now here's something strange.

I can overwrite a creature with the historical figure of a deity, including changing their name to the name of that deity.  I can also spawn a unit and then set its historical figure as that of the deity.  However, when I try to copy all of the deity's name over the new creature, the game crashes when attempting to display its name.  Why should this be?

EDIT: Unless it is one of the deities that only has a single name.  Does it have something to do with translations?

EDIT2: Never mind, it was the language.  The name must have an existing language to display translated words.  I can now summon deities in Fortress Mode... which is usually rather underwhelming, since they just have the regular abilities of whatever creature they are depicted as.  Well, that can be remedied easily enough...

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #24 on: June 13, 2014, 01:48:44 pm »

Now here's something strange.

I can overwrite a creature with the historical figure of a deity, including changing their name to the name of that deity.  I can also spawn a unit and then set its historical figure as that of the deity.  However, when I try to copy all of the deity's name over the new creature, the game crashes when attempting to display its name.  Why should this be?

EDIT: Unless it is one of the deities that only has a single name.  Does it have something to do with translations?

EDIT2: Never mind, it was the language.  The name must have an existing language to display translated words.  I can now summon deities in Fortress Mode... which is usually rather underwhelming, since they just have the regular abilities of whatever creature they are depicted as.  Well, that can be remedied easily enough...
Yeah they really don't have any abilities or cool shit when you summon them the only reason Naza sounded cool is that she more or less solo some folks on her own.
Pretty much the same underwhelming feeling of bodyswapping into a king of a land and realizing there's no cool features tied to it.
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

miauw62

  • Bay Watcher
  • Every time you get ahead / it's just another hit
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #25 on: June 14, 2014, 07:46:22 am »

There will be cool features in the future. Perhaps even in the very near future!
Logged

Quote from: NW_Kohaku
they wouldn't be able to tell the difference between the raving confessions of a mass murdering cannibal from a recipe to bake a pie.
Knowing Belgium, everyone will vote for themselves out of mistrust for anyone else, and some kind of weird direct democracy coalition will need to be formed from 11 million or so individuals.

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #26 on: June 14, 2014, 12:22:38 pm »

That said this opens up the possibility to more roleplay but currently the only thing I see summoning a god is to summon one that folks already worships.
Then again one could work out how to fiddle with legend mode and learn how to get folks to worship you.
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

Blastbeard

  • Bay Watcher
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #27 on: June 14, 2014, 03:07:47 pm »

Have you tried this with a regional force yet? Or perhaps a custom deity created with this script made by someone leeter than me?
Code: [Select]
-- Sets player-defined gods to correct civilizations.
 
--[[Here's an example of how to make a god:
 
[CREATURE:SHEOGORATH]
[DOES_NOT_EXIST]
[MALE]
[NAME:jovial man:Daedra:madness] "Sheogorath, madness god." "Often depicted as a jovial man"
[CASTE_NAME:Sheogorath:Sheogorath:Sheogorath]
[DESCRIPTION:The Daedric Prince of madness.]
[CREATURE_CLASS:DFHACK_GOD]
[SPHERE:MUSIC]
[SPHERE:ART]
[SPHERE:CHAOS]
 
]]
 
 
function findTemplateGodFig()
for k,fig in ipairs(df.global.world.history.figures) do
if fig.flags.deity then return fig end
end
end
 
function getCreatureClasses(creatureRaw)
local creatureClasses = {}
for _,caste in ipairs(creatureRaw.caste) do
for k,class in ipairs(caste.creature_class) do
table.insert(creatureClasses,class.value)
end
end
return creatureClasses
end
 
function deityIsOfSpecialCreature(creatureRaw)
for k,class in ipairs(getCreatureClasses(creatureRaw)) do
if class=="DFHACK_GOD" then return true end
end
return false
end
 
function scriptAlreadyRunOnThisWorld()
local figures = df.global.world.history.figures
for i=#figures-1,0,-1 do --goes through the table backwards because the particular hist figs involved are probably going to be the last
local figure = figures[i]
if not df.isnull(figure.flags) and figure.flags.deity and deityIsOfSpecialCreature(df.global.world.raws.creatures.all[figure.race]) then return true end
end
return false
end
 
function findAGod()
for k,fig in ipairs(df.global.world.history.figures) do
if fig.flags.deity then return fig end
end
return nil
end
 
function putListOfAllSpecialCreatureGodsTogether()
local specialCreatures = {}
for k,creatureRaw in ipairs(df.global.world.raws.creatures.all) do
if deityIsOfSpecialCreature(creatureRaw) then table.insert(specialCreatures,{creatureRaw,k}) end
end
return specialCreatures
end
 
local function stringStarts(String,Start)
return string.sub(String,1,string.len(Start))==Start
end
 
function getRacesOfGod(god)
local civList={}
for k,class in ipairs(getCreatureClasses(god)) do
if stringStarts(class,"WORSHIP_ENTITY_") then table.insert(civList,string.sub(class,15)) end
end
return civList
end
 
function entityIsInGodsDomain(entity,entityRacesTable)
for k,v in ipairs(entityRacesTable) do
if v==entity.entity_raw.code then return true end
end
return false
end
 
function setUpTemplate(godFig,templateGod)
godFig.appeared_year=-1
godFig.born_year=-1
godFig.born_seconds=-1
godFig.curse_year=-1
godFig.curse_seconds=-1
godFig.old_year=-1
godFig.old_seconds=-1
godFig.died_year=-1
godFig.died_seconds=-1
godFig.name.has_name=true
godFig.breed_id=-1
godFig.flags:assign(templateGod.flags)
godFig.id = df.global.hist_figure_next_id
godFig.info = df.historical_figure_info:new()
godFig.info.spheres={new=true}
godFig.info.secret=df.historical_figure_info.T_secret:new()
end
 
function setUpGod(god,godID,templateGod)
local godFig = df.historical_figure:new()
setUpTemplate(godFig,templateGod)
godFig.sex=god.caste[0].gender
godFig.race=godID
godFig.name.first_name=god.caste[0].caste_name[2] --the adjectival form of the caste_name is used for the god's name, E.G, [CASTE_NAME:god:god:armok]
for k,v in ipairs(god.sphere) do --assigning spheres
godFig.info.spheres:insert('#',v)
end
df.global.world.history.figures:insert('#',godFig)
df.global.hist_figure_next_id=df.global.hist_figure_next_id+1
return godFig
end
 
--[[this function isn't really working right now so it's dummied out
function setGodAsOfficialDeityOfItsParticularEntity(god,godFig)
local entityRaces=getRacesOfGod(god)
for k,entity in ipairs(df.global.world.entities.all) do
if entityIsInGodsDomain(entity,entityRaces) then
entity.unknown1b.worship:insert('#',godFig.id)
end
end
end
]]
function moddableGods()
if scriptAlreadyRunOnThisWorld() then print("Already run on world...") return false end
local gods = putListOfAllSpecialCreatureGodsTogether()
local templateGod=findAGod()
for k,v in ipairs(gods) do --creature raws first
local god = v[1]
local godID = v[2]
local godFig = setUpGod(god,godID,templateGod)
--setGodAsOfficialDeityOfItsParticularEntity(god,godFig)
end
end
 
 
dfhack.onStateChange.letThereBeModdableGods = function(state)
if state == SC_WORLD_LOADED and df.global.gamemode~=3 then --make sure that the gods show up only after the rest of the histfigs do
moddableGods()
end
end
 
dfhack.onStateChange.letThereBeModdableGods()

What I'm wondering is why all the townies treat the summoned deities like they just stomped on a cat. Maybe they're taking an opportunity to get back at one responsible for creating all the vampires and werebeasts they fear?
Logged
I don't know how it all works, I just throw molten science at the wall and see what ignites.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #28 on: June 14, 2014, 09:03:03 pm »

Attaching a unit to an entirely fabricated hist fig? Ooh.

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: So I summoned a diety into the mortal realm...
« Reply #29 on: June 14, 2014, 10:04:44 pm »

ehh I'm not diving any deeper into this than I already have... also I haven't figure out how to use moddableGods in the first place,
My main idea is the 2 gods I summoned were hostile races gods, who are non compatible with the dumb bandit human peasants. IF I found a human bandit god and shove that into a human peasants then they would be more friendly.
but yeah that's my stint into this, I'm off trying to coax folks into a blood rage and messing with Conversations now.
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes
Pages: 1 [2] 3