Bay 12 Games Forum

Please login or register.

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

Author Topic: Holidays  (Read 9091 times)

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #75 on: September 28, 2019, 04:44:12 pm »

I'd advice to do a pop-up window, like a megabeast visit, instead of a the announcement window. It's a bit less intrusive.

done :)



brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #76 on: September 28, 2019, 05:07:34 pm »

Well that was a dumb error lol

I realized that I was calling:  holiday_shamrock_thoughts()

The function was: function holiday_thoughts_shamrock()

initializing shamrock holiday
initializing shamrock countdown
shamrock tick:  19200   current tick:   16800   ticks to shamrock:      2400
calibrating leprechaun position
leprechaun positioning: [ 106 180 155 ]
extracting holiday thoughts
merrymakers thinking:    7
C:\Users\bro\Desktop\df_44_12_win\hack\lua\utils.lua:603: bad argument #1 to 'sub' (string expected, got userdata)
stack traceback:
        [C]: in function 'string.sub'
        C:\Users\bro\Desktop\df_44_12_win\hack\lua\utils.lua:603: in function 'utils.processArgs'
        ...\bro\Desktop\df_44_12_win/hack/scripts/add-thought.lua:70: in local 'script_code'
        C:\Users\bro\Desktop\df_44_12_win\hack\lua\dfhack.lua:680: in function 'dfhack.run_script_with_env'
        (...tail calls...)
        ...a\Desktop\df_44_12_win/hack/scripts/holiday_shamrock.lua:61: in global 'holiday_shamrock_thoughts'
        ...a\Desktop\df_44_12_win/hack/scripts/holiday_shamrock.lua:20: in function <...a\Desktop\df_44_12_win/hack/scripts/holiday_shamrock.lua:16>


Code: [Select]
print("initializing shamrock holiday")

function holiday_shamrock_countdown()
 local year_tick_total = 1200*28*12
 local current_tick = df.global.cur_year_tick
 local date_shamrock = 1200*(0*28+16)
 local ticks = date_shamrock - current_tick
 if ticks < 0 then
  ticks = ticks + year_tick_total
 end
 print("initializing shamrock countdown")
 print("shamrock tick:", date_shamrock, "current tick:", current_tick, "ticks to shamrock:", ticks)
 dfhack.timeout(ticks+1,'ticks',holiday_shamrock)
end

function holiday_shamrock()
 pos = getPositionSurface()
 print("leprechaun positioning:", '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]')
 dfhack.run_command("modtools/create-unit -race holiday_LEPRECHAUN -caste MALE -name PLAINS -location " .. '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]')
 holiday_shamrock_thoughts()
 dfhack.gui.showPopupAnnouncement("The Shamrock Holiday has come! A day of mischief and merriment, this festival celebrates the middle of Spring, when day and night are equal. Keep a watchful eye and guard your valuables. This is the day of the leprechaun!", COLOR_WHITE , true )
 holiday_shamrock_countdown()
end

function getPositionSurface()
 print("calibrating leprechaun position")
 local rand = dfhack.random.new()
 local mapx, mapy, mapz = dfhack.maps.getTileSize()
 randx = rand:random(mapx)
 randy = rand:random(mapy)
 local pos = {}
 pos.x = randx
 pos.y = randy
 pos.z = mapz - 1
 local j = 0
 while dfhack.maps.ensureTileBlock(pos.x,pos.y,pos.z-j).designation[pos.x%16][pos.y%16].outside do
  j = j + 1
 end
 pos.z = pos.z - j + 1
 return pos
end

function holiday_shamrock_thoughts()
 print("extracting holiday thoughts")
 local units = {}
 local n = 0
 for i,unit in pairs(df.global.world.units.active) do
  if dfhack.units.isDwarf(unit) then
    n = n + 1
    units[n] = unit
  end
 end
 print("merrymaker thinking:",n)
 while n > 0 do
  local holiday_thought_type = math.random(4)
  if (holiday_thought_type == 1) then
   dfhack.run_script("add-thought", "-unit",units[n],"-thought","ENJOYMENT","-severity",1)
  elseif (holiday_thought_type == 2) then
   dfhack.run_script("add-thought", "-unit",units[n],"-thought","AMUSEMENT","-severity",1)
  elseif (holiday_thought_type == 3) then
   dfhack.run_script("add-thought", "-unit",units[n],"-thought","DELIGHT","-severity",1)
  elseif (holiday_thought_type == 4) then
   -- no thought
  end
  units[n] = nil
  n = n - 1
 end
end

holiday_shamrock_countdown()

So, I changed the code to match the dfhack.run_command (like the create-unit) and got the following error:

initializing shamrock holiday
initializing shamrock countdown
shamrock tick:  19200   current tick:   16800   ticks to shamrock:      2400
calibrating leprechaun position
leprechaun positioning: [ 167 133 177 ]
extracting holiday thoughts
merrymakers thinking:   7
add-thought -unit is not a recognized command.
add-thought -unit is not a recognized command.
add-thought -unit is not a recognized command.
add-thought -unit is not a recognized command.
add-thought -unit is not a recognized command.
add-thought -unit is not a recognized command.

initializing shamrock countdown
shamrock tick:  19200   current tick:   19201   ticks to shamrock:      403199

Code: [Select]
print("initializing shamrock holiday")

function holiday_shamrock_countdown()
 local year_tick_total = 1200*28*12
 local current_tick = df.global.cur_year_tick
 local date_shamrock = 1200*(0*28+16)
 local ticks = date_shamrock - current_tick
 if ticks < 0 then
  ticks = ticks + year_tick_total
 end
 print("initializing shamrock countdown")
 print("shamrock tick:", date_shamrock, "current tick:", current_tick, "ticks to shamrock:", ticks)
 dfhack.timeout(ticks+1,'ticks',holiday_shamrock)
end

function holiday_shamrock()
 pos = getPositionSurface()
 print("leprechaun positioning:", '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]')
 dfhack.run_command("modtools/create-unit -race holiday_LEPRECHAUN -caste MALE -name PLAINS -location " .. '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]')
 holiday_shamrock_thoughts()
 dfhack.gui.showPopupAnnouncement("The Shamrock Holiday has come! A day of mischief and merriment, this festival celebrates the middle of Spring, when day and night are equal. Keep a watchful eye and guard your valuables. This is the day of the leprechaun!", COLOR_WHITE , true )
 holiday_shamrock_countdown()
end

function getPositionSurface()
 print("calibrating leprechaun position")
 local rand = dfhack.random.new()
 local mapx, mapy, mapz = dfhack.maps.getTileSize()
 randx = rand:random(mapx)
 randy = rand:random(mapy)
 local pos = {}
 pos.x = randx
 pos.y = randy
 pos.z = mapz - 1
 local j = 0
 while dfhack.maps.ensureTileBlock(pos.x,pos.y,pos.z-j).designation[pos.x%16][pos.y%16].outside do
  j = j + 1
 end
 pos.z = pos.z - j + 1
 return pos
end

function holiday_shamrock_thoughts()
 print("extracting holiday thoughts")
 local units = {}
 local n = 0
 for i,unit in pairs(df.global.world.units.active) do
  if dfhack.units.isDwarf(unit) then
    n = n + 1
    units[n] = unit
  end
 end
 print("merrymakers thinking:",n)
 while n > 0 do
  local holiday_thought_type = math.random(4)
  if (holiday_thought_type == 1) then
   dfhack.run_command("add-thought -unit" , ' ..units[n].. ' , "-thought ENJOYMENT -severity 1")
  elseif (holiday_thought_type == 2) then
   dfhack.run_command("add-thought -unit" , ' ..units[n].. ' , "-thought AMUSEMENT -severity 1")
  elseif (holiday_thought_type == 3) then
   dfhack.run_command("add-thought -unit" , ' ..units[n].. ' , "-thought DELIGHT -severity 1")
  elseif (holiday_thought_type == 4) then
   -- no thought
  end
  units[n] = nil
  n = n - 1
 end
end

holiday_shamrock_countdown()

EDIT: I was thinking it could be the following, but it didn't like that one either.

Code: [Select]
dfhack.run_command("add-thought" , ' ..tostring(units[n]).. ' ,  DELIGHT 1")
I'll keep messing with it. Once I get these thoughts working and the mischievous/curiousitem tags working the Shamrock holiday should be done :)
« Last Edit: September 28, 2019, 05:30:28 pm by brolol.404 »
Logged

Roses

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #77 on: September 28, 2019, 05:52:42 pm »

Your original code units[n] needs to be units[n].id (or you need to replace units[n] = unit with units[n] = unit.id), since you need to pass the id of the unit not the unit struct.

Your attempt at updating was almost correct, but run_command needs a single string so
Quote
dfhack.run_command("add-thought -unit " ..tostring(units[n].id).." -thought ENJOYMENT -severity 1")
Note the addition of spaces since concatenating strings with .. doesn't add spaces. Also note that units[n] is again units[n].id (and that tostring() was used to change it to a string value since lua doesn't have automatic type changing like some other languages)

EDIT: Also you shouldn't need -civID -1 because that is the default if you don't specify a -civID but for future reference, negative numbers need to be prepended by '\'
« Last Edit: September 28, 2019, 06:03:35 pm by Roses »
Logged

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #78 on: September 28, 2019, 06:29:24 pm »

Your original code units[n] needs to be units[n].id (or you need to replace units[n] = unit with units[n] = unit.id), since you need to pass the id of the unit not the unit struct.

thanks. So, just in the run_script statement like this to pull out the id from the table? Or do all of the units[n] need to be changed over?

Code: [Select]
  if (holiday_thought_type == 1) then
   dfhack.run_script("add-thought", "-unit",units[n].id,"-thought","ENJOYMENT","-severity",1)
  elseif (holiday_thought_type == 2) then
   dfhack.run_script("add-thought", "-unit",units[n].id,"-thought","AMUSEMENT","-severity",1)
  elseif (holiday_thought_type == 3) then
   dfhack.run_script("add-thought", "-unit",units[n].id,"-thought","DELIGHT","-severity",1)
  elseif (holiday_thought_type == 4) then
   -- no thought

EDIT: Also you shouldn't need -civID -1 because that is the default if you don't specify a -civID but for future reference, negative numbers need to be prepended by '\'

Interesting thanks. I wonder why he is friendly then if he isn't part of the civ or group. Maybe it is because he is benign and intelligent. I will try removing the intelligent tag since he doesn't need it anyway.

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #79 on: September 28, 2019, 07:17:22 pm »

Awesome. No errors :)

However, unfortunately, although the thoughts function no longer gives any errors. It also doesn't seem to give anyone any thoughts.

Code: [Select]
print("initializing shamrock holiday")

function holiday_shamrock_countdown()
 local year_tick_total = 1200*28*12
 local current_tick = df.global.cur_year_tick
 local date_shamrock = 1200*(0*28+16)
 local ticks = date_shamrock - current_tick
 if ticks < 0 then
  ticks = ticks + year_tick_total
 end
 print("initializing shamrock countdown")
 print("shamrock tick:", date_shamrock, "current tick:", current_tick, "ticks to shamrock:", ticks)
 dfhack.timeout(ticks+1,'ticks',holiday_shamrock)
end

function holiday_shamrock()
 pos = getPositionSurface()
 print("leprechaun positioning:", '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]')
 dfhack.run_command("modtools/create-unit -race holiday_LEPRECHAUN -caste MALE -name PLAINS -location " .. '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]')
 holiday_shamrock_thoughts()
 dfhack.gui.showPopupAnnouncement("The Shamrock Holiday has come! A day of mischief and merriment, this festival celebrates the middle of Spring, when day and night are equal. Keep a watchful eye and guard your valuables. This is the day of the leprechaun!", COLOR_WHITE , true )
 holiday_shamrock_countdown()
end

function getPositionSurface()
 print("calibrating leprechaun position")
 local rand = dfhack.random.new()
 local mapx, mapy, mapz = dfhack.maps.getTileSize()
 randx = rand:random(mapx)
 randy = rand:random(mapy)
 local pos = {}
 pos.x = randx
 pos.y = randy
 pos.z = mapz - 1
 local j = 0
 while dfhack.maps.ensureTileBlock(pos.x,pos.y,pos.z-j).designation[pos.x%16][pos.y%16].outside do
  j = j + 1
 end
 pos.z = pos.z - j + 1
 return pos
end

function holiday_shamrock_thoughts()
 print("extracting holiday thoughts")
 local units = {}
 local n = 0
 for i,unit in pairs(df.global.world.units.active) do
  if dfhack.units.isDwarf(unit) then
    n = n + 1
    units[n] = unit
  end
 end
 print("merrymakers thinking:",n)
 while n > 0 do
  local holiday_thought_type = math.random(4)
  if (holiday_thought_type == 1) then
   dfhack.run_script("add-thought", "-unit",units[n].id,"-thought","ENJOYMENT","-severity",1)
  elseif (holiday_thought_type == 2) then
   dfhack.run_script("add-thought", "-unit",units[n].id,"-thought","AMUSEMENT","-severity",1)
  elseif (holiday_thought_type == 3) then
   dfhack.run_script("add-thought", "-unit",units[n].id,"-thought","DELIGHT","-severity",1)
  elseif (holiday_thought_type == 4) then
   -- no thought
  end
  units[n] = nil
  n = n - 1
 end
end

holiday_shamrock_countdown()

I removed INTELLIGENT from the leprechaun and now CURIOUSBEAST_ITEM and MISCHIEVOUS work too. The leprechaun is not invisible though, so I will have to go back and work that.

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Holidays
« Reply #80 on: September 28, 2019, 09:36:46 pm »

Hm, good to know that intelligent prevents tag-based stealing (should still be able to make intelligent stealers based on goblin thieves, though)? There's still been some vanilla issues with polar bear men that I recall.

You can make it invisible with -flagSet [ hidden_in_ambush ] when creating it (the Shamrock will still be listed under cursor then for the moment unless you also pair it with dfhack.gui.refreshSidebar())


Looking at add-thought code, it accepts five-six arguments - and ENJOYMENT isn't included in :lua @df.unit_thought_type, which has things like "Talked" (it is in df.emotion_type, which would be specified with -emotion).

Also, it expects numbers, so the console form would be like
Code: [Select]
add-thought -unit 8026 -emotion 55 -thought 165 -subthought 1 -severity 1To make unit 8026 feel enjoyment when talking with spouse.

(You can get the numbers by df.unit_thought_type.Talked and df.emotion_type.ENJOYMENT)

Roses: Good catch with pos.
« Last Edit: September 28, 2019, 09:39:59 pm by Fleeting Frames »
Logged

Enemy post

  • Bay Watcher
  • Modder/GM
    • View Profile
Re: Holidays
« Reply #81 on: September 29, 2019, 11:31:46 am »

That pop-up announcement looks great.
Logged
My mods and forum games.
Enemy post has claimed the title of Dragonsong the Harmonic of Melodious Exaltion!

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #82 on: September 29, 2019, 12:07:47 pm »

That pop-up announcement looks great.

thanks :)

Hm, good to know that intelligent prevents tag-based stealing (should still be able to make intelligent stealers based on goblin thieves, though)? There's still been some vanilla issues with polar bear men that I recall.

I am guessing that it works with intelligent creatures if they are hostile (the civ is at war), but friendly intelligent creatures don't even trigger traps. I could be wrong though.

You can make it invisible with -flagSet [ hidden_in_ambush ] when creating it (the Shamrock will still be listed under cursor then for the moment unless you also pair it with dfhack.gui.refreshSidebar())

Did I add this wrong? There are no errors, but the leprechaun doesn't start invisible.

Code: [Select]
dfhack.run_command("modtools/create-unit -race holiday_LEPRECHAUN -caste MALE -name PLAINS -location " .. '[ ' ..tostring(pos.x)..' '..tostring(pos.y)..' '..tostring(pos.z).. ' ]' .. "-flagSet [ hidden_in_ambush ]")
dfhack.gui.refreshSidebar()

(You can get the numbers by df.unit_thought_type.Talked and df.emotion_type.ENJOYMENT)

Where is this exactly? I don't see it in any of the script files and I can't find it in the df variables or df hack functions. It's also not a df hack command? I'm not sure how to look these numbers up. Related, where is df.unit_flags2? I can't seem to find these files/lists.

EDIT: Is there a way to remove a creature by the way? Not kill it but just make it leave or remove it? I'm thinking of deleting the leprechaun after a couple weeks
« Last Edit: September 29, 2019, 05:15:56 pm by brolol.404 »
Logged

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #83 on: September 29, 2019, 01:53:58 pm »

I am thinking of making thanksgiving the hunting festival where a huge creature spawns in the wild that can be hunted and butchered for a lot of meat. I am planning on making a couple of unique creatures and one is randomly chosen a year. Should these creatures just be huge benign sacks of meat or should they put up a challenge? Should they just be fast and dodgy like the leprechaun or should they actually put up a fight? If they do put up a fight how strong should they be? I could use inspiration from cryptids/creatures of the lumberwoods like the hugag or I could make some new creatures like a giant dodo looking bird (similar to a jabberer) or even a giant turkey like creature. Thoughts?

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: Holidays
« Reply #84 on: September 29, 2019, 02:49:21 pm »

Maybe use existing DF creatures that are rare. How many yetis, sasquatches or unicorns have you actually seen ingame?
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 :::

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #85 on: September 29, 2019, 04:15:08 pm »

Maybe use existing DF creatures that are rare. How many yetis, sasquatches or unicorns have you actually seen ingame?

That's a good idea. Those don't really feel like Thanksgiving (or hunting) creatures though. I could spawn a unicorn around easter, a yeti around Christmas and a sasquatch sometime in the summer though.

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Holidays
« Reply #86 on: September 29, 2019, 06:06:25 pm »

Quote
I am thinking of making thanksgiving the hunting festival where a huge creature spawns in the wild that can be hunted and butchered for a lot of meat. I am planning on making a couple of unique creatures and one is randomly chosen a year. Should these creatures just be huge benign sacks of meat or should they put up a challenge? Should they just be fast and dodgy like the leprechaun or should they actually put up a fight? If they do put up a fight how strong should they be? I could use inspiration from cryptids/creatures of the lumberwoods like the hugag or I could make some new creatures like a giant dodo looking bird (similar to a jabberer) or even a giant turkey like creature. Thoughts?
You could simply take a regular turkey, and apply syndrome to it that gives larger size, more strength, etc.

But more interestingly, a hunting festival? Could make sure that the reward, whatever it may be, could be granted only if killed by a hunter(or bolt), or that all damage other than instant kills or hunting bolts are healed the next step.

I also imagine someone might want to capture the creatures instead of killing them. For some of these enemies looking at gremlin and borrowing it's free creature from cage behaviour might be appropriate, but this would be pretty much bonus.
Quote
Did I add this wrong? There are no errors, but the leprechaun doesn't start invisible.
You're lacking a space between closing ] of location and start of -flagSet.

Quote
Where is this exactly? I don't see it in any of the script files and I can't find it in the df variables or df hack functions. It's also not a df hack command? I'm not sure how to look these numbers up. Related, where is df.unit_flags2? I can't seem to find these files/lists.
As I hinted, you can see them by, for example, :lua @df.unit_thought_type. Yes, they don't appear when just browsing "df" with gui/gm-editor.

Alternatively, you can see them when browsing places like dfhack.gui.getSelectedUnit().status.current_soul.personality.emotions[0] and dfhack.gui.getSelectedUnit().flags2 - for the first, gui/gm-editor pulls the valid options from such lists.

Quote
EDIT: Is there a way to remove a creature by the way? Not kill it but just make it leave or remove it? I'm thinking of deleting the leprechaun after a couple weeks

Simple way to do this is setting the deceptively named .flags1.forest to true. If you do this on your own dwarves, they may come back as visitor immediatelly though. emigration script might contain a better way. Speculation: the left in flags1 and killed and cleanup flags in flags2 may provide immediate disappearance.
« Last Edit: September 29, 2019, 06:11:28 pm by Fleeting Frames »
Logged

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #87 on: September 29, 2019, 07:03:41 pm »

You're lacking a space between closing ] of location and start of -flagSet.

Thanks. I'll try this out.

You could simply take a regular turkey, and apply syndrome to it that gives larger size, more strength, etc.

But more interestingly, a hunting festival? Could make sure that the reward, whatever it may be, could be granted only if killed by a hunter(or bolt), or that all damage other than instant kills or hunting bolts are healed the next step.

I also imagine someone might want to capture the creatures instead of killing them. For some of these enemies looking at gremlin and borrowing it's free creature from cage behaviour might be appropriate, but this would be pretty much bonus.

Cool ideas :) I'll use a big turkey (maybe call it an Autumn Turkey or something) could also summon a few other regular turkeys with it.  Could even make it so you cant tell which turkey is the Autumn Turkey until you have shot at it or make it start invisible so you have to go out and look for it. I like the idea of requiring hunting and with a bolt, but this could be hard to explain lore wise lol maybe the turkey is summoned by a deity to test hunters skill?

As I hinted, you can see them by, for example, :lua @df.unit_thought_type. Yes, they don't appear when just browsing "df" with gui/gm-editor.

Alternatively, you can see them when browsing places like dfhack.gui.getSelectedUnit().status.current_soul.personality.emotions[0] and dfhack.gui.getSelectedUnit().flags2 - for the first, gui/gm-editor pulls the valid options from such lists.

I guess I just don't understand what this means. Do I plug ":lua @df.unit_thought_type" in like a df hack command or is this in the scripts folder somewhere as a lua file? Do I have to download a gui/gm-editor? Is this part of df hack or do I need to get one? After I get a gui/gm-editor how do I browse places like dfhack.gui.getSelectedUnit().status.current_soul.personality.emotions[0] and dfhack.gui.getSelectedUnit().flags2?

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Holidays
« Reply #88 on: September 29, 2019, 07:52:52 pm »

Yeah, lore reasons was the reason I thought of limiting it to hunting. As far as "killed with a bolt" goes, wound editing is going to be much more difficult than just checking if the turkey was shot to death, JSYK.

Having the turkey's appear same under loo'k' is an amusing idea, it's not like body size is displayed there. Going to be easily visible in Armok vision though (though there is the tag to nerf all damage taken in shown on werebeast examples) :v


And yeah, it's a dfhack command. You've already downloaded gui/gm-editor when you downloaded dfhack, it's also a dfhack command (for script gm-editor in hack/scripts/gui folder). Also you browse them by selecting an unit and giving that to gui/gm-editor as an argument (since said script is coded to accept lua commands as arguments), or just by selecting an unit, running gui/gm-editor (which looks at what you have selected when you give it no arguments), and navigating to those places with your arrow keys and enter.
« Last Edit: September 29, 2019, 07:56:30 pm by Fleeting Frames »
Logged

brolol.404

  • Bay Watcher
    • View Profile
Re: Holidays
« Reply #89 on: September 30, 2019, 09:41:06 am »

Yeah, lore reasons was the reason I thought of limiting it to hunting. As far as "killed with a bolt" goes, wound editing is going to be much more difficult than just checking if the turkey was shot to death, JSYK.

Having the turkey's appear same under loo'k' is an amusing idea, it's not like body size is displayed there. Going to be easily visible in Armok vision though (though there is the tag to nerf all damage taken in shown on werebeast examples) :v


And yeah, it's a dfhack command. You've already downloaded gui/gm-editor when you downloaded dfhack, it's also a dfhack command (for script gm-editor in hack/scripts/gui folder). Also you browse them by selecting an unit and giving that to gui/gm-editor as an argument (since said script is coded to accept lua commands as arguments), or just by selecting an unit, running gui/gm-editor (which looks at what you have selected when you give it no arguments), and navigating to those places with your arrow keys and enter.

Thanks. I'll check this out when I get a chance.

So, I decided to brighten up spring a bit with more color. This is what I am thinking of adding to SPRING to the temperate biomes:

GRASS:
clovers (bright green, white)
daisies (white, yellow, bright red, bright purple)
dandelions (white, yellow, bright green)
poppies (white, bright red, yellow)
bluebells (bright purple, bright blue)
tulip (white, yellow, bright red, bright purple)

(Each of these will have at least two variations. One that has smaller clusters and another rarer version that creates large fields of the "grass".)

VERMIN:
ladybug
hummingbird
swallowtail butterfly
emperor butterfly
birdwing butterfly
lacewing butterfly
adonis butterfly

thoughts, ideas, suggestions?
Pages: 1 ... 4 5 [6] 7 8