| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Social distancing? Try a better way to work remotely on your online files. Dokkio, a new product from PBworks, can help your team find, organize, and collaborate on your Drive, Gmail, Dropbox, Box, and Slack files. Sign up for free.

View
 

Adding New Artifacts

Page history last edited by James Koppel 1 year, 11 months ago

This guide is current as of 6/26/2018. At the moment, all artifacts require custom C++ code. We are discussing ways to add new artifacts via only scripting.

 

What you need

 

  • Art:
    • A 64x64 image, the main artifact image
    • A 32x32 "icon" image, used in the hero trading screen
    • 2 32x32 adventure map tiles, representing the object and its shadow 
  • Name, description, and event text
  • Ability to add code to implement features 

 

Steps

 

  1. Add a new entry to artifacts.xml, similar to the others already there. You'll need to provide its name and description, and the text that appears when a player picks it up on the adventure map. Use the next available ID and remember it.
    1. Of note is the artifact level: treasure, minor, major, or ultimate. This affects which random events may give this artifact. 
  2. Following the guide in Adding Artwork, add the art:
    1. The 64x64 image goes in ARTIFACT.icn. This image should receive the index (artifact ID)+1.
    2. The 32x32 icon goes in ARTFX.icn.  This image should receive the index (artifact ID).
    3. The adventure map tiles go in OBJNARTI.icn. The shadow tile receives the index 2*(artifact ID). The main tile receives the index 2*(artifact ID)+1.
  3. Implement the code. Currently, artifacts are implemented by scattering a number of hero::HasArtifact checks throughout the codebase. Examples:
    1. hero::GetSSLevel implements the Spade of Necromancy ability.
    2. hero::CalcMobility implements the Traveler's Boots of Mobility, the Nomad Boots of Mobility, and the True Compass of Mobility
    3. combatManager::ModifyDamageForArtifacts implements 8 different artifact abilities  
  4. Add a scripting constant for the new artifact: https://github.com/jkoppel/project-ironfist/blob/master/src/cpp/shared/scripting/consts.cpp  
  5. Add it to the map editor. See Adding Map Overlays

Comments (0)

You don't have permission to comment on this page.